Vibeleaderboard
← All Intel
Intel / article

Start and Restore GPU Workloads in Seconds with NVIDIA Snapshot

Source
developer.nvidia.com
Author
Ron Kahn
Date

Context

NVIDIA Snapshot saves a fully started AI server, including what it holds in CPU and GPU memory, so that new copies can be restored from that saved state instead of starting from scratch. NVIDIA introduces it as an open-source Kubernetes tool, originally built for NVIDIA's Dynamo inference server, and reports that in its tests a restored replica was serving in 3.6 to 42.7 seconds, 8 to 36 times faster than a normal start. The point for anyone running models is capacity during a traffic spike or after a crash: a free GPU is not useful until a model server on it has finished starting, and for large models that start takes minutes.

The post's breakdown of those minutes explains where the gain comes from. A cold start does four things: launches the engine processes, reads the model weights, allocates memory for the model's working cache, and compiles and tunes GPU kernels and records CUDA graphs (prebuilt sequences of GPU operations that make later requests faster). Loading weights is often not the largest part. For DeepSeek-V4.1-Flash on vLLM across eight GPUs, compilation, tuning and graph capture took 785 of 1,111 seconds, and that configuration showed the largest speedup, 36x. A restore skips all four steps because the process resumes from the point where it was saved. Restoring has costs of its own: CRIU, the standard Linux tool for saving and restoring processes, brings back the CPU-side process, and the GPU memory is copied back separately. For the eight-GPU models, the GPU copy took 18 to 29 seconds, the largest part of the restore.

To use it, an operator asks Snapshot to checkpoint a running Pod (Kubernetes's unit of running containers), or to start one and checkpoint it as soon as it is ready, then starts new Pods with an annotation that names the saved snapshot. The engine has to cooperate with a small pause-and-resume handshake, and the repository includes examples for vLLM, SGLang and TensorRT . Saving is a one-time cost per model and configuration, 15 seconds to 5.5 minutes in NVIDIA's tests, and in every tested configuration saving plus one restore took less time than one cold start. The saved files can be much larger than the weights: gpt-oss-120b on SGLang across four GPUs has 65 GB of weights and produced a 694 GB checkpoint.

The numbers are NVIDIA's own, measured on B200 GPUs with checkpoints stored on a VAST network file system, and both timings exclude pulling the container image and setting up the container runtime, which a real scale-up still pays. Two partner results quoted in the post, from Crusoe and Saturn Cloud on B300 hardware, are also self-reported. A restore needs a node with the same GPU model and driver as the one that made the checkpoint, and the README adds that workloads must fit on one node, that vGPU is unsupported, and that the APIs may still change, so it is not yet recommended for production-critical workloads.

Snapshot is NVIDIA's second recent answer to slow starts. In August, Dynamo's shadow engine recovery cut recovery after a process crash from 283 seconds to 7.3 seconds by keeping a second, already started engine idle on the same GPUs. That approach covers crashes on GPUs that are already serving; Snapshot covers bringing up a replica on a different node. NVIDIA's same-day post on Agent Substrate, a runtime for Kubernetes agents, faces the same restriction to matching GPU model and driver when suspending GPU sandboxes, though neither post links the two projects.

Key takeaways · AI-distilled
  • Snapshot checkpoints a fully initialized inference Pod, CPU and GPU memory included, and restores it on any node with the same GPU model and driver, skipping weight loading, kernel compilation and CUDA graph capture. Image pulls and container setup are not covered.
  • In NVIDIA's B200 tests, restores took 3.6 to 42.7 seconds, 8x to 36x faster than cold starts. DeepSeek-V4.1-Flash on vLLM across eight GPUs went from about 1,111 seconds cold to 31 seconds restored.
  • Compilation, autotuning and graph capture, not weight loading, was often the largest cold-start phase: about 785 of 1,111 seconds for DeepSeek-V4.1-Flash on vLLM. So restoring initialized state saves far more than faster weight loading could.
  • Checkpointing is a one-time cost of 15 seconds to 5.5 minutes per model and configuration, and in every tested setup checkpoint plus restore was shorter than a single cold start. Artifacts are large, about 600 GB to 1 TB for eight-GPU models.
  • Integration uses Kubernetes custom resources (PodSnapshot, SnapshotJob and a nvidia.com/restore-from annotation) plus a small pause/resume handshake in the workload, with ready-made examples for vLLM, SGLang and TensorRT LLM.
Terms in this piece · Glossary
  • inference — Running a trained model to get answers — the phase where AI is actually used, as opposed to trained.
  • LLM — A large language model — the neural network behind tools like Claude and ChatGPT, trained on huge amounts of text to predict what comes next.
  • AI agent — An AI system that doesn't just answer once but works toward a goal in a loop — taking actions, reading the results, and deciding what to do next.
  • mixture-of-experts — A model built from many specialist sub-networks where only a few activate per token, giving big-model capability at small-model running cost.
Read the source developer.nvidia.com
Recommended reads
Comments

Checking sign-in…

Loading comments…