📦 Containerising Machine Learning: GPU Scheduling
Interactive 3D cluster diagram where deploying simulated ML training containers across Kubernetes nodes shows GPU-aware scheduling placing, queuing or rejecting jobs based on resource availability.
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.
Interactive 3D cluster diagram where deploying simulated ML training containers across Kubernetes nodes shows GPU-aware scheduling placing, queuing or rejecting jobs based on resource availability.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install