Introduction to Virtualization Part 4 – The Conclusion
Â
When I first heard about Intel’s VT-x and AMD’s SVM technology I expected to see performance improvements over the software based solutions such as Binary Translation and Paravirtualization. Both AMD and Intel gave the impression that they were about to “enhance” and “accelerate” the current purely software based solutions.
What AMD and Intel did was extend x86 to make “Classic Virtualization” possible, very similar to the old IBM mainframe virtualization. In other words, hardware virtualization support does not really “enhance” Binary Translation or Paravirtualization; it is a completely different approach. First generation hardware virtualization was even a step back from a performance view, but one that enabled many steps forward. The first generation of virtualization has been improved, and is now adopted by VMware to support 64-bit guest OSes and by Xen to run unmodified OSes (such as Windows). So right now, hardware virtualization still has a long way to go while software virtualization is mature and represents the current standard.
Second generation virtualization (VT-x+EPT and AMD-V+NPT) is more promising, but while it can improve performance significantly it is not guaranteed that it will improve performance across all applications due to the heavy TLB miss cost. On the flip side of the coin: software virtualization is very mature, but there is very little headroom left to improve. The smartest way is to use a hybrid approach, and that is exactly what VMware, Xen, and Microsoft have been doing. Read More »













