Sia: Heterogeneity-aware, goodput-optimized ML-cluster scheduling — Detailed Summary

Suhas Jayaram Subramanya, Daiyaan Arfeen, Shouxu Lin, Aurick Qiao, Zhihao Jia, Gregory R. Ganger | Carnegie Mellon University / Cornell University / Petuum Inc. | SOSP '23, Koblenz, Germany, October 23–26, 2023 | DOI: 10.1145/3600006.3613175

Per-section summary organized by the paper's own headings. Each section gives paragraph-level bullet points and preserves the paper's exact quantitative results, equations, and named methods.

"In Egyptian mythology, Sia is the god of perception/intelligence, not to be confused with the popular music artist."


Abstract

Metric Improvement (abstract)
Average JCT 30–93% lower
p99 JCT and makespan 28–95% lower
GPU hours used 12–55% lower

1. Introduction

Setting.

Partitioning of prior work (the gap).

Figure 1 — the motivating three-scenario comparison.

Conceptual statement of Sia.

Two fundamental challenges.

  1. Search-space size. Huge for a sizable cluster, and much worse when multiple GPU types exist and each job can use any number of GPUs of any type.
  2. Per-job heterogeneity in scaling behavior. Different DL jobs experience different performance changes across GPU types, across GPU counts, and in the interaction of the two (different GPU types have distinct compute-to-network-bandwidth ratios) — yet profiling every job on every possible allocation is prohibitively expensive.

Sia's two answers.

Evaluation preview.

Summary of results claimed in the Introduction.

Metric Improvement (Introduction)
Average JCT 30–93% lower
p99 JCT 28–95% lower
Makespan 38–65% lower
GPU hours used 12–60% lower
Worst-case finish-time fairness 64% lower
Unfair job fraction 99% lower

Five stated contributions.

  1. Exposes a gap in state-of-the-art schedulers that leaves a large untapped opportunity.
  2. Introduces Sia, with an ILP formulation addressing the compounded complexity of heterogeneous GPU types and job adaptivity.
  3. Shows per-job per-GPU-type throughput models can be bootstrapped from just a few mini-batches and then refined as the job runs in Sia-optimized configurations.
  4. Presents the first cluster scheduler able to elastically scale hybrid parallel jobs.
  5. Shows Sia matches state-of-the-art schedulers in their target domains and significantly outperforms them in the union of those domains.

DL training jobs as a scheduling workload.

Data parallelism.

Model parallelism and hybrid parallelism.

Elastic and resource-adaptive DL jobs.

Resource heterogeneity.

Figure 2. Goodput scaling vs. GPU count for different (GPU type, job) combinations, with goodput shown relative to single-T4 goodput; different DL jobs experience different speedups and different scalability.

DL cluster schedulers in practice.

Claim. To the authors' knowledge, no prior scheduler optimizes assignments for resource-adaptive jobs on a heterogeneous DL cluster. Prior work is grouped by unaddressed aspect.

(a) Heterogeneous clusters, no resource-adaptive jobs.

(b) Elastic/resource-adaptive jobs, no heterogeneity.

(c) Rigid jobs on homogeneous clusters.

(d) Parallelism optimizers that are not cluster schedulers.


3. Sia Design and Implementation

Sia is a pre-emptive, round-based scheduler that optimizes allocations for a set of jobs to maximize cluster-wide goodput. Each round, jobs receive bundles of resources (CPU, GPU, network — like VMs in the cloud), and Sia uses checkpoint-restore preemption to realize job adaptivity.

3.1 Sia components and job life cycle

Figure 3 job lifecycle (steps 1–8).

Goodput Estimator composition. Sia's own throughput model plus a statistical efficiency model borrowed from Pollux.

Adaptive Executors support three things:

  1. Transparent checkpoint-restore for low-overhead preemption and resource scaling.
  2. Batchsize adaptivity to maximize statistical efficiency.
  3. Frequent reporting of gradient and throughput statistics for the current allocation (default = 30 seconds).

