Understanding Hardware-Assisted Virtualization
Last Updated: 08-31-2010 , Posted: 04-20-2007
Virtualization solutions enable you to run multiple VMs (virtual machines) on one physical computer. System virtualization is a technology often used to consolidate systems, workloads and operating environments by using a single physical system to create multiple virtual systems. Current market leaders include VMWare for Windows and Linux, Microsoft Virtual Server, and the open source Xen hypervisor.
At the heart of of system virtualization is another technology called a Virtual Machine Monitor (VMM). The VMM provides the underpinnings for virtualization management, which includes policy-based automation, virtual hard disk, life cycle management, live migration and real-time resource allocation.
You can basically think of the VMM as the part of the code in firmware that manages either multiple operating systems or multiple instances of the same operating system on a single computer system. Its job is to manage the system's processor, memory and other resources to allocate what each operating system requires. VMMs provide the means, through emulation, to divide a single, physical server or blade, allowing multiple operating systems to run securely on the same CPU and increase the CPU utilization.
What the industry has seen lacking was support for virtualization at the hardware level to boost the performance of the VMM. This is because the x86 processor architecture did not previously meet virtualization standards, making virtualization on the x86 platforms difficult. Starting in 2005 both AMD and Intel made changes to their x86 architectures and added virtualization-friendly extensions.
Intel Virtualization Technology (VT) XeonIntel Virtualization Technology (Intel VT) is a set of hardware enhancements to Intel server and client platforms that provide software-based virtualization solutions. Intel VT allows a platform to run multiple operating systems and applications in independent partitions, allowing one computer system to function as multiple virtual systems.
AMD-Virtualization (AMD-V) OpteronAMD's Virtualization (AMD-V) technology, which takes some tasks that virtual machine managers (VMMs) perform in software, through emulation, and simplifies them through enhancements to the AMD Athlon 64 and Opteron instruction set. AMD Virtualization Technology was announced in 2004, under the code-name Pacifica, and AMD released technical details in mid-2005.
Benefits of Hardware-Assisted VirtualizationHardware-assisted virtualization changes the access to the operating system itself. x86 operating systems are designed to have direct access to system resources to run. With software virtualization the VMM emulates the required hardware to the operating system. With hardware-assisted virtualization the operating system has direct access to resources without any emulation or OS modification.
Microprocessor virtualization extensions offer new instructions to control virtualization. Operating systems provide different levels of access to resources, called a protection ring. This ring is a hierarchical level of privilege within the architecture of a computer system. The most privileged layer is usually zero. Ring 0 not only has the most privileges but also is the layer which directly accesses the system's hardware.
In the traditional x86 architecture, operating system kernels expect direct CPU access running in Ring 0, which is the most privileged level. With software virtualization, guest operating systems cannot run in Ring 0 because the VMM sits there. The guest operating systems must therefore run in Ring 1, but there's a catch: Some x86 instructions work only in Ring 0, so the operating systems must be recompiled to avoid them. This process is called paravirtualization, and it is impractical — especially if the source code for the OS is not available. To get around this, VMMs traps these instructions and emulates them, which unfortunately results in an enormous performance hit: Virtual machines can be significantly slower than real physical ones.
Thus, Intel and AMD have introduced their new virtualization technologies, a handful of new instructions and — crucially — a new privilege level. The hypervisor can now run at "Ring -1"; so the guest operating systems can run in Ring 0. There's no need for paravirtualization, the VMM does less work, and the performance hit is reduced.
Summing it Up: Compatibility & Performance
The virtualization technologies offered by Intel and AMD are not compatible, but each offers similar functionality. For reference saks, they also are collectively referred to as hardware virtualization technology (hardware VT or just VT). These virtualization-friendly extensions for the x86 architecture essentially provide the foundation to maximize the efficiency and capabilities of software virtualization. Hardware VT performance is noted through the increase in the number of virtual machines within a single physical system. Additionally there can be larger numbers of users on the multiple virtual machines.
Because is is a relatively new technology, not all virtualization software currently takes advantage of Intel and AMD's virtualization technology, and you may also find that the software supports only one and not both technologies. You can, however, expect the major players in the virtualization software market to support hardware-assisted virtualization.
For more terms and related links, you can view Webopedia's Virtualization category.
Did You Know...
Popek and Goldberg.s 1974 paper establishes three essential characteristics for system software to be considered a VMM:
|Key Terms To Understanding Virtualization: