NotebookOS Logo

A GPU-efficient notebook platform for interactive deep learning training

โ†“

Scroll to explore

The Problem

GPUs sit idle while notebooks run

Interactive notebook programming is universal in modern ML and AI workflows. To ensure responsiveness, platforms like Jupyter and Colab reserve GPUs for entire notebook sessions โ€” even though GPU usage is intermittent and sporadic. The result: extremely low GPU utilization and prohibitively high costs.

The Root Cause

Long sessions, sporadic usage

Reserved but Unused

Notebook sessions reserve GPU resources for their entire lifetime, but actually use them for only brief training bursts.

Low Utilization

During most of their lifetimes, notebook sessions do not use the reserved GPUs โ€” utilization can drop below 10%.

Prohibitive Costs

Cloud GPU time is expensive. Paying for idle reservations makes interactive deep learning training inaccessible at scale.

The Solution

NotebookOS

A GPU-efficient notebook platform tailored for the unique requirements of interactive deep learning training. NotebookOS decouples GPU allocation from notebook session lifetime, allocating GPUs only during active cell execution.

Replicated KernelsRaft ConsensusGPU OversubscriptionAuto-Scaling

Architecture

Four pillars of GPU efficiency

๐Ÿ”„

Replicated Kernels

Each notebook kernel consists of 3 distinct replicas scheduled across multiple GPU servers and synchronized via the Raft consensus protocol.

โšก

On-Demand GPU Allocation

GPUs are dynamically allocated to kernel replicas only while they are actively executing notebook cells โ€” not for the entire session.

๐Ÿ“Š

Resource Oversubscription

NotebookOS oversubscribes server resources via kernel replication, leveraging the relatively high task inter-arrival times in IDLT workloads.

๐Ÿ”€

Replica Migration

Under high load, NotebookOS migrates kernel replicas and automatically scales the GPU cluster to maintain interactive responsiveness.

Results

Proven on production workloads

Evaluated on real-world interactive deep learning training workloads, NotebookOS delivers massive resource savings while improving the interactive experience.

1,187+

GPU hours saved

17.5 hrs

Real-world IDLT workload

3ร—

Raft-synchronized replicas

Implementation

Built on Kubernetes

NotebookOS is built on Kubernetes with custom operators that manage the lifecycle of replicated notebook kernels. The kernel replicas, scheduler, and migration controller are written in Go for performance, while the user-facing notebook interface remains fully compatible with standard Jupyter environments.

KubernetesDockerGolangPythonC

Explore NotebookOS

Read the paper or explore the source code.