NVIDIA / NVIDIA/OpenShell

feat(driver-vm): snapshot/restore (suspend/resume) for idle sandboxes

Open
#1,551 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

state:triage-needed
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

agent sandboxes are idle most of the time, waiting on tool calls, model responses, or humans. right now the ComputeDriver lifecycle is create/stop/delete, so an idle sandbox either holds its resources or gets torn down and cold-restarted (libkrun first boot is ~10-30s). what i'd want is suspend/resume: checkpoint a sandbox's memory + fs, free the resources, and restore it in well under a second on the next request, same idle economics Lambda gets from Firecracker snapshots.

a few questions:

  • is VM snapshot/restore on the roadmap at all? i see the VmBackend { Libkrun, Qemu } split and the QEMU backend from #992 (plus the closed CH attempt in #851), so the backend abstraction already exists.
  • would adding Snapshot/Restore RPCs to ComputeDriver (alongside create/stop/delete) be welcome?
  • preferred path: snapshot on the QEMU backend (savevm/migrate-to-file), or a dedicated Firecracker / Cloud Hypervisor backend? both have first-class snapshot/restore.
  • or is this intentionally deferred behind the multi-tenant milestone?

context: evaluating OpenShell as the sandbox runtime for an agent-compute substrate where suspend/resume + KV cache aware routing/offloading are the core economics. happy to help scope or send a patch if there's appetite.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the ComputeDriver lifecycle and the VmBackend split described in the issue, then review the QEMU work in #992 and the closed CH attempt in #851. Determine whether Snapshot/Restore belongs in the driver abstraction and which backend path is supported; done means a decided scope or roadmap direction rather than an implementation patch.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.