AIARCOASC Docs

Atlas Scheduler

Batch scheduler with gang scheduling, MPI and NCCL. Runs on top of Managed Kubernetes.

What it is

Atlas Scheduler is a Kubernetes operator that adds first-class batch semantics on top of clusters: gang scheduling (all pods or none), queue prioritisation, preemption, MPI and NCCL launcher CRDs. Use it when your training job needs N nodes simultaneously, or when you want a fair-share queue across teams.

When to use it

  • Multi-node distributed training: all-or-nothing pod placement.
  • Shared cluster across multiple teams with quota + fair-share.
  • Long batch queues where small jobs need to skip past big ones.

Quickstart

asc scheduler install --cluster prod
kubectl apply -f - <<'YAML'
apiVersion: batch.aiarco.com/v1
kind: GangJob
metadata: { name: train-7b }
spec:
  replicas: 16
  gpu: h100
  command: ["torchrun", "--nproc-per-node=8", "train.py"]
YAML
client.scheduler.submit_gang_job(cluster='prod', name='train-7b', replicas=16, gpu='h100', command=['torchrun','--nproc-per-node=8','train.py'])
await client.scheduler.submitGangJob({ cluster: 'prod', name: 'train-7b', replicas: 16, gpu: 'h100', command: ['torchrun','--nproc-per-node=8','train.py'] });

Limits & quotas

LimitDefaultBurstNotes
Queues per cluster32
Max replicas per gang1,024Lift via sales
Preemption grace60 sConfigurable per queue

Pricing

See pricing. Pay-as-you-go, billed monthly via Stripe.

API surface

  • POST /v1/atlas/scheduler/jobs
  • GET /v1/atlas/scheduler/jobs/{id}

Required scope(s): scheduler:write. See Scopes.

Security

All access is authenticated and scoped. See Auth & scopes and Network controls.