Tuesday, August 14, 2012

VMware - Software and Hardware Techniques for x86 Virtualization

In the early days of x86 virtualization, uniformity ruled: all CPUs implemented essentially the same 32-bit architecture and the virtual machine monitor (VMM) always used software techniques to run guest operating systems. This uniformity no longer exists. CPUs today come in 32- and 64-bit variants. Some CPUs have hardware support for virtualization; others do not. Moreover, this hardware support comes in multiple forms for virtualizing different aspects of the x86 architecture.  This document describes the x86 architecture from a virtualization point of view, relating critical architectural features to the major releases of VMware ESX. The goal is to provide, for each version of VMware ESX, an understanding of:

* Which CPU features are required
* Which CPU features can be utilized (but are not required)
* Which CPU features can be virtualized—that is, made available to software running in the virtual machine

With a better understanding of how CPU features are required, used, and virtualized by VMware ESX, you can reason more precisely about what can be virtualized, what performance levels may result for a given combination of CPU, guest operating system, and version of VMware ESX, and how workloads may respond to adjusting configuration parameters both for software running in the virtual machine and at the VMware ESX level.

Full white paper is located at

No comments: