Fork VMs in <100µs
A Linux kernel module for branching Copy-on-Write memory. Enable MCTS tree search over real environments.
The Bottleneck
RL needs thousands of parallel VMs
Training computer-use agents requires exploring action trees in real desktop environments.
Current: Reset from scratch
No mid-trajectory branching
amla-vm: Branch anywhere
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.
Boot once, fork forever. The frozen zygote becomes an immutable template for instant VM spawning.
Pages shared at kernel level until written. Fork 1000 VMs using only the memory they actually modify.
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.
Feature comparison
| Feature | amla-vm | Firecracker | CRIU | Docker |
|---|---|---|---|---|
| Snapshot restore | <100µs | 4-10ms | 50-200ms | 1-10s |
| Memory sharing | CoW tree | MAP_PRIVATE | None | Layers |
| Mid-execution fork | Yes | Snapshot only | Yes | No |
| Branching depth | Unlimited | 1 level | 1 level | N/A |
| Kernel module | cowtree | None | None | overlayfs |
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.
Requires Linux with KVM support. Kernel module works on 5.15+.