Clone: a KVM VMM in Rust that forks VMs like processes (<20ms via CoW)
We needed multi-tenancy, but in a safe and light way because RAM is expensive. Containers are unsafe in multi-tenancy, and less than namespaces is a non-starter. VMs are heavy, but for multi-tenancy, it had to be the baseline, so that was the direction we went.
Clone is able to fork virtual machines sharing memory via CoW across all of them, so you can run 10 8GB VMs and literally only use ~1-2GB of RAM. In some cases, it's more performant than containers. It also attempts to reclaim RAM whenever the system is idle.
It outperforms some of the other major VMMs (Firecracker, etc.) in our use cases, and we've been using it in production. REAL benchmarks are in the README and docs.
https://github.com/unixshells/clone
It's open source and MIT licensed so feel free to do what you need to do! The hope is that, instead of many working on silo'd VMMs, we can do this right, together.