Research Preview

Fork VMs in <100µs

A Linux kernel module for branching Copy-on-Write memory. Enable MCTS tree search over real environments.

<100µs
spawn time
50×
faster
depth
Linux kernel module KVM hypervisor Rust + C kernel module

The Bottleneck

RL needs thousands of parallel VMs

Training computer-use agents requires exploring action trees in real desktop environments.

Current: Reset from scratch

1 Boot VM → 125ms
2 Load checkpoint → 5ms
3 Execute action
4 Destroy VM, repeat

No mid-trajectory branching

amla-vm: Branch anywhere

1 Boot zygote VM once
2 Execute to decision point
3 Fork N branches → <100µs each
4 Explore parallel, fork again

Full MCTS over real VMs

The Kernel Primitive

cowtree: Branching CoW Memory

Watch how memory branching works. Pages are shared until written—only modified pages are copied.

Shared CoW'd
Zygote
Base Memory
256MB · 65,536 pages
100% shared base
VM #1 47µs
branch_1
4 pages modified
VM #2 52µs
branch_2
12 pages modified
VM #3 44µs
branch_3
8 pages modified
Nested 31µs
branch_2a
Nested 29µs
branch_2b
Zygote Pattern

Boot once, fork forever. The frozen zygote becomes an immutable template for instant VM spawning.

True Copy-on-Write

Pages shared at kernel level until written. Fork 1000 VMs using only the memory they actually modify.

Hierarchical Branching

Branches can branch. Build arbitrary exploration trees for MCTS over real environments.

Measured Performance

50-100× faster VM spawn

Real benchmarks on Linux 6.12 with KVM. Measured with warm caches.

amla-vm (cowtree spawn)
47µs
47µs
Firecracker (snapshot restore)
4-10ms
CRIU (checkpoint restore)
50-200ms
Docker (container start)
1-10s
Scale: logarithmic (10µs to 10s)

Feature comparison

Featureamla-vmFirecrackerCRIUDocker
Snapshot restore<100µs4-10ms50-200ms1-10s
Memory sharingCoW treeMAP_PRIVATENoneLayers
Mid-execution forkYesSnapshot onlyYesNo
Branching depthUnlimited1 level1 levelN/A
Kernel modulecowtreeNoneNoneoverlayfs

Firecracker times from official docs.

Built for RL research

Computer Use Agents

Train agents on real desktops. Fork at each decision, explore actions in parallel, backpropagate rewards.

Code Execution RL

Explore code edits in real dev environments. Branch, run tests, evaluate outcomes, merge best paths.

Web Navigation

Real browsers, real network stacks. Explore multi-step web tasks with full state isolation.

Serverless Functions

Pre-warm runtimes as zygotes. Spawn instances in microseconds instead of seconds.

Fork reality in microseconds

A kernel module for the next generation of RL research.

View on GitHub Apache 2.0 License

Requires Linux with KVM support. Kernel module works on 5.15+.