Back in January of 2007 we had looked at Linux Virtualization Performance as we had compared a running native OS (at that time, Fedora Core 6) against the same operating system running as a virtualized guest OS using Xen, QEMU with the (once closed-source) kqemu kernel module, and then KVM. In this testing we had found that KVM had performed well and won a number of the tests, but it wasn't the clear winner nor it had won by a substantial margin. However, the Kernel-based Virtual Machine had premiered with the Linux 2.6.20 kernel and it has matured quite a bit over the past year and a half since its christening. With that said, we are in the process of conducting new Linux virtualization benchmarks to see how these various implementations compare today. While the full comparison isn't yet ready, due to much interest surrounding Linux virtualization on desktops and servers, this morning we are publishing some initial benchmarks from the Phoronix Test Suite when running Ubuntu 8.04 LTS as the host OS and then running it as the guest operating system with hardware-based acceleration through KVM.
As we shared earlier this year, virtualization in Ubuntu has been made easier as virt-manager and libvirt are now available starting with Hardy Heron. Red Hat can be thanked for starting the virt-manager and libvirt projects, which first premiered in Fedora 7 (Fedora 7 KVM Virtualization How-To). The Virtual Machine Manager (virt-manager) is a graphical-based application for managing virtual machines and it makes this process very easy to setup as well as maintaining installations as it allows real-time resource monitoring and configuration. Running underneath virt-manager is libvirt, which is a virtualization API written in C that supports interfacing with Xen, QEMU, KVM, LXC containers, OpenVZ, and allocating storage on a variety of different non-volatile storage mediums.
Since our original article looking at Linux virtualization performance, KVM has gone on to be supported under x86_64 Linux and it has seen a number of improvements -- some of which positively influence the performance. In addition, the Linux kernel in general has seen a great deal of changes between the Linux 2.6.20 kernel and 2.6.24 (and 2.6.25).
The hardware we are using this time around is AMD-based with their innovations on the virtualization front, in contrast to our earlier article using Xeon LV processors with Intel Virtualization Technology. Specifically we are using dual quad-core AMD Opteron 2356 CPUs with a Tyan Thunder n3600M motherboard, 4GB of DDR2 memory, and an ATI FireGL V8600 1GB graphics card. On the software side was, of course, Ubuntu 8.04 LTS x86_64 with the Linux 2.6.24 kernel and the pre-release of X Server 1.4.1.
The benchmarks we had ran for this simple comparison were LAME MP3 encoding, Ogg Encoding, FLAC encoding, and timed gzip compression (in our proper comparison, we'll have many more tests added in). All of these tests were completed within the Phoronix Test Suite.