skip to main content
research-article

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

Published:14 March 2015Publication History
Skip Abstract Section

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.Google ScholarGoogle Scholar
  2. Android emulator. URL http://developer.android.com/tools/help/emulator.html.Google ScholarGoogle Scholar
  3. Cve. URL http://www.cvedetails.com.Google ScholarGoogle Scholar
  4. Intel R 64andIA-32 ArchitecturesSoftwareDeveloperManual.Google ScholarGoogle Scholar
  5. Qemu emulator. URL http://wiki.qemu.org/Manual.Google ScholarGoogle Scholar
  6. Virtualbox. URL http://www.virtualbox.org/.Google ScholarGoogle Scholar
  7. Windowsapi. URL http://msdn.microsoft.com/en-us/library.Google ScholarGoogle Scholar
  8. Xen. URL http://www.xen.org.Google ScholarGoogle Scholar
  9. Amd-v nested paging, 2008.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design). 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. R. S. M. A. B. K. L. Uhlig, Neiger and Smith. Intel virtualization technology. Computer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. P. Varanasi and G. Heiser. Hardware-supported virtualization on arm. In Proceedings of the Second Asia-Pacific Workshop on Systems, APSys '11, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. VMware. Performance evaluation of amd rvi hardware assist. Technical report, Technical report, 2009.Google ScholarGoogle Scholar
  22. VMware. Performance evaluation of intel ept hardware assist. Technical report, Technical report, 2009.Google ScholarGoogle Scholar
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Yang. Extending kvm with new intel R virtualization technology. In Intel Open Source Technology Center., 2008.Google ScholarGoogle Scholar

Index Terms

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

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!