standards

Taking advantage of paravirtualization standards: KVM in Linux

The open source virtualization solution KVM is now in the new Linux 2.6.20 kernel, along with paravirtualization support. Now that the various communities have hammered out a common paravirtualization interface for different hypervisors (paravirt-ops), both Xen and VMware will be able to run paravirtualized guests using a standard kernel. VMware has demonstrated paravirtualization, and one can envision paravirtualized guests just being another type of guest OS, running side by side with non-pv’d guests on the same hypervisor, all using standard, non-patched kernels.

KVM seems like a special case at this point, but look at this note from last month on LKML below. They are also moving to these same paravirtualization interfaces. This has several implications:

  • Three separate hypervisors (Xen, KVM, and VMware) will all be using paravirt-ops.
  • The open source ecosystem is working, with at least two open source implementations to this standard interface.
  • There exists a commercially-supported, mature platform that is available today and is participating in this ecosystem.
  • None of these three solutions are going down a single use, special case path, and there is plenty of room for innovation on top of the standard interface for all participants.

This is good for end users.

Link: New virtualization arrives in Linux kernel | News.blog | CNET News.com.

A new virtualization technology called Kernel Virtual Machine, or KVM,
is now an official part of Linux. KVM is included in the 2.6.20 version
of the Linux kernel that Linux founder and leader Linus Torvalds
released Sunday.

In a mailing list posting, Torvalds summarized the changes in 2.6.20 as, "A lot of stuff. All over. And KVM."

Another open-source virtual machine option, Xen, already is under widespread development and is distributed with some versions of Linux.

Link: LKML: Ingo Molnar: [announce] [patch] KVM paravirtualization for Linux.

i’m pleased to
announce the first release of paravirtualized KVM (Linux under Linux),
which includes support for the hardware cr3-cache feature of Intel-VMX
CPUs. (which speeds up context switches and TLB flushes) … Some aspects of the code
are still a bit ad-hoc and incomplete, but the code is stable enough in
my testing and i’d like to have some feedback.