Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

A comparison of software and hardware techniques for x86 virtualization

Published: 20 October 2006 Publication History

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.

References

[1]
AGESEN, O., AND DETLEFS, D. Mixed-mode bytecode execution. Technical Report SMLI TR-200-87, Sun Microsystems, Inc., Mountain View, CA, USA, 2000.
[2]
AMD. AMD64 Virtualization Codenamed "Pacifica" Technology: Secure Virtual Machine Architecture Reference Manual, May 2005.
[3]
AMSDEN, Z., ARAI, D., HECHT, D., HOLLER, A., AND SUBRAHMANYAM, P. VMI: An interface for paravirtualization. Ottawa Linux Symposium (2006).
[4]
BALA, V., DUESTERWALD, E., AND BANERJIA, S. Dynamo: a transparent dynamic optimization system. In PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on programming language design and implementation (New York, NY, USA, 2000), ACM Press, pp. 1--12.
[5]
BARHAM, P., DRAGOVIC, B., FRASER, K., HAND, S., HARRIS, T., HO, A., NEUGEBAUER, R., PRATT, I., AND WARFIELD, A. Xen and the art of virtualization. In SOSP '03: Proceedings of the nineteenth ACM symposium on operating systems principles (New York, NY, USA, 2003), ACM Press, pp. 164--177.
[6]
CLARK, D.W., AND STRECKER, W.D. Comments on "the case for the reduced instruction set computer," by Patterson and Ditzel. SIGARCH Comput. Archit. News 8, 6 (1980), 34--38.
[7]
CMELIK, B., AND KEPPEL, D. Shade: a fast instruction-set simulator for execution profiling. In SIGMETRICS '96: Proceedings of the 1996 ACM SIGMETRICS international conference on measurement and modeling of computer systems (New York, NY, USA, 1994), ACM Press, pp. 128--137.
[8]
CRAMER, T., FRIEDMAN, R., MILLER, T., SEBERGER, D., WILSON, R., AND WOLCZKO, M. Compiling java just in time. IEEE Micro 17, 3 (1997), 36--43.
[9]
DEHNERT, J.C., GRANT, B.K., BANNING, J.P., JOHNSON, R., KISTLER, T., KLAIBER, A., AND MATTSON, J. The transmeta code morphing software: using speculation, recovery, and adaptive retranslation to address real-life challenges. In CGO '03: Proceedings of the international symposium on code generation and optimization (Washington, DC, USA, 2003), IEEE Computer Society, pp. 15--24.
[10]
DEITEL, H.M. An introduction to operating systems (2nd ed.). Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1990.
[11]
HENNESSY, J.L., AND PATTERSON, D.A. Computer architecture: a quantitative approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002.
[12]
INTEL CORPORATION. Intel R Virtualization Technology Specification for the IA-32 Intel R Architecture, April 2005.
[13]
KARGER, P.A., ZURKO, M.E., BONIN, D.W., MASON, A.H., AND KAHN, C.E. A vmm security kernel for the vax architecture. In IEEE Symposium on Security and Privacy (1990), pp. 2--19.
[14]
LEVASSEUR, J., UHLIG, V., CHAPMAN, M., CHUBB, P., LESLIE, B., AND HEISER, G. Pre-virtualization: Slashing the cost of virtualization. Technical Report 2005-30, Fakultät für Informatik, Universität Karlsruhe (TH), Nov. 2005.
[15]
MCGHAN, H., AND O'CONNOR, M. Picojava: A direct execution engine for java bytecode. Computer 31, 10 (1998), 22--30.
[16]
NEIGER, G., SANTONI, A., LEUNG, F., RODGERS, D., AND UHLIG, R. Intel virtualization technology: Hardware support for efficient processor virtualization. Intel Technology Journal 10, 3 (2006).
[17]
OSISEK, D.L., JACKSON, K.M., AND GUM, P.H. ESA/390 interpretive-execution architecture, foundation for VM/ESA. IBM Systems Journal 30, 1 (1991), 34--51.
[18]
PATTERSON, D.A., AND DITZEL, D.R. The case for the reduced instruction set computer. SIGARCH Comput. Archit. News 8, 6 (1980), 25--33.
[19]
POPEK, G.J., AND GOLDBERG, R.P. Formal requirements for virtualizable third generation architectures. Commun. ACM 17, 7 (1974), 412--421.
[20]
POPEK, G.J., AND KLINE, C.S. The pdp-11 virtual machine architecture: A case study. In SOSP '75: Proceedings of the fifth ACM symposium on operating systems principles (New York, NY, USA, 1975), ACM Press, pp. 97--105.
[21]
ROBIN, J., AND IRVINE, C. Analysis of the intel pentium's ability to support a secure virtual machine monitor. In Proceedings of the 9th USENIX Security Symposium (2000).
[22]
SILBERSCHATZ, A., AND PETERSON, J.L., Eds. Operating systems concepts. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1988.
[23]
SMITH, J.E., AND NAIR, R. Virtual machines: versatile platforms for systems and processes. Morgan Kaufmann Publishers, San Francisco, CA, USA, 2005.
[24]
UHLIG, R., NEIGER, G., RODGERS, D., SANTONI, A.L., MARTINS, F.C.M., ANDERSON, A.V., BENNETT, S.M., KAGI, A., LEUNG, F. H., AND SMITH, L. Intel virtualization technology. Computer 38, 5 (2005), 48--56.
[25]
WHITAKER, A., SHAW, M., AND GRIBBLE, S.D. Scale and performance in the denali isolation kernel. SIGOPS Oper. Syst. Rev. 36, SI (2002), 195--209.
[26]
WITCHEL, E., AND ROSENBLUM, M. Embra: fast and flexible machine simulation. In SIGMETRICS '96: Proceedings of the 1996 ACM SIGMETRICS international conference on measurement and modeling of computer systems (New York, NY, USA, 1996), ACM Press, pp. 68--79.

