The very first independent Nested Paging Virtualization testsby Johan De Gelas on July 10, 2008 12:00 AM EST
- Posted in
- IT Computing general
The first generation of hardware virtualization was nothing to write home about from a performance point of view. In many cases, hardware virtualization was disabled by the OEMS to avoid problems, in other cases hardware virtualization was simply slower than the current forms of software virtualization. It was a step back from the highly optimized VMWare binary translation, but of course a step back to take many steps forward.
We explained this in great detail here. One of the problems was that software virtualization tackled (virtual) memory management so much better than hardware virtualization. First generation Hardware virtualization - as can be found in the Xeon 53xx series and second generation Opterons - should be seen as way of making it easier to write a slim hypervisor. One of the examples is Linux KVM, which makes good use of hardware virtualization while it avoids the complexities of binary translation and paravirtualization. Basically many of the new hypervisor solutions would not be even possible without the availabiltiy of hardware virtualization capable CPUs.
The second generation of hardware accelerated virtualization which was first introduced in the third generation of Opterons (AMD "Barcelona" aka K10) is a lot better from a performance point of view. It offers massive tagged TLBs that can support the memory management of the different guest OS and the hypervisor. Intel's Nehalem will use this technique too.
The past months, we have been working very hard on a massive virtualization benchmarking effort. It will take a while to analyze the huge amount of data we generated so far, but we could not resist to give you already a taste.
The benchmarks below have been done on a dual socket Opteron 8356 (so 8 cores at 2.3 GHz) machine. Our quad socket board is not supported by ESX, so that is why we limited our Opteron 8356 to 2 CPUs for now. The specific benchmarks below were done on Xen 3.2.0 which is distributed with SLES 10 SP2. Four virtual machines are running at the same time, and each virtual machine has 2 virtual CPUs which are firmly linked to 2 physical Cores. Two webservers, one Oracle OLTP test and one DSS MySQL test are all running in parallel on our dual opteron server. Each virtual machine has 4 GB of RAM and runs Windows 2003 R2.We will give a lot of more benchmarking detail in the upcoming article.
We enabled and disabled HAP in the kernel parameters of Xen 3.2.0 (SUSE SLES 10 SP2). Oh yes, Hardware Assisted Paging is the same thing as Nested Paging, RVI (AMD marketing) and EPT (Intel marketing). Confused? Blame Intel and AMD marketing :-). The No-HAP or No NPT benchmarks are normalized to 100%.
There are two very interesting analyses to be made from the graph above. First of all, Xen 3.2.0 which can be found in the newest Novell SLES 10 SP2, is capable of running Windows 2003 R2 under heavy stress.
In theory this has been the case for quite some time as it was claimed from the start of Xen 3.0 that Xen would be able to run Windows based virtual machines thanks to hardware virtualization. In practice, all Xen versions 3.0.x have a lot of trouble with Windows as a guest OS, freezing the virtual machines up etc. Simply put, running Windows on a Xen hypervisor before Xen 3.2 is simply asking for trouble.
But now Xen is capable of running Windows 2003 machines. Our in house developed software really stresses the virtual machines well over their maximum, so we have good reason to believe that if a software survives the stresstest hell we put it through, it is stable. We believe Xen is now a viable (and probably cheap) alternative to VMWare ESX and Hyper-V.
Secondly, Nested Page Tables, also know as Rapid Virtualization Indexing (Yep, that is the marketing name :-) can give a serious boost to some memory intensive webservers. 31% better performance is nothing to sneeze at. Let me remind you that these webservers are not some industry standard benchmarks for which AMD can sent over a team of engineers to optimize it.
Now, we just used a realworld webserver for this benchmarking. If you like to get an idea of what kind of webserver software we tested, look here.
The OLTP test ("Oracle Swingbench") is not limited by the harddisk performance. We test with six 15000 rpm seagate SAS 300 GB disks (more or less the fastest harddisk you can get) in RAID-0 and we have performed the same test with twelve disks. The extra disks gave a 1% boost, so our disk system is not the bottleneck.
The Oracle Swingbench OLTP tests shows a smaller performance boost thanks to NPT, 7%. Not bad at all.
The two benchmarks shows that the second generation of hardware virtualization does make a difference. So hardware virtualization is one of those new technologies that really has a promising future. Seeing how NPT really pushes hardware virtualization forward feels a bit similar to the way the Voodoo 2 opened a new world of 3D graphics, or how the first dualcore CPUs started the multicore race. Pretty exciting if you ask us, and we feel the same way about our upcoming articles.
Oh and in case you haven't noticed, it.anandtech.com really offers you some very special content on virtualization. If you are sick an tired of reading the same woolly - copied from the software vendors - texts about virtualization, you should start reading right here. We have