We recently released a technical paper that demonstrates huge performance gains provided by VMware ESX on the latest Intel Xeon 5500-series processors. These processors introduce Intel’s second-generation hardware support for virtualization that incorporates memory management unit (MMU) virtualization called Extended Page Tables (EPT). ESX has been adopting these technologies as they are introduced, and many workloads see performance benefits as a result, such as higher throughput and lower CPU utilization, improving user experience, and freeing up servers for greater consolidation. The paper can be found here: Performance Evaluation of Intel EPT Hardware Assist.
We did a similar performance study when AMD RVI was released. However, because the two studies were done with different VMware ESX builds, the results are not directly comparable. The performance gains observed in this paper were up to 48% for MMU-intensive benchmarks and up to 600% for MMU-intensive microbenchmarks compared to software MMU virtualization. We also observed that although EPT increases memory access latencies for a few workloads, this cost can be reduced by effectively using large pages in the guest and the hypervisor. For optimal performance, ESX aggressively tries to use large pages for its own memory when EPT is used.
Prior to the introduction in 2006 of first-generation hardware support for x86 virtualization, AMD-V, and Intel VT-x, the VMware virtual machine monitor (VMM) relied upon software-only techniques for virtualizing x86 processors.
We used:
- Binary Translation (BT) for instruction-set virtualization
- Shadow Paging for MMU virtualization
- Device Emulation for device virtualization
With the advent of first-generation hardware support on Intel Xeon processors, the VMM could make use of the hardware features for instruction-set virtualization. However, MMU and device virtualization were still done in software. Now with the introduction of second-generation virtualization hardware support (Intel VT-x with EPT), the VMM can take advantage of hardware-assist for both instruction-set and MMU virtualization. MMU virtualization allows the guest to access only those memory locations that belong to it. This requires the VMM to intercept guest execution when the guest updates its virtual memory data structures (page tables). In hardware MMU virtualization, the hardware provides a mechanism by which the VMM no longer needs to intercept guest execution during page table updates. This results in significant performance improvements for workloads that stress the x86 MMU. Continue reading here.