INFRASTRUCTURE

MODULE 4: CLUSTER SCHEDULING & ORCHESTRATION · SCENE 13

Gang scheduling & all-or-nothing allocation

Why distributed AI jobs cannot tolerate partial scheduling: deadlock prevention, Kueue/Volcano admission controllers, and Slurm reservations.

CLUSTER STATUS
2 JOBS RUNNING (1 QUEUED)
Allocated: 48 / 64 GPUs
ALLOCATION MECHANISM

All 24 ranks scheduled simultaneously. If full quota is unavailable, job waits in queue without holding GPUs idle.

ARCHITECTURE & FORMULATIONModule 4: Cluster Scheduling & Orchestration

Gang Scheduling & All-or-Nothing Allocation

Distributed training jobs possess a strict atomic scheduling requirement: either all N worker pods start simultaneously, or none should start. Partial scheduling causes deadlocks where multiple jobs hold parts of the cluster while waiting indefinitely for missing ranks.

The Distributed Deadlock Problem

Job A acquires 40 of 64 nodes; Job B acquires 24 of 64 nodes. Neither job can start execution because distributed collective communicators require all ranks to initialize. Both jobs hold GPUs idle forever without gang scheduling.

Kubernetes Kueue & Volcano Schedulers

Kueue and Volcano provide admission control and gang reservation in Kubernetes. Workloads wait in logical priority queues until the complete quota of GPU resources is available in a single atomic scheduling transaction.

Slurm Job Arrays & Heterogeneous Reservations

In HPC environments, Slurm manages exclusive node reservations with strict time limits, ensuring all ranks in an sbatch job allocation initialize concurrently.

MATHEMATICAL FORMULATION · CLUSTER STARVATION RISK MODEL
P_deadlock = 1 − ∏[1 − (U_j / C_total)] (without atomic gang admission)

Without gang scheduling, as cluster utilization U increases toward capacity C_total, the probability of multiple competing distributed jobs entering an unresolvable partial allocation state approaches 1.0.

REAL-WORLD PRODUCTION ENGINEERING
  • Configure Kueue LocalQueues and ClusterQueues with strict queue preemption rules to allow high-priority pretraining jobs to preempt development runs.
  • Set pod-group minMember annotations in Volcano to match total distributed world size (world_size = nodes * 8).
  • Implement automated watchdog timers: terminate and requeue any job that fails to complete NCCL rank handshake within 120 seconds of pod creation.
Agent-native web · research mode

Experimental WebMCP · evolving community-group draft, not a W3C Standard or on the Standards Track.

Native status: Initializing. Registered: none

DOM → inferred capabilities · WebMCP → declared capabilities. Tools read real CUDA/Inference Atlas content. Calls may highlight temporary UI state. No backend or remote telemetry.

Local harness verifies application logic; it does not demonstrate native discovery or a browser agent.

Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Local log: last 100 calls while this panel is open. Inputs may contain personal text; review before sharing.

[]