Heterogeneous execution. GPU memory capacity, interconnect speeds, and throughput are modeled in the Goodput Estimator. Gradient accumulation is used when statistical efficiency dictates a higher batchsize than GPU memory supports, so goodput is optimized over a larger range of per-GPU batchsizes for larger-memory GPUs.

Job scaling policy. Simple scale-up rule: start each job with exactly 1 GPU, and scale it up by at most 2× per scheduling round. If a job requires min_ngpus to start, Sia respects that minimum and ignores smaller allocations. Jobs may be scaled down to min_ngpus to fit more jobs, as determined by the scheduling objective.

Decoupled allocation and placement. Sia splits the problem into:

Placer's three rules.

3.2 Bootstrapping of throughput models

Initial profiling.

Refinement sequence.

Cross-GPU-type bootstrapping (Equation 1).

                     xput_B(1)
est-xput_B(N)  =  ------------- * xput_A(N)                        (1)
                     xput_A(1)

3.3 Configurations

Construction. For a cluster with N physical nodes and R GPUs of type X per node:

C = { (1, 2^0, X), (1, 2^1, X), ..., (1, R, X) }          <- single-node
    U
    { (2, 2R, X), ..., (N, N*R, X), n in N }              <- multi-node

Complexity reduction.

Scheduler Configuration/search space per job
Pollux full (GPU count × placement) space, O(N^R)
Sia restricted set of size (N + log₂ R)

3.4 Scheduler objective

Running example. A heterogeneous cluster with (a) one node of 2 GPUs of type A and (b) one node of 4 GPUs of type B. Jobs J = {J1, J2}, each requiring a minimum of 1 GPU.

Valid configurations. C = {(1,1,A), (1,2,A), (1,1,B), (1,2,B), (1,4,B)}. Assigning c = (n, m, X) means the job runs with m GPUs of type X split across n nodes. A job receives either no resources in a round, or exactly one valid configuration.

Goodput estimation.

Normalized goodput matrix. For each job J_i with minimum required GPU count N_i^min:

G_ij  <-  N_i^min * ( G_ij / min_j G_ij )

Table 1 — normalized goodput matrix G for the running example (boxed entries = the allocation maximizing the goodput sum):

(1,1,A) (1,2,A) (1,1,B) (1,2,B) (1,4,B)
J1 1 1 2 3 4
J2 2 4 1 2 3

ILP formulation (Equation 2). Binary matrix A of the same shape as G, with A_ij = 1 if configuration c_j is chosen for job J_i:

max_A  sum_{i=1..|J|} sum_{j=1..|C|}  A_ij * G_ij  +  lambda * (1 - ||A_i||_1)   (2)

Constraints.

  1. Each job chooses at most one configuration: ||A_i||_1 <= 1.
  2. Allocated GPUs must not exceed available GPUs for each GPU type.

Restart Factor (Equation 3).

r_i = ( T_i - N_i * S_i ) / ( T_i + S_i )                          (3)

Balancing goodput with fairness (Equation 4).

max_A  sum_{i} sum_{j}  A_ij * ( r_i * G_ij )^p  +  lambda * (1 - ||A_i||_1)    (4)

Support for limited adaptivity.

Rigid-job objective (Equation 5).

max_B  sum_{i=1..|J_R|} sum_{g=1..N_g}  B_ig * ( r_i * T_ig )^p
                                        + lambda * (1 - ||B_ig||_1)             (5)

Preemption and reservation.

Support for other parallelization techniques.

Scheduling other workload types.

3.5 Implementation

Preemption with checkpoint-restore.


4. Experimental Setup

4.1 Workloads and Traces

Category Total GPU time
Small (S) 0–1 hrs
Medium (M) 1–10 hrs
Large (L) 10–100 hrs
Extra-large (XL) > 100 hrs

Trace sources.

Table 2 — models used in the evaluations:

Size Task Model Dataset Target Metric Batch Sizes Optimizer
S Image Classification ResNet18 CIFAR-10 94% Top-1 acc [128 – 4096] SGD
M Question-Answering BERT SQuAD 0.88 F1 score [12 – 384] AdamW
M Speech Recognition DeepSpeech2 CMU-ARCTIC 25% word err [20 – 640] SGD
L Object Detection YOLOv3 PASCAL-VOC 85% mAP [8 – 512] SGD
XL Image Classification ResNet50 ImageNet-1k 75% Top-1 acc [200, 12800] SGD
XXL LLM Finetuning 2.8B GPT SQuAD 0.88 F1 score [48, 384] AdamW

4.2 Hardware measurements and simulator

Four GPU node types used:

Name Placement Node spec
t4 Cloud g4dn.12xlarge AWS EC2 instance, 4× NVIDIA T4 (16 GB VRAM)
rtx On-prem commodity node, 8× NVIDIA RTX 2080Ti (11 GB VRAM), 50 Gb/s Ethernet
a100 On-prem NVIDIA DGX-A100, 8× NVIDIA A100 (40 GB VRAM), 1.6 Tb/s InfiniBand
quad On-prem workstation, 4× NVIDIA Quadro RTX6000 (24 GB VRAM), 200 Gb/s InfiniBand

4.3 Evaluated settings

Setting Cluster Baselines compared
Physical 3 rtx + 2 a100 + 1 quad nodes = 44 GPUs Pollux, Gavel (Sec. 5.1)
Homogeneous 16 t4 nodes = 64 GPUs (simulated) Pollux, Shockwave, Themis, Gavel (Sec. 5.2)
Heterogeneous 6 t4 + 3 rtx + 2 a100 nodes = 64 GPUs (simulated) Pollux, Gavel (Sec. 5.2)

Tuning job hyper-parameters (TunedJobs).

Fixing mixed-GPU allocations from Pollux.

Default parameters.

Parameter Value
Sia fairness parameter p -0.5
Sia penalty λ 1.1
Pollux p -1 (same as the Pollux paper)
Shockwave params (10, 1e-1) (same as the Shockwave paper)
Scheduling round — Sia, Pollux 60 s
Scheduling round — Gavel, Themis, Shockwave 360 s
Gavel policy max-sum-throughput (lowest avgJCT on Philly among Gavel's policies)

5. Evaluation

The evaluation shows Sia outperforms state-of-the-art schedulers for both resource-adaptive and rigid jobs on both homogeneous and heterogeneous resources, and also provides better finish-time fairness, scales to large clusters, and is not overly sensitive to default parameter settings.

5.1 Physical cluster experiments

Figure 5 — allocation dynamics. Resource allocations for three jobs over 45 minutes illustrate how Sia dynamically adjusts GPU count and type:

Simulator fidelity.

5.2 Simulator experiments

Table 3 — Sia vs. Pollux vs. Gavel+TunedJobs, Heterogeneous setting. ("Contention" = number of jobs contending for resources in the cluster.)

Trace Policy JCT Avg. JCT p99 Makespan Avg. GPU-hours/job Contention Avg. Contention Max. Avg. job restarts
Philly Sia 0.6h ± 0.1 9.5h 14.2 ± 1.9h 4.0 ± 0.7 6.9 31 2.9
Philly Pollux 1.0 ± 0.1h 14.9h 24.5 ± 7.9h 5.6 ± 1.1 7.2 42 5.8
Philly Gavel+TJ 1.9 ± 0.3h 30.0h 33.8 ± 8.6h 9.0 ± 6.3 9.9 56 5.7
Helios Sia 0.7 ± 0.1h 10.9h 14.9 ± 1.7h 4.8 ± 0.7 7.4 32 3.4
Helios Pollux 1.0 ± 0.2h 15.0h 25.5 ± 8.0h 5.9 ± 0.7 6.9 47 5.3
Helios Gavel+TJ 2.5 ± 0.9h 38.7h 43.0 ± 10.9h 12.1 ± 3.7 9.2 48 7.5
newTrace Sia 0.7 ± 0.1h 4.6h 52.2 ± 1.3h 3.0 ± 0.1 13 69 5.0
newTrace Pollux 1.5 ± 0.2h 10.3h 62.3 ± 4.6h 3.4 ± 0.2 22 85 5.4
newTrace Gavel+TJ 11.3 ± 3.0h 98.1h 110 ± 21.5h 6.4 ± 1.1 96 243 4.5

Why Gavel+TunedJobs does poorly.

  1. Time-sharing overheads reduce the useful GPU time spent on training progress in a given round.
  2. Using a batch size that fits the smallest-memory GPU under-utilizes more powerful GPUs.

Why Pollux falls behind Sia.

Congestion in newTrace.

Matching jobs to GPU types (Figure 6).

Workload intensity (Figure 7).

5.3 Adapting hybrid parallel jobs

5.4 Attribution of primary benefits

The authors isolate each key aspect (resource heterogeneity, job adaptability) by evaluating scenarios where only one is present.

(a) Job adaptability, but not resource heterogeneity — Table 4. Philly traces, Homogeneous 64-GPU setting; TunedJobs used for Shockwave, Themis, and Gavel, with hyper-parameters re-tuned to fully exploit the 64-GPU cluster.

Policy JCT Avg. JCT p99 Makespan GPU hrs/job
Sia 1.9h 18.1h 21.4h 8.4h
Pollux 2.0h 19.3h 21.7h 8.6h
Shockwave+TJ 3.6h 32.8h 35.0h 12.5h
Themis+TJ 5.4h 44.7h 49.7h 17.2h
Gavel+TJ 4.3h 37.1h 44.3h 15.3h

(b) Resource heterogeneity, but not job adaptability.

5.5 Finish Time Fairness

rho = sum_G  P(G = g) * rho_g                                       (6)

Figure 8 (left) — FTF CDFs, Helios traces, heterogeneous setting.

Scheduler Worst FTF ratio Unfair job fraction
Sia 1.2 < 0.3%
Pollux 4.6 28%
Gavel 27.8 15%
Shockwave 3.3 14%

Figure 8 (right) — JCT CDFs.

5.6 Policy overhead and scalability

Policy runtime, 64-GPU Heterogeneous setting, Helios traces:

Scheduler Median policy runtime p95 policy runtime
Sia 96 ms 426 ms
Pollux 2.2 s 4.8 s
Gavel 13 ms 28 ms

Figure 9 — policy runtime vs. cluster size (Heterogeneous setting, Helios traces, scaled up to 2048 GPUs with proportionally scaled traces; error bars are 25th/75th percentiles):

5.7 Sia Parameter Sensitivity

Fairness parameter p (Figure 10 left).

Scheduling round duration (Figure 10 right).

Fraction of jobs supporting adaptivity (Figure 11).

Profiling overheads.

Setting Description Profiling cost
Oracle Sia knows a job's throughput on any set of resources (best case) impractical — would need to profile 100s–1000s of placements across GPU types (1–10 GPU hrs/job)
No Prof no initial profiling; profile-as-you-go zero profiling overhead, but no initial information
Bootstrap min-GPU profiles + extrapolation (Section 3) ≈ 0.1 GPU hrs per job

6. Conclusion


7. Acknowledgements


Cross-cutting summary of named mechanisms

Mechanism Purpose Key quantity
Configuration set C = single-node ∪ multi-node shrink the allocation search space size N + log₂ R vs. Pollux's O(N^R)
Normalized goodput matrix G make goodput comparable across jobs G_ij ← N_i^min · G_ij / min_j G_ij
ILP objective (Eq. 2/4) select (job, configuration) pairs maximizing summed normalized goodput λ = 1.1, p = -0.5 defaults
Restart factor (Eq. 3) avoid churn from tiny G changes restart cost 25–250 s per model
Bootstrapped throughput model (Eq. 1) estimate multi-GPU throughput on unprofiled GPU types < 20 GPU-sec/GPU-type profiling; ≈0.1 GPU-hr/job
Placer rules + Submesh Shape Covering guarantee placement, avoid NIC contention < 3 evictions at once, rarely
Extended FTF (Eq. 6) fairness metric for heterogeneous clusters Sia worst ρ = 1.2, unfair fraction < 0.3%
MILP via GLPK_MI / CVXPY solve the round's allocation median 96 ms, p95 426 ms at 64 GPUs

Limitations and stated future work