loopholelabs / drafter

A Compute Primitive Designed for Live Migration
https://loopholelabs.io
GNU Affero General Public License v3.0
70 stars 4 forks source link

Support for other hypervisors #24

Open ellie-idb opened 3 months ago

ellie-idb commented 3 months ago

Hey there! Very cool project y'all have got going on -- seems fairly promising.

In the README.md, you guys mention that you have a special fork of Firecracker -- is this a hard dependency? I ask, namely because we're not huge fans of how Firecracker has no balloon device support -- our workloads are long-running w/ frequent bursts in memory & CPU, so leaving all of that memory allocated to one workload seems less than ideal. Cloud-hypervisor or just plain old QEMU seems to be better in that regard -- any thought on implementing support for either of those two?

pojntfx commented 2 months ago

Hi! There is no hard dependency on Firecracker for the actual migration protocol or device setup, although it is currently the only hypervisor that we've implemented support for.

We've looked into different hypervisors in the past, but eventually settled on Firecracker since cross-cloud migrations are important to us, something that Firecracker has very good support for due CPU templates, something that Cloud Hypervisor for example lacks. In regards to ballooning - you should be able to use it in Firecracker according to https://github.com/firecracker-microvm/firecracker/blob/main/docs/ballooning.md :)

I should also mention that we're working on new tech that will allow the migration of containers/processes without the need for a hypervisor, which should be an option to fix the ballooning issue, too. There is a wait list for that feature on architect.run if you're interested!