From Zero to Shared GPUs: Hands-on GPU Scheduling in Kubernetes with HAMi

A 45-minute hands-on workshop at ContainerDays 2026 Singapore. Install HAMi on a kind cluster with two fake A100s, share one GPU across Pods, steer binpack and spread scheduler policies, and look beyond the default scheduler at KAI Scheduler, Volcano, and DRA.

This workshop was delivered at ContainerDays 2026 Singapore (October 27, 12:30 to 13:15) by Jimmy Song and Reza Jelveh. It walks through four labs on a laptop-only kind cluster: no real GPU required. A mock device plugin advertises two fake A100-40GB cards, so every scheduling decision of HAMi, a CNCF Incubating project, becomes observable without hardware.

Use the controls or keyboard shortcuts below to navigate the embedded interactive slides.

Slide: From Zero to Shared GPUs

Key Topics

  • Why share GPUs: one whole device per task blocks an 80 GB card for a 1 GB job
  • HAMi architecture: mutating webhook, scheduler extender, device plugin, HAMi-core, vGPUmonitor
  • Asking for a slice: vendor-neutral resources such as nvidia.com/gpumem and nvidia.com/gpucores
  • Lab 1 Install: kind cluster, HAMi 2.10.0, mock device plugin, two fake A100s
  • Lab 2 Share a GPU: fractional requests, the interception chain, and a Pod that can never fit
  • Lab 3 Scheduler policies: binpack vs spread on the card axis, topology awareness
  • Lab 4 Beyond the default scheduler: KAI Scheduler, Volcano vGPU, and the HAMi-DRA path
  • Metrics and wrap-up: allocation vs usage metric families, the HAMi WebUI, and where to contribute

Event Details

References