Home > Blogs > VMware VROOM! Blog > Author Archives: Nikhil Bhatia

Author Archives: Nikhil Bhatia

Virtual Machine Monitor Execution Modes in vSphere 4.0

Recently we published a whitepaper describing the VMware Virtual Machine Monitor (VMM) execution modes in vSphere 4.0. The VMM may choose hardware support for virtualization whenever it's available or may choose software techniques for virtualization when hardware support is unavailable or not enabled on the underlying platform. The method chosen by the VMM for virtualizing the x86 CPU and MMU is known as the "monitor mode".

This paper attempts to familiarize our customers with default monitor modes chosen by the VMware VMM for many popular guests running on modern x86 CPUs. Most workloads perform well under these default settings. In some cases the user may want to override the default monitor mode. We provide a few examples in which the user may observe performance benefits in overriding the default monitor modes and two ways by which the user can override the defaults.

The default monitor mode chosen by the VMM for a particular guest depends on the available (or enabled) hardware features on the underlying platform and the guest OS performance in that mode. The difference in the availability of virtualization support on modern x86 CPUs and the guest OS performance when using those features (or when using software techniques when those features are unavailable) leads to a complex problem of choosing the appropriate monitor mode for a given guest on a given x86 CPU.  For more details please download and read our full paper from here.

Performance Evaluation of Intel EPT Hardware Assist

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.

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 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.

Performance Evaluation of AMD RVI Hardware Assist










We
recently released a whitepaper that demonstrates huge performance gains provided
by VMware ESX server on latest third generation AMD Opteron™ processors. These
processors introduce AMD’s
second generation hardware support for
virtualization that incorporates memory management unit (MMU) virtualization,
called Rapid Virtualization Indexing™ (RVI). Intel has also announced MMU
virtualization support in their “Nehalem” processors 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 AMD RVI Hardware Assist

The
performance gains observed in this paper were up to 42% for MMU intensive
benchmarks and up to 500% for MMU-intensive microbenchmarks compared to
software-only virtualization. We also observed that although RVI 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 RVI 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.

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, 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, 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.