We recently released a whitepaper 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. The benefits seen can include 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, as 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 from AMD and Intel VT-x from Intel, the
VMware virtual machine monitor (VMM) relied upon software-only techniques for
virtualizing x86 processors.
- 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 w/ 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. In software MMU virtualization, 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.