Hardware-Assisted Memory Virtualization

Some processors address memory management unit (MMU) virtualization overhead by providing hardware support that virtualizes the MMU.

Without hardware-assisted MMU virtualization, VMware ESX maintains “shadow page tables” that directly map a guest's virtual memory to a host's physical memory address.

These shadow page tables are maintained for the processor, and are kept synchronized with the guest page tables. This allows ordinary memory references to execute without additional overhead, since the hardware translation lookaside buffer (TLB) caches direct guest virtual memory to a host's physical memory address translations that are read from shadow page tables. However, extra work is required to maintain the shadow page tables.

Hardware assistance eliminates software memory virtualization overhead. In particular, it eliminates the overhead required to keep shadow page tables synchronized with guest page tables, although the TLB miss latency is significantly higher than without hardware assistance. This means that hardware assistance provides workload benefits that depend primarily on the memory virtualization overhead that is caused when using software memory virtualization.

If a workload involves a small amount of page table activity (for example, process creation, mapping the memory, or context switches), software virtualization does not cause significant overhead. However, workloads that include a large amount of page table activity, such as workloads from a database, are likely to benefit from hardware assistance.

Sybase recommends that you allow vSphere to choose the virtual machine monitor based on the combination of CPU and guest operating system. In most cases, you see better performance by using hardware-assisted virtualization rather than by using shadow page tables.