A comparison of software and hardware techniques for x86 virtualization
- 20 October 2006
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 41 (11) , 2-13
- https://doi.org/10.1145/1168918.1168860
Abstract
Until recently, the x86 architecture has not permitted classical trap-and-emulate virtualization. Virtual Machine Monitors for x86, such as VMware ® Workstation and Virtual PC, have instead used binary translation of the guest kernel code. However, both Intel and AMD have now introduced architectural extensions to support classical virtualization.We compare an existing software VMM with a new VMM designed for the emerging hardware support. Surprisingly, the hardware VMM often suffers lower performance than the pure software VMM. To determine why, we study architecture-level events such as page table updates, context switches and I/O, and find their costs vastly different among native, software VMM and hardware VMM execution.We find that the hardware support fails to provide an unambiguous performance advantage for two primary reasons: first, it offers no support for MMU virtualization; second, it fails to co-exist with existing software techniques for MMU virtualization. We look ahead to emerging techniques for addressing this MMU virtualization problem in the context of hardware-assisted virtualization.Keywords
This publication has 15 references indexed in Scilit:
- IntelŴVirtualization Technology: Hardware Support for Efficient Processor VirtualizationIntel Technology Journal, 2006
- Xen and the art of virtualizationPublished by Association for Computing Machinery (ACM) ,2003
- Scale and performance in the Denali isolation kernelACM SIGOPS Operating Systems Review, 2002
- DynamoPublished by Association for Computing Machinery (ACM) ,2000
- PicoJava: a direct execution engine for Java bytecodeComputer, 1998
- Compiling Java just in timeIEEE Micro, 1997
- EmbraPublished by Association for Computing Machinery (ACM) ,1996
- ESA/390 interpretive-execution architecture, foundation for VM/ESAIBM Systems Journal, 1991
- The case for the reduced instruction set computerACM SIGARCH Computer Architecture News, 1980
- Formal requirements for virtualizable third generation architecturesCommunications of the ACM, 1974