Cited By

View all
  • (2024)An End-to-end High-performance Deduplication Scheme for Docker Registries and Docker Container Storage SystemsACM Transactions on Storage10.1145/364381920:3(1-35)Online publication date: 30-Jan-2024
  • (2023)Tailor-made Virtualization Monitor Design for CPU Virtualization on LEON ProcessorsACM Transactions on Embedded Computing Systems10.1145/358470222:4(1-32)Online publication date: 17-Feb-2023
  • (2023)Image Preheating: Enables Fast Startup of Large-Scale Parallel Containerized Jobs2023 6th International Conference on Software Engineering and Computer Science (CSECS)10.1109/CSECS60003.2023.10428577(1-8)Online publication date: 22-Dec-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 40, Issue 5
Proceedings of the 2006 ASPLOS Conference
December 2006
425 pages
ISSN:0163-5980
DOI:10.1145/1168917
Issue’s Table of Contents
  • cover image ACM Conferences
    ASPLOS XII: Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
    October 2006
    440 pages
    ISBN:1595934510
    DOI:10.1145/1168857
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 October 2006
Published in SIGOPS Volume 40, Issue 5

Check for updates

Author Tags

  1. MMU
  2. SVM
  3. TLB
  4. VT
  5. dynamic binary translation
  6. nested paging
  7. virtual machine monitor
  8. virtualization
  9. x86

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)403
  • Downloads (Last 6 weeks)47
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)An End-to-end High-performance Deduplication Scheme for Docker Registries and Docker Container Storage SystemsACM Transactions on Storage10.1145/364381920:3(1-35)Online publication date: 30-Jan-2024
  • (2023)Tailor-made Virtualization Monitor Design for CPU Virtualization on LEON ProcessorsACM Transactions on Embedded Computing Systems10.1145/358470222:4(1-32)Online publication date: 17-Feb-2023
  • (2023)Image Preheating: Enables Fast Startup of Large-Scale Parallel Containerized Jobs2023 6th International Conference on Software Engineering and Computer Science (CSECS)10.1109/CSECS60003.2023.10428577(1-8)Online publication date: 22-Dec-2023
  • (2023)FlyOS: rethinking integrated modular avionics for autonomous multicoptersReal-Time Systems10.1007/s11241-023-09399-w59:2(256-301)Online publication date: 23-May-2023
  • (2022)Next-Generation Optimization Models and Algorithms in Cloud and Fog Computing Virtualization SecurityScientific Programming10.1155/2022/24192912022Online publication date: 1-Jan-2022
  • (2022)ES2: Building an Efficient and Responsive Event Path for I/O VirtualizationIEEE Transactions on Cloud Computing10.1109/TCC.2020.296966010:2(1358-1372)Online publication date: 1-Apr-2022
  • (2022)FLYOS: Integrated Modular Avionics for Autonomous Multicopters2022 IEEE 28th Real-Time and Embedded Technology and Applications Symposium (RTAS)10.1109/RTAS54340.2022.00014(68-81)Online publication date: May-2022
  • (2022)A command and control partition system based on unified access platform2022 4th International Academic Exchange Conference on Science and Technology Innovation (IAECST)10.1109/IAECST57965.2022.10062274(1492-1498)Online publication date: 9-Dec-2022
  • (2021)Compendia: reducing virtual-memory costs via selective densificationProceedings of the 2021 ACM SIGPLAN International Symposium on Memory Management10.1145/3459898.3463902(52-65)Online publication date: 22-Jun-2021
  • (2021)BlueVisor: Time-Predictable Hardware Hypervisor for Many-core Embedded SystemsIEEE Transactions on Computers10.1109/TC.2021.3125226(1-1)Online publication date: 2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media