Thursday, October 6, 2011

Intel Virtualization Technology (VT) Explained

Introduction 
Intel has launched two Pentium 4 CPUs – 672 and 662 – supporting the new Intel Virtualization Technology (VT). Formerly known as Vanderpool, this technology enables a CPU to act as if it were several CPUs working in parallel, in order to enable several operating systems to run at the same time in the same machine. In this tutorial we will explain everything you need to know about this new technology.
Virtualization technology is nothing new. There is some software on the market that enables virtualization and probably VMware is the most famous one. With this technique, a single CPU can act if it were several CPUs running in parallel, allowing the system to run several operating systems at the same time. 
You may confuse virtualization with multitasking or even with Hyper-Threading. On multitasking, there is a single operating system and several programs running in parallel.  On virtualization, you can have several operating systems running in parallel, each one with several programs running. Each operating system runs on a ”virtual CPU“ or ”virtual machine“. And Hyper-Threading simulates two CPUs were there is just one physical CPU for balancing performance using SMP (Symmetric Multi Processing), and these two CPUs cannot be used separately.  




Of course if a CPU has both Hyper-Threading and Virtualization Technology each virtual CPU will appear to the operating system as if two CPUs are available on the system for symmetric multiprocessing.
If you pay close attention, Virtualization Technology uses the same idea of Virtual 8086 (V86) mode, which is available since 386’s. With V86 mode you can create several virtual 8086 machines to run DOS-based programs in parallel. With VT you can create several ”complete“ virtual machines to run full operating systems in parallel.
But if there are software like VMware that enables virtualization, why implement Virtualization Technology inside the CPU? The advantage is that CPUs with Virtualization Technology have some new instructions to control virtualization. With them, controlling software (called VMM, Virtual Machine Monitor) can be simpler, thus improving performance compared to software-only solutions.


How It Works
Processors with Virtualization Technology have an extra instruction set called Virtual Machine Extensions or VMX. VMX brings 10 new virtualization-specific instructions to the CPU: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF and VMXON.
There are two modes to run under virtualization: root operation and non-root operation. Usually only the virtualization controlling software, called Virtual Machine Monitor (VMM), runs under root operation, while operating systems running on top of the virtual machines run under non-root operation. Software running on top of virtual machines is also called ”guest software“.
To enter virtualization mode, the software should execute the VMXON instruction and then call the VMM software. Then VMM software can enter each virtual machine using the VMLAUNCH instruction, and exit it by using the VMRESUME. If VMM wants to shutdown and exit virtualization mode, it executes the VMXOFF instruction.




Figure 4: Virtualization technology operation.

Each guest shown in Figure 4 can be a different operating system, running its own software (even several programs at the same time as we have shown in Figure 3).


Conclusions
From Intel datasheet: ”Intel Virtualization Technology requires a computer system with a processor, chipset, BIOS, Virtual Machine Monitor (VMM) and for some uses, certain platform software enabled for it. Functionality, performance or other benefit will vary depending on hardware and software configurations. Intel Virtualization Technology-enabled BIOS and VMM applications are currently in development.“
So far, VMware Workstation 5 (which costs between USD 189.00 and USD 199.00) and VMware Player (which is free but you need to have virtual machines images created with Workstation or other software ready; on http://www.vmware.com/vmtn/vm/ you can find a lot of pre-build virtual machines for several different operating systems) support Intel’s Virtualization Technology.
It is not clear to us if Intel will release any VMM software on its own or if they will just wait for other vendor to change their virtualization software to support VT.
As for the BIOS, the solution is to wait for motherboard manufacturers to release VT-enabled BIOS (or at least certify that your current motherboard BIOS works fine with VT).
On the good side VT promises to have a better performance than VMWare, but we will have to wait until VT VMM software reaches the market to check if this is really true or it is just Intel propaganda.


If you want to check to see if the processor in the system you are using supports Intel® VT, please consider using the Intel® Processor Identification Utility, which you can download from Download Center

http://ark.intel.com/VTList.aspx

No comments:

Post a Comment