A comparison of software and hardware techniques for x86 virtualization
Authors:
Open Access
- 20 October 2006
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 34 (5) , 2-13
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 virtualization2003
- Scale and performance in the Denali isolation kernelACM SIGOPS Operating Systems Review, 2002
- Dynamo2000
- PicoJava: a direct execution engine for Java bytecodeComputer, 1998
- Compiling Java just in timeIEEE Micro, 1997
- Embra1996
- 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