Virtualization allows IT professionals to operate multiple virtual machines on one physical server. This requires the single physical system to create and maintain multiple virtual systems. The core of virtualization is the virtual machine monitor (VMM), which handles many of the tasks essential to successful virtualization. The VMM manages multiple instances of an operating system and switches instances so that each virtual machine can access the underlying processor, memory and local disk resources. It uses emulation to share the computing resources while keeping each of the virtual machines isolated from one another.
The problem with virtualization performance is that before 2005, major processors sorely lacked the internal instruction set needed to process virtualization tasks efficiently. Virtualization tasks were handled in software, which resulted in poor VM behavior, poor resource control and poor efficiency. In short, virtualization did not work well, and server performance suffered. Both AMD and Intel created processor extensions to address the added demands of virtualization. These extensions reduce (or even eliminate) the trapping and emulation of demanding instructions within the guest operating system, vastly improving the security and performance of virtual machine instances.
Intel VT, initially code-named "Vanderpool," appeared in plans for processors using their "Nehalem" architecture, which now encompasses a large number of processor families including versions of Pentium 4, the Celeron, Core i5, Core i7, Core Solo, Core 2 Duo, Core 2 Extreme, Core 2 Quad, Xeon and other processors. It's important to realize that not all recent Intel processors (nor every model within a particular family) necessarily support VT-x: It's considered a feature for high-end PCs and servers. A list of Intel processors with VT-x support can be referenced on Intel's website.
Intel has created a series of extensions to provide hardware for virtualization. The Intel VT-x extensions are probably the best recognized extensions, adding migration, priority and memory handling capabilities to a wide range of Intel processors. By comparison, the VT-d extensions add virtualization support to Intel chipsets that can assign specific I/O devices to specific VMs, while the VT-c extensions bring better virtualization support to I/O devices such as network switches.
Memory control and management play a huge role in hardware-based virtualization support. Intel VT-x extensions eliminate the software-based emulation often associated with VMM interventions, and Extended Page Tables add the memory management features needed to switch the processor control between various virtual machines.
Intel's VT FlexPriority feature helps manage processor interrupts. Since interrupts from certain devices and other applications can often impact the processor's performance, Intel includes a task priority register to gauge task priority. Only interrupts with a higher priority than the current task are handled immediately, and lesser interrupts are placed onto a stack for later handling as the workload permits. The Intel VT FlexMigration feature allows virtualization platforms to easily and quickly migrate virtual machines across servers that run Intel VT-x supported processors. It's important to note that extended migration is not necessarily compatible with AMD processors, and this may cause performance issues (or outright failures) when migrating VMs between servers with differing processor makers.
About the author
Stephen J. Bigelow, senior technology writer, has more than 15 years of writing experience in the PC/technology industry. He holds a BSEE, CompTIA A+, Network+, Security+ and Server+ certifications and has written hundreds of articles and more than 15 feature books on computer troubleshooting, including Bigelow's PC Hardware Desk Reference and Bigelow's PC Hardware Annoyances. Contact him at email@example.com.
This was first published in October 2009