Archive for June, 2010

Hypervisor Brief Intro

View of Avi Kivity By Irfan Habib, http://www.linuxjournal.com/article/9764?page=0,1

In many ways, VMware is a ground-breaking technology. VMware manages to fully virtualize the notoriously complex x86 architecture using software techniques only, and to achieve very good performance and stability. As a result, VMware is a very large and complex piece of software. KVM, on the other hand, relies on the new hardware virtualization technologies that have appeared recently. As such, it is very small (about 10,000 lines) and relatively simple. Another big difference is that VMware is proprietary, while KVM is open source.

Xen is a fairly large project, providing both paravirtualization and full virtualization. It is designed as a standalone kernel, which only requires Linux to perform I/O. This makes it rather large, as it has its own scheduler, memory manager, timer handling and machine initialization.

KVM, in contrast, uses the standard Linux scheduler, memory management and other services. This allows the KVM developers to concentrate on virtualization, building on the core kernel instead of replacing it.

QEMU is a user-space emulator. It is a fairly amazing project, emulating a variety of guest processors on several host processors, with fairly decent performance. However, the user-space architecture does not allow it to approach native speeds without a kernel accelerator. KVM recognizes the utility of QEMU by using it for I/O hardware emulation. Although KVM is not tied to any particular user space, the QEMU code was too good not to use—so we used it.

Comments off

Decided to Switch KVM

Choosing a hypervisor in #Cloud projects always costs me time, between Xen & Kernel-based Virtual Machine (KVM). After an interesting discussion with one of Cloud Computing architect @ IBM, we get a deal – use KVM for future #Cloud implement. My considerations:

  1. IBM announced to boost KVM @ Cloud initiatives since March this year. This indicates IBM’s strategy @ hypervisor on Intel machines leans to KVM, rather than Xen. And more official development, test and support are coming after.
  2. Virtio project to support better network IO performance. http://kbase.redhat.com/faq/docs/DOC-25441

More resources:
KVM vs Xen, dates back in 2006, but telling some basic > http://www.gridvm.org/xen-vs-kvm.html
Xen vs KVM by Xen > http://blog.xen.org/index.php/2010/05/07/..kvm-linux-..community/
KVM @ IBM InfoCenter > http://publib.boulder.ibm.com/../kvminstall/liaaikvminstallstart.htm
Securing KVM @ IBM InfoCenter > http://publib.boulder.ibm.com/../kvmsec/kvmsecguest.htm
Benchmark by Xen > http://wiki.xensource.com/..Quantitative+Comparison+of+Xen+and+KVM.pdf
KVM vs VMware > http://www.workswithu.com/2009/04/27/kvm-vs-vmware-a-case-study/

They’re all @ http://delicious.com/j3ffyang/kvm

Notice: since I only consider #OpenSource virtualization solution @ my #Cloud projects on Intel, there is #proprietary #VMware in my solution design. But integration with VMware is always available.

Comments off