Restore Workers with Dynamo Snapshot
Capture an initialized TensorRT-LLM worker and verify that a restored worker serves requests
NVIDIA Dynamo Snapshot restores initialized workers so new replicas can skip model initialization. This walkthrough captures a TensorRT-LLM worker, restores it, and sends a request through the Dynamo frontend. Choose a single-GPU Qwen3 example or an eight-GPU GLM 5.3 example.
Experimental. Consult the backend compatibility matrix before using another backend or topology.
Prerequisites
- A Kubernetes cluster with NVIDIA GPU support and enough full GPUs on one node for the selected example, with MIG disabled. Review Snapshot’s driver, runtime, and privilege requirements.
- A storage class that supports
ReadWriteMany(RWX) for Snapshot artifacts, and a writablemodel-cachePersistentVolumeClaim (PVC) in the workload namespace. These are separate volumes. See Model Storage. helm,kubectl,curl, andjq, plus access to the runtime image registry and Hugging Face. The capture Pod downloads the model if it is not cached.
The examples select runtimeClassName: nvidia. Use your cluster’s RuntimeClass
name, or omit the field if the default runtime provides GPU support.
Choose an Example
The multi-GPU example uses tensor and expert parallelism across eight GPUs. Both examples are adapted from Snapshot’s framework recipes. Dynamo retains the KV cache during TensorRT-LLM capture; the GLM configuration limits its allocation to 10% of free GPU memory. The standalone recipe instead releases KV before capture, so its artifact sizes and restore timings do not apply to this adaptation.
Set RELEASE_VERSION to your chosen published Dynamo release,
without the leading v. Use the same value for the
platform chart, runtime image, and example manifest. Replace the storage class
with your cluster’s RWX storage class:
For the eight-GPU example, replace those recipe settings:
Provision model-cache in NAMESPACE before deploying. The GLM example mounts
it in the frontend as well as the capture and serving Pods, so it needs RWX
access. The storage sizes above are starting allocations; check free space
before capturing, especially if you retain multiple artifacts.
Install the platform with Snapshot
For a test installation, enable the bundled Snapshot chart and the Dynamo integration together. The platform chart selects the matching Snapshot version; no separate Snapshot version is needed.
For an existing platform release, use its name, namespace, and version.
--reuse-values preserves its settings. The Snapshot chart creates an RWX
artifact PVC; use snapshot.storage.pvc values to customize its size or reuse an
existing claim. See Snapshot storage configuration.
If Snapshot is already managed separately, keep global.snapshot.install=false
and omit the snapshot.storage.pvc settings. Verify that its APIs and agents are
ready before enabling dynamo-operator.checkpoint.enabled. Do not install a
second cluster-wide Snapshot operator. Separate installation is recommended for
production; see Snapshot installation.
Deploy the capture and serving configuration
Download the selected recipe from the matching release and set the runtime image:
For GLM, download the pinned model before starting capture. This keeps model download time outside Dynamo’s one-hour capture deadline:
The example sets experimental.checkpoint.enabled: true and
startupPolicy: WaitForCheckpoint. Dynamo creates a SnapshotJob to initialize
and capture the worker. Serving replicas stay at zero until capture completes,
then start from the resulting PodSnapshot.
The default policy, Immediate, starts serving workers cold while capture runs.
Only Pods created after capture completes restore; existing workers are not
restarted when the snapshot becomes ready.
Verify capture and restore
Wait for the DGD to report a usable artifact, then verify the worker itself:
The selector excludes the capture Pod. Success requires both
nvidia.com/Restored=True and the expected nvidia.com/restore-from annotation;
artifact readiness alone does not prove a successful restore.
If a step fails
Inspect the capture conditions and workload events:
- Capture is pending: check GPU scheduling, image pulls, the model-cache PVC, and Snapshot agent readiness.
- Capture fails: inspect the
SnapshotJobfailure reason and capture Pod logs. Keep the recipe’sOMPI_MCA_pml=ob1andOMPI_MCA_btl=tcp,selfsettings. - Restore fails: inspect the worker’s
nvidia.com/Restoredcondition and Snapshot troubleshooting.
Clean Up
Stop port forwarding, then delete the example:
The default deletionPolicy: Delete removes the DGD-managed capture and artifact.
The model-cache PVC and the Snapshot installation remain available for other
workloads. See the checkpoint configuration reference
for reuse and retention rules.