If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Comment

I am currently writing my master's thesis about virtualization and I've been running Xen and KVM tests among other things. I've had similar results with Xen being quite slow - for example, its raw CPU speed in LINPACK test was only 90 % that of HW or KVM (which were very close). I've been using Ubuntu 10.04 and vanilla 3.0.0 kernel in my tests. Just yesterday I did a test with Xen Dom0 kernel 2.6.32.46 and for example the LINPACK result jumped to on par with the hardware. I've measured other quite interesting results also - for example Xen's idle power consumption was like 30 % higher with kernel 3.0.0. It really seems there's something badly wrong in the 3.0.0 kernel with Xen. Next, I'll try running my tests with the 3.2 release candidate kernel to see if things have changed.

Comment

This is fine for servers but what about desktop based benchmarks where you're much more likely to be running guests other than Linux?

I'd like to see some benchmarks in Windows running under these various hypervisors. In my experience KVM and Xen are really bad at that compared to VirtualBox or VMware.

The whole virtualization space is at somewhat of a frustrating crossroads.

VMware used to be top dog but then they switched focus off of Linux as a host before going full scatterbrained with 15-brazillion different products. In the early 2000's they were king and their code seemed well written and solid. These days they seem like they're in really bad shape on Linux hosts. Multiple monitor support is essentially nonfunctional for me and their GUI is slow and bloated. There are bugs in the Linux GUI that have been present for years and never fixed (I have filed reports only to have my bug closed with "it's fixed now" even though it wasn't actually fixed).

VirtualBox just doesn't seem like it's written very well, it has tons of bugs and I often see really bad host kernel faults with it. However, it is the only virtualization product I have used that is able to correctly use all 4 of my monitors in a dual-TwinView Xinerama setup (which is a convoluted setup because multi-monitor on Linux sucks in general, but I digress). Performance is good. The user interface is a bit convoluted compared to VMware. This would probably be my choice of products if it wasn't so buggy. I worry about security issues with it, somewhat due to the general code quality in general and focus on non-server applications.

Xen is decent for server only stuff, like for providing VPS hosting services. It has a fairly long term proven security record with good separation between the host and guests and guests from other guests. It seems designed more for a segmented model of virtualization where you're dividing up a server into discreet units (ie. each domU gets a fixed amount of RAM, disk, whatever.. no sharing). Mostly only for running Linux on Linux. Really it's just a fancy paravirtualized system.

KVM is similar to Xen but it's not so focused on the segmented server model. As we see in these benchmarks it's faster than Xen. Security has yet to be proven with it though. Again, it's mostly good at running Linux on Linux with the paravirtualization drivers. Windows doesn't seem to run so well on it. Multi monitor support is complicated because you have to use SPICE/QXL type stuff (I'm not sure how well it works because I haven't been able to get it to work; seems like performance won't be good but I don't know for sure). This seems like the good long term choice, assuming something better doesn't come along. It's just lacking so much right now, good disk and video drivers for non-Linux guests for instance... or just performance in general when not using Linux guests (again, this goes back to it being more of a fancy paravirtualization system that falls back to slow QEmu stuff when it can't paravirtualize).

QEmu by itself is dog slow and the pieces of it used by Xen and KVM are probably what weighs them down, especially with non-Linux guests.

Comment

Ok, just ran a LINPACK test with kernel 3.2.0-rc1. Same bad results as with kernel 3.0.0. More tests are on the way, but right now it seems to me that Xen is broken after its merging to the mainline kernel.

Comment

Ok, just ran a LINPACK test with kernel 3.2.0-rc1. Same bad results as with kernel 3.0.0. More tests are on the way, but right now it seems to me that Xen is broken after its merging to the mainline kernel.

That performance difference could be caused by missing Xen acpi cpufreq patches from upstream Linux 3.x kernels. The patches in question are still work-in-progress and are currently planned for inclusion in Linux 3.3 kernel. The Linux 2.6.32.x dom0 kernel from xen.git xen/stable-2.6.32.x branch has those patches included, so it's able to use the best performing cpufreq states. People willing to test xen acpi cpufreq patches with Linux 3.x kernel are able to fetch the patches from Konrad's git repository.