My notes on "A Comparison of Software and Hardware Techniques for x86 Virtualization"


A Comparison of Software and Hardware Techniques for x86 Virtualization, by K. Adams and O. Agesen


My thoughts on the paper

Back in 1999, VMware introduced their first product, the VMware workstation. That was a hosted VMM that ran on an OS. In 2002, VMware released their ESX server, which ran on bare-metal. It used dynamic binary translation, as described in this paper.

Interestingly enough, this paper didn't come out until 2006. The goal here was to compare VMware's software based VMM, with a new hardware VMM based on Intel + AMD's (at the time) new x86 architecture extensions which supported classic virtualization.

I love the authors' reference to the RISC vs. CISC debate at the end of this paper. Much like how RISC architectures challenged the idea that doing things in hardware is always faster than doing them in software, this paper showed that VMware's software-based virtualization technique, binary translation, out performed VMMs that were based on Intel and AMD's architecture extensions for virtualization support.

My notes

2. Classic virtualization 3. Software virtualization 4. Hardware virtualization 5. Qualitative comparison 6. Experiments 7. Software and hardware opportunities 9. Conclusion