Thursday, December 14, 2006

Kernel-based Virtual Machine hits Linux


Many congratulations to my good friend Moshe Bar and his team over at (stealth-mode startup) Qumranet. Techworld reports that the KVM (Kernel-based Virtual Machine) project has been accepted into the 2.6.20 version of the Linux kernel distribution.

KVM is an Open Source kernel driver that basically allows a Linux kernel to host virtual machines, as plain old Linux processes, that can run Linux or Windows (or other x86-based operating systems). It runs only on hardware that support Intel's VT instruction set (which is fine) and will soon support the AMD-V instruction set as well.

This is cool for a number of reasons.

  • It's Open Source, released under the GPL.

  • It basically turns the Linux that we all know and love into a "hypervisor".

  • Linux-as-hypervisor makes sense because Linux already knows how to manage devices, memory, processes, multi-cores, etc.

  • VMware ESX is, essentially, a "hypervisor" - a small kernel, built on Linux as it turns out, that boots to load other guest operating systems in protected space. Could Linux + KVM be a credible threat to VMware ESX? Perhaps, someday. But the KVM team has a ton of work to do to get there.

  • Yet another confirmation that out-of-the-box virtualization is being completely commoditized.

  • Xen is an external hypervisor which lives outside of (below) the Linux kernel. At present, I am a bigger fan of hypervisors that live within a commercial operating system (like Linux, Windows, or Mac OS X), rather than below it (like Xen).


For more information, check out the KVM Whitepaper. It is well written and explains the differences between the Xen approach and theirs. Also check out the KVM Sourceforge Project page.

The KVM team has done a very nice job, and I really like the architectural approach, but they have a long way to go:

  • Fraser Campbell reports that KVM was "decided slow" when he tried it.

  • Currently only supports uniprocessor guest operating systems.

  • The Linux commit of the project included the following comment: "Performance currently is non-stellar due to the naive implementation of the mmu virtualization, which throws away most of the shadow page table entries every context switch." Not good. Workarounds for this included waiting for new releases of Intel and AMD processors that supported nested page tables. That would be a 3+ year wait for a new processor spin to end up in the hands of paying customers.

  • Of course, none of this matters in the enterprise if you cannot manage it... Hmm. I wonder where Qumranet will fit?


Unfortunately, the "KVM" acronym is a horrible one. It makes me, and likely every other datacenter person, think of "Keyboard Video Mouse".

Qumranet has received VC funding from Sequoia Capital and Norwest Venture Partners.

Tags: , , , , , , ,

2 comments:

  1. Kernel-based Virtual Machine hits Linux...

    So, the word is out. A new Kernel-based Virtual Machine hits Linux
    It's still unclear what Qumranet is actually doing, but when you look at what Moshe did before Qumranet I`m sure it's going to be great stuff !


    It's obvious that with KVM,...

    ReplyDelete
  2. [...] http://www.brianberliner.com/2006/12/14/kernel-based-virtual-machine-hits-linux/ [...]

    ReplyDelete