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.
- ARM R Architecture Reference Manual.Google Scholar
- Android emulator. URL http://developer.android.com/tools/help/emulator.html.Google Scholar
- Cve. URL http://www.cvedetails.com.Google Scholar
- Intel R 64andIA-32 ArchitecturesSoftwareDeveloperManual.Google Scholar
- Qemu emulator. URL http://wiki.qemu.org/Manual.Google Scholar
- Virtualbox. URL http://www.virtualbox.org/.Google Scholar
- Windowsapi. URL http://msdn.microsoft.com/en-us/library.Google Scholar
- Xen. URL http://www.xen.org.Google Scholar
- Amd-v nested paging, 2008.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- J. Smith and R. Nair. Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design). 2005. Google Scholar
Digital Library
- R. S. M. A. B. K. L. Uhlig, Neiger and Smith. Intel virtualization technology. Computer, 2005. Google Scholar
Digital Library
- P. Varanasi and G. Heiser. Hardware-supported virtualization on arm. In Proceedings of the Second Asia-Pacific Workshop on Systems, APSys '11, 2011. Google Scholar
Digital Library
- VMware. Performance evaluation of amd rvi hardware assist. Technical report, Technical report, 2009.Google Scholar
- VMware. Performance evaluation of intel ept hardware assist. Technical report, Technical report, 2009.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Yang. Extending kvm with new intel R virtualization technology. In Intel Open Source Technology Center., 2008.Google Scholar
Index Terms
HSPT: Practical Implementation and Efficient Management of Embedded Shadow Page Tables for Cross-ISA System Virtual Machines
Recommendations
BTMMU: an efficient and versatile cross-ISA memory virtualization
VEE 2021: Proceedings of the 17th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution EnvironmentsFull system dynamic binary translation (DBT) has many important applications, but it is typically much slower than the native host. One major overhead in full system DBT comes from cross-ISA memory virtualization, where multi-level memory address ...
Efficient memory virtualization for Cross-ISA system mode emulation
VEE '14Cross-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 ...
Efficient memory virtualization for Cross-ISA system mode emulation
VEE '14: Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsCross-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 ...







Comments