[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2576195.2576201acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

Efficient memory virtualization for Cross-ISA system mode emulation

Published: 01 March 2014 Publication History

Abstract

Cross-ISA system-mode emulation has many important applications. For example, Cross-ISA system-mode emulation helps computer architects and OS developers trace and debug kernel execution-flow efficiently by emulating a slower platform (such as ARM) on a more powerful plat-form (such as an x86 machine). Cross-ISA system-mode emulation also enables workload consolidation in data centers with platforms of different instruction-set architectures (ISAs). However, system-mode emulation is much slower. One major overhead in system-mode emulation is the multi-level memory address translation that maps guest virtual address to host physical address. Shadow page tables (SPT) have been used to reduce such overheads, but primarily for same-ISA virtualization. In this paper we propose a novel approach called embedded shadow page tables (ESPT). EPST embeds a shadow page table into the address space of a cross-ISA dynamic binary translation (DBT) and uses hardware memory management unit in the CPU to translate memory addresses, instead of software translation in a current DBT emulator like QEMU. We also use the larger address space on modern 64-bit CPUs to accommodate our DBT emulator so that it will not interfere with the guest operating system. We incorporate our new scheme into QEMU, a popular, retargetable cross-ISA system emulator. SPEC CINT2006 benchmark results indicate that our technique achieves an average speedup of 1.51 times in system mode when emulating ARM on x86, and a 1.59 times speedup for emulating IA32 on x86_64.

References

[1]
James Smith and Ravi Nair, "Virtual Machines: Versatile Platforms for Systems and Processes", Elsevier, 2005, ISBN: 1-55860-910-5
[2]
E. Witchel and M. Rosenblum, "Embra: Fast and Flexible Machine Simulation", Proceedings of the ACM SIGMETRICS international conference on Measurement and modeling of computer systems, 1996
[3]
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., and Wallace, S., Reddi, V. J., Hazelwood, K., "Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation", Programming languages design and implementation, June 2005.
[4]
N. Nethercote. Dynamic Binary Analysis and Instrumentation. A dissertation submitted for the degree of doctor of philosophy, University of Cambridge, November 2004.
[5]
K. Scott and J. Davidson. Strata: A Software Dynamic Trans-lation Infrastructure. In IEEE Workshop on Binary Translation (2001).
[6]
A. Chernoff and Ray Hookway, "DIGITAL FX!32: Running 32-Bit x86 Applications on Alpha NT", the Proc. of the USENIX Windows NT Workshop, August 1997
[7]
Vmware. http://www.vmware.com.
[8]
Xen. http://www.xen.org.
[9]
Sheng Yang, "Extending KVM with new Intel® Virtualization technology", Intel Open Source Technology Center, KVM Forum 2008.
[10]
WANG, C., HU, S., KIM, H.-S., NAIR, S., BRETERNITZ, M., YING, Z., and WU, Y. "Stardbt: An efficient multi-platform dynamic binary translation system", In Advances in Computer Systems Architecture, vol. 4697. 2007
[11]
Virtualbox. http://www.virtualbox.org/.
[12]
Payer, M., Kravina, E., and Gross T. R., "Lightweight Memory Tracing". In USENIX ATC, 2013
[13]
Bellard, F.; "QEMU, a Fast and Portable Dynamic Translator," in USENIX ATC 2005
[14]
K. Scott, N. Kumar, B. R. Childers, J.W. Davidson, and M. L. Soffa, "Overhead reduction techniques for software dynamic translation," in Proc. IPDPS, 2004, pp. 200--207.
[15]
D. Bruening, T. Garnett, S. Amarasinghe, "DynamoRIO: An Infrastructure for Adaptive Dynamic Optimization", Proceedings of the international symposium on code generation and optimization, 2003.
[16]
Transitive corporation. quicktransit software. http://www.transitive.com/.
[17]
Xiao Guangrong, "KVM MMU Virtualization", Linux Foundation Events, 2011.
[18]
N. Nethercote and J. Seward, "Valgrind: A Framework for Heavyweight dynamic Binary Instrumentation", ACM SIG-PLAN Conference on Programming Language Design and Implementation (PLDI 2007), June 2007
[19]
E. Bugnion, S. Devine, M. Rosenblum, J. Sugerman and E. Y. Wang, "Bringing Virtualization to the x86 Architecture with the Original VMware Workstation", TOCS, volume 30 issue 4, Nov 2012
[20]
K. Adams and O. Agesen, "A Comparison of Software and Hardware Techniques for x86 Virtualization", ASPLOS'06, San Jose, California, USA, October 21--25, 2006.

Cited By

View all
  • (2024)A System-Level Dynamic Binary Translator using Automatically-Learned Translation RulesProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444850(423-434)Online publication date: 2-Mar-2024
  • (2023)On-Demand Triggered Memory Management Unit in Dynamic Binary TranslatorAdvanced Parallel Processing Technologies10.1007/978-981-99-7872-4_17(297-309)Online publication date: 8-Nov-2023
  • (2021)Removing Load/Store Helpers in Dynamic Binary TranslationMulti‐Processor System‐on‐Chip 110.1002/9781119818298.ch7(133-160)Online publication date: 26-Mar-2021
  • Show More Cited By

Index Terms

  1. Efficient memory virtualization for Cross-ISA system mode emulation

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    VEE '14: Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
    March 2014
    236 pages
    ISBN:9781450327640
    DOI:10.1145/2576195
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 March 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cross-isa dynamic binary translation
    2. embedded shadow page table
    3. hardware mmu
    4. memory virtualization

    Qualifiers

    • Research-article

    Conference

    VEE '14

    Acceptance Rates

    VEE '14 Paper Acceptance Rate 18 of 56 submissions, 32%;
    Overall Acceptance Rate 80 of 235 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)26
    • Downloads (Last 6 weeks)8
    Reflects downloads up to 11 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A System-Level Dynamic Binary Translator using Automatically-Learned Translation RulesProceedings of the 2024 IEEE/ACM International Symposium on Code Generation and Optimization10.1109/CGO57630.2024.10444850(423-434)Online publication date: 2-Mar-2024
    • (2023)On-Demand Triggered Memory Management Unit in Dynamic Binary TranslatorAdvanced Parallel Processing Technologies10.1007/978-981-99-7872-4_17(297-309)Online publication date: 8-Nov-2023
    • (2021)Removing Load/Store Helpers in Dynamic Binary TranslationMulti‐Processor System‐on‐Chip 110.1002/9781119818298.ch7(133-160)Online publication date: 26-Mar-2021
    • (2019)Unleashing the power of learningProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358815(77-89)Online publication date: 10-Jul-2019
    • (2018)Enhancing Cross-ISA DBT Through Automatically Learned Translation RulesACM SIGPLAN Notices10.1145/3296957.317716053:2(84-97)Online publication date: 19-Mar-2018
    • (2018)Enhancing Cross-ISA DBT Through Automatically Learned Translation RulesProceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3173162.3177160(84-97)Online publication date: 19-Mar-2018
    • (2017)HyperMAMBO-X64ACM SIGPLAN Notices10.1145/3140607.305075652:7(228-241)Online publication date: 8-Apr-2017
    • (2017)Enabling Cross-ISA Offloading for COTS BinariesProceedings of the 15th Annual International Conference on Mobile Systems, Applications, and Services10.1145/3081333.3081337(319-331)Online publication date: 16-Jun-2017
    • (2017)HyperMAMBO-X64Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3050748.3050756(228-241)Online publication date: 8-Apr-2017
    • (2017)Optimizing Memory Access Performance Using Hardware Assisted Virtualization in Retargetable Dynamic Binary Translation2017 Euromicro Conference on Digital System Design (DSD)10.1109/DSD.2017.41(40-46)Online publication date: Aug-2017
    • 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