Session
Right-Sized GPUs for JupyterHub: Sharing Accelerators Across Interactive Notebooks
Interactive notebook users often reserve an entire GPU when exploration needs only a fraction of its memory and compute capacity. This reduces availability and forces lightweight notebooks to compete with workloads that need a full device.
This talk presents how we added right-sized GPU profiles to JupyterHub. Users select a profile based on the memory and compute they need, while KubeSpawner translates that choice into Kubernetes resources for the notebook pod. A GPU-sharing layer implemented with HAMi selects a compatible device and enforces the allocation without exposing scheduler-specific details to users.
We will cover profile design, resource translation, spawn-time validation, clear failures when capacity is unavailable, visibility into assigned resources, persistence across notebook restarts, and reliable release during shutdown or failed launches. We will also explain the isolation boundary: GPU memory can be capped, while compute sharing uses time slicing and is not equivalent to hardware partitioning.
Karthik Ravi
Senior Software Engineer, AI/ML Infrastructure at PayPal
Mountain View, California, United States
Links
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top