skip to main content
10.1145/2731186.2731188acmconferencesArticle/Chapter ViewAbstractPublication PagesveeConference Proceedingsconference-collections
research-article

HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines

Published: 14 March 2015 Publication History

Abstract

Cross-ISA (Instruction Set Architecture) system-level virtual machine has a significant research and practical value. For example, several recently announced virtual smart phones for iOS which run smart phone applications on x86 based PCs are deployed on cross-ISA system level virtual machines. Also, for mobile device application development, by emulating the Android/ARM environment on the more powerful x86-64 platform, application development and debugging become more convenient and productive. However, the virtualization layer often incurs high performance overhead. The key overhead comes from memory virtualization where a guest virtual address (GVA) must go through multi-level address translation to become a host physical address (HPA). The Embedded Shadow Page Table (ESPT) approach has been proposed to effectively decrease this address translation cost. ESPT directly maps GVA to HPA, thus avoid the lengthy guest virtual to guest physical, guest physical to host virtual, and host virtual to host physical address translation. However, the original ESPT work has a few drawbacks. For example, its implementation relies on a loadable kernel module (LKM) to manage the shadow page table. Using LKMs is less desirable for system virtual machines due to portability, security and maintainability concerns. Our work proposes a different, yet more practical, implementation to address the shortcomings. Instead of relying on using LKMs, our approach adopts a shared memory mapping scheme to maintain the shadow page table (SPT) using only ''mmap'' system call. Furthermore, this work studies the support of SPT for multi-processing in greater details. It devices three different SPT organizations and evaluates their strength and weakness with standard and real Android applications on the system virtual machine which emulates the Android/ARM platform on x86-64 systems.

References

[1]
ARM R Architecture Reference Manual.
[2]
Android emulator. URL http://developer.android.com/tools/help/emulator.html.
[3]
Cve. URL http://www.cvedetails.com.
[4]
Intel R 64andIA-32 ArchitecturesSoftwareDeveloperManual.
[5]
Qemu emulator. URL http://wiki.qemu.org/Manual.
[6]
Virtualbox. URL http://www.virtualbox.org/.
[7]
Windowsapi. URL http://msdn.microsoft.com/en-us/library.
[8]
Xen. URL http://www.xen.org.
[9]
Amd-v nested paging, 2008.
[10]
K. Adams and O. Agesen. A comparison of software and hardware techniques for x86 virtualization. SIGARCH Comput. Archit. News, 34(5):2-13, Oct. 2006. ISSN 0163-5964.
[11]
J. Ahn, S. Jin, and J. Huh. Revisiting hardware-assisted page walks for virtualized systems. In Proceedings of the 39th Annual International Symposium on Computer Architecture, ISCA '12, pages 476--487, 2012. ISBN 978-1-4503-1642-2.
[12]
R. Bhargava, B. Serebrin, F. Spadini, and S. Manne. Accelerating two-dimensional page walks for virtualized systems. SIGPLAN Not., 43(3):26--35, Mar. 2008. ISSN 0362-1340.
[13]
E. Bugnion, S. Devine, M. Rosenblum, J. Sugerman, and E. Y. Wang. Bringing virtualization to the x86 architecture with the original vmware workstation. ACM Trans. Comput. Syst., 30 :12:1--12:51, Nov. 2012. ISSN 0734-2071.
[14]
C.-J. Chang, J.-J. Wu, W.-C. Hsu, P. Liu, and P.-C. Yew. Efficient memory virtualization for cross-isa system mode emulation. In Proceedings of the 10th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE '14, pages 117--128, 2014. ISBN 978-1-4503-2764-0.
[15]
H. Chen and B. Zang. A case for secure and scalable hypervisor using safe language. In Proceedings of the 2012 International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM '12, 2012.
[16]
H. Chen, Y. Mao, X. Wang, D. Zhou, N. Zeldovich, and M. F. Kaashoek. Linux kernel vulnerabilities: State-of-theart defenses and open problems. In Proceedings of the Second Asia-Pacific Workshop on Systems, APSys '11, 2011.
[17]
J. Park, D. Lee, B. Kim, J. Huh, and S. Maeng. Localityaware dynamic vm reconfiguration on mapreduce clouds. In Proceedings of the 21st International Symposium on High-Performance Parallel and Distributed Computing, HPDC '12, pages 27--36, 2012. ISBN 978-1-4503-0805-2.
[18]
J. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design). 2005.
[19]
R. S. M. A. B. K. L. Uhlig, Neiger and Smith. Intel virtualization technology. Computer, 2005.
[20]
P. Varanasi and G. Heiser. Hardware-supported virtualization on arm. In Proceedings of the Second Asia-Pacific Workshop on Systems, APSys '11, 2011.
[21]
VMware. Performance evaluation of amd rvi hardware assist. Technical report, Technical report, 2009.
[22]
VMware. Performance evaluation of intel ept hardware assist. Technical report, Technical report, 2009.
[23]
C. A.Waldspurger. Memory resource management in VMware esx server. In Proceedings of the 5th Symposium on Operating Systems Design and implementation, OSDI '02, pages 181--194, 2002. ISBN 978-1-4503-0111-4.
[24]
X. Wang, J. Zang, Z. Wang, Y. Luo, and X. Li. Selective hardware/software memory virtualization. SIGPLAN Not., 46:217--226, Mar. 2011. ISSN 0362-1340.
[25]
S. Yang. Extending kvm with new intel R virtualization technology. In Intel Open Source Technology Center., 2008.

Cited By

View all
  • (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
  • (2020)A Retargetable System-level DBT HypervisorACM Transactions on Computer Systems10.1145/338616136:4(1-24)Online publication date: 30-May-2020
  • (2020)SofTEE: Software-Based Trusted Execution Environment for User ApplicationsIEEE Access10.1109/ACCESS.2020.30067038(121874-121888)Online publication date: 2020
  • Show More Cited By

Index Terms

  1. HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    VEE '15: Proceedings of the 11th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
    March 2015
    238 pages
    ISBN:9781450334501
    DOI:10.1145/2731186
    • cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 50, Issue 7
      VEE '15
      July 2015
      221 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2817817
      • Editor:
      • Andy Gill
      Issue’s Table of Contents
    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: 14 March 2015

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. cross-isa virtualization
    2. embedded shadow page table
    3. hosted shadow page table
    4. hspt
    5. loadable kernel module
    6. memory virtualization
    7. portability
    8. practical implementation
    9. security

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    VEE '15

    Acceptance Rates

    VEE '15 Paper Acceptance Rate 16 of 50 submissions, 32%;
    Overall Acceptance Rate 80 of 235 submissions, 34%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)44
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 05 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (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
    • (2020)A Retargetable System-level DBT HypervisorACM Transactions on Computer Systems10.1145/338616136:4(1-24)Online publication date: 30-May-2020
    • (2020)SofTEE: Software-Based Trusted Execution Environment for User ApplicationsIEEE Access10.1109/ACCESS.2020.30067038(121874-121888)Online publication date: 2020
    • (2019)A retargetable system-level DBT hypervisorProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358850(505-520)Online publication date: 10-Jul-2019
    • (2019)OCMA: Fast, Memory-Efficient Factorization of Prohibitively Large Relationship MatricesG3 Genes|Genomes|Genetics10.1534/g3.118.2009089:1(13-19)Online publication date: 1-Jan-2019
    • (2017)SimBench: A portable benchmarking methodology for full-system simulators2017 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)10.1109/ISPASS.2017.7975293(217-226)Online publication date: 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
    • (2016)Hardware-Accelerated Cross-Architecture Full-System VirtualizationACM Transactions on Architecture and Code Optimization10.1145/299679813:4(1-25)Online publication date: 25-Oct-2016
    • (2021)BTMMU: an efficient and versatile cross-ISA memory virtualizationProceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments10.1145/3453933.3454015(71-83)Online publication date: 7-Apr-2021
    • (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

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media