Hey Allison, Our goal in Kata is to be configurable with respect to hypervisors, so your project sounds quite interesting. In our experience, Kata ends up exercising many more features than are typical, and thus may be a good test vehicle. Features include: -hotplug for CPU, memory, vfio-pci, virtio-blk/scsi -virtio: 9pFS, -net (with vhost backend), blk/scsi, serial, vsock -DAX, nvdimm (used for our rootfs today) -vhostuser (blk,net,scsi) Is your work on github, or available in the open today? Thanks, Eric On Wed, Jun 06, 2018 at 03:24:48PM +0000, Xu Wang wrote:
Hi Allison, The library hypervisor sounds very interesting, do you have any publication or code released? For kata, when you talk about image format, do you mean those like "qcow2" or "raw"? We currently mainly use raw format devices for qemu. And if we insert devices into VM, we may insert loop devices, other block devices, or ceph rbds, etc. Xu
On Wed, Jun 6, 2018 11:17 PM, Allison Randal allison@lohutok.net wrote: I wasn't at the session where this started (because I was speaking on a
panel at the same time about edge computing, containers/VMs, and hybrid
approaches), but several people pointed me at this list, because I'm
currently working on a lightweight hypervisor written in Rust (on top of
KVM), as PhD research at the University of Cambridge.
I'm interested in getting more details on what features of QEMU are used
by Kata Containers. Specifically, what image formats and devices do you
need? This information would be equally valuable to a stripped-down
QEMU, so it wouldn't be a distraction from that work, just a side
benefit of informing other approaches to lightweight hypervisors.
The fundamental concept of my work is building a "library hypervisor",
somewhat analogous to the way unikernels are a "library operating
system". So, instead of a monolithic body of code, it is a collection of
Rust libraries that provide devices, support for various image formats,
an interface to KVM, etc. A final compiled hypervisor imports a minimal
set of libraries to get the minimal set of features that it needs.
I had considered Kata Containers as a possible example target, though I
was prioritizing it behind libvirt, minikube, LinuxKit, and a few other
potential targets. I wouldn't mind bumping Kata Containers up to a
higher priority, if people here would be interested in a prototype to try.
Allison
_______________________________________________
Kata-hypervisor mailing list
Kata-hypervisor@lists.katacontainers.io
http://lists.katacontainers.io/cgi-bin/mailman/listinfo/kata-hypervisor
-- Xu WangCTO & Cofounder, Hypergithub/twitter/wechat: @gnawuxhttp://hyper.sh Hyper_: Make VM run like container
_______________________________________________ Kata-hypervisor mailing list Kata-hypervisor@lists.katacontainers.io http://lists.katacontainers.io/cgi-bin/mailman/listinfo/kata-hypervisor