github.com/Zhanyl-tech/k8s-gpu-scheduler-lab · Python · MIT
Phase 1 of 3 is public: the kwok substrate, the workload generator, the metrics, the degenerate baselines, and K0 measured on a real control plane. Kueue, Volcano, NVIDIA’s bin-packing and KAI are not built, and the 34% fragmentation claim the repo exists to test has not been tested.
Slurm and Kubernetes solve the same problem — allocating scarce accelerators across competing jobs — with different mechanisms. Slurm uses multifactor priority plus EASY backfill. Kubernetes splits it: Kueue does quota and admission, Volcano does gang scheduling and DRF fairness, NVIDIA KAI does topology-aware gang scheduling with DRA.
Nobody has published a controlled comparison on the same trace. That comparison is the product.
Built on kwok, so simulated GPU nodes advertise nvidia.com/gpu and scheduling
decisions are real while the hardware is not — one command on a laptop, no
cloud account. It carries the same conventions as
slurm-scheduler-lab and
slurm-rca-bench: the same trace format, the same
metrics vocabulary, and degenerate baselines (FIFO, random, largest-first) in
every results table.
What kwok cannot tell you is stated above the results, not in a footnote: it simulates scheduling, not execution, so NCCL performance, real GPU contention, thermal behaviour and network topology effects are all outside what any number here can claim.