HomeMachine Learning & Neural NetworksContainerising Machine Learning: Why GPU Scheduling Changes the Rules

📦 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.

Machine Learning & Neural Networks3DModerate60 FPS
containerising-ml-docker-kubernetes-lab ↗ Open standalone

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.

⚙ Under the hood

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.

containerizationkubernetesdockergpu-schedulingmlopsmachine-learning

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)