Running GPU Jupyter Workspaces on... - Andrii Ieroshenko, AWS & Gaurav Bhanderi, Amazon

Project Jupyter
19 views •

Running GPU Jupyter Workspaces on Kubernetes: Scheduling, Autoscaling, and Policy Lessons - Andrii Ieroshenko, AWS & Gaurav Bhanderi, Amazon Kubernetes autoscaling is built for workloads that can be killed and rescheduled at any moment. A notebook is the opposite: its state lives in a running kernel, an eviction interrupts a person mid-work, and its GPU cannot be shared. We added GPU workspaces to jupyter-k8s, an open-source Kubernetes operator for Jupyter, and most of the hard questions turned out to be one question: which layer should own this knob, cloud instances, autoscaler, operator, infrastructure-as-code, or UI. The talk walks through the answers as lessons: keeping CPU pods off GPU nodes (and cheap GPUs off expensive ones) with a label and a taint per pool; why consolidation that evicts running pods does not work for notebooks, and what refusing it costs in bin-packing; idleness as two layers that have to compose, workspace idle-shutdown and node scale-to-zero; templates as the unit of per-pool policy (bounds, defaults, idle rules) and the API contract traps we hit; and the decisions that are hard to reverse later, MIG partitioning and dynamic resource allocation. The lessons apply to any Jupyter on Kubernetes, including JupyterHub. We close with where jupyter-k8s sits next to JupyterHub and the roadmap.

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close