vmyard sandbox scheduler · ERP•AI Labs

A high-throughput scheduler for sandboxes.

vmyard places and bin-packs microVM and container sandboxes onto a fleet of hosts, with the dataplane behind pluggable drivers for Firecracker, Cloud Hypervisor, and Docker. The design target is thousands of placements per second from a single scheduler node.

host-01 host-02 host-03 host-04 94% 91% 58% 70%
Hosts are tracks; sandboxes are cars. The scheduler packs for density and keeps headroom on each host for sandboxes about to wake (red).

Why not Kubernetes

Kubernetes schedules services that start once and run for months. A sandbox is created in a burst next to a thousand siblings, runs for a few seconds, goes to sleep, and is expected back fast when its owner returns. Pushed through pod machinery, every one of those transitions pays for API round-trips, scheduling passes, kubelet reconciliation, and network setup that were priced for a workload changing state a few times a day.

Waiting for Kubernetes to grow into this is a bet against its own architecture: a control plane built on slowly converging desired state cannot become the fast path for millions of short-lived, stateful workloads. That gap is what vmyard is for.

Lifecycle

PhaseWhat happens
createBoot a fresh sandbox from an image. The cold path.
placePick a host. Bin-pack for density while leaving headroom for wakes.
runCode executes. The scheduler stays out of the way.
sleepSnapshot and release CPU and memory. Identity and state are kept.
wakeRestore from snapshot. The latency this project is judged on.
destroyReclaim everything.

Drivers

Drivers own the dataplane. The scheduling core sees capacity, constraints, and lifecycle verbs; it never talks to a runtime directly. The shape follows the task-driver model proven in HashiCorp Nomad.

DriverIsolationStatus
firecrackermicroVMfirst target
cloud hypervisormicroVMplanned
dockercontainerplanned, for development and CI

Status

In development.

The scheduling core and driver interface are being built. There is no release, no installer, and nothing to run yet; this page exists so the project has an address. Source opens with the first runnable release.