← 🧠 Machine Learning

📦 GPU Scheduler

Running jobs: 0
Queued jobs: 0
Rejected jobs: 0
Cluster GPU util: 0%
FPS:
Running job
Queued job
Rejected job
Drag — rotate · Scroll — zoom

📦 Containerising Machine Learning: GPU Scheduling

A 3D Kubernetes cluster receives a stream of simulated ML training containers, each requesting a number of GPUs, while a GPU-aware scheduler decides in real time whether to place, queue, or reject each job.

🔬 What It Demonstrates

GPUs are indivisible "extended resources" in Kubernetes — a scheduler must find a node with enough entirely-free GPU slots before it can bind a pod, unlike CPU or memory which can be split fractionally.

🎮 How to Use

Adjust job arrival rate, GPUs requested per job, GPUs per node, cluster size and the scheduling strategy, then watch jobs get placed on node racks, wait in the pending queue, or get rejected outright.

💡 Did You Know?

Bin-packing schedulers deliberately fill the fullest node that still fits a job, which fragments GPUs less than round-robin "spread" placement — critical when autoscalers try to drain and shut down idle nodes.