DOI QR코드

DOI QR Code

Implementation of a Virtual Machine Monitor for ARMv7 Architecture

ARMv7 구조를 위한 가상 머신 모니터 구현

  • Received : 2013.01.24
  • Accepted : 2013.03.21
  • Published : 2013.06.30

Abstract

Virtualization technology has been applied in IA-32 based server or desktop systems. Recently it has been applied in ARM based mobile systems. Virtualization technology provides many useful features that are not possible in operating system level such as isolation, interposition, encapsulation and portability. In this research, we implement an ARM based VMM(Virtual Machine Monitor) by using the following techniques. First, we use "emulation" to virtualize the processor. Second, we use "shadow page tables" to virtualize the memory. Finally, we use a simple "pass-through I/O" to virtualize the device. Currently the VMM runs ARM Linux kernel 3.4.4 on a BeagleBoard-xM, and we evaluated the performance of the VMM using lmbench and dhrystone. The result of the evaluation shows that our VMM is slower than Xen on ARM that is implemented using paravirtualization but has good performance among the VMMs using full-virtualization.

Keywords

References

  1. J.E. Smith, R. Nair, "The Architecture of Virtual Machines," IEEE Computer, Vol. 38, No. 5, pp.32-38, 2005.
  2. VMware, Introduction to Virtual Machines, VMware Labs Academic Course Materials, 2010.
  3. J.-Y. Hwang, S.-B. Suh, S.-K. Heo, C.-J. Park, J.-M. Ryu, S.-Y. Park, C.-R. Kim, "Xen on ARM: System Virtualization using Xen Hypervisor for ARM-based Secure Mobile Phones," Proceedings on 5th IEEE Consumer Communications and Networking Conference, pp.257-261, 2008.
  4. C. Dall, J. Nieh, "KVM for ARM," Proceedings on the Linux Symposium, 2010.
  5. S.-C. Oh, K.H. Kim, K.W. Koh, C.-W. Ahn, "ViMo(Virtualization for Mobile): A Virtual Machine Monitor Supporting Full Virtualization For ARM Mobile System," Proceedings on International Conference of Cloud Computing, pp.48-53, 2010.
  6. S.-H. Jeon, C.-W. Ahn, C.-H. Lee, "Implementation of supporting out of synchronization of shadow page table in ViMo hypervisor based on ARM," Proceedings on The 35th Conference of the Korea Information Processing Society, Vol. 18, No. 1, pp.103-105, 2011 (in Korean).
  7. A. Suzuki, S. Oikawa, "Implementing a Simple Trap and Emulate VMM for the ARM Architecture," Proceedings on IEEE 17th International Conference of Embedded and Real-Time Computing Systems and Applications, Vol. 1, pp.371-379, 2011.
  8. Xvisor: eXtensible Versatile hypervISOR, http://xhypervisor.org
  9. M. Rosenblum, T. Garfinkel, "Virtual Machine Monitors: Current Technology and Future Trends," IEEE Computer, Vol. 38, No. 5, pp.39-47, 2005.
  10. BeagleBoard-xM Rev C System Reference Manual, Revision 1.0, BeagleBoard.org, 2010.
  11. G.J. Popek, R.P. Goldberg. "Formal Requirements for Virtualizable Third Generation Architectures," Communications of the ACM, Vol. 17, No. 7, pp.412-421, 1974. https://doi.org/10.1145/361011.361073
  12. ARM Limited, ARM Architecture Reference Manual (v7-AR), ARM DDI 0406B, 2010.
  13. J.M. Cho, J.H. Kim, D.H. Shin, "A Method for Rewriting Sensitive Instructions to Implement ARM Linux Pre-virtualization," Proceedings on The Conference of Institute of Embedded Engineering of Korea 2010, Vol. 1, No. 1, pp.144-147, 2010 (in Korean).
  14. S.J. Oh, K.U. Yoon, D.H. Shin, "A Method for Completely Detecting Sensitive Instructions on ARMv7 Linux Kernel," Prodceedings on The Conference of Institute of Embedded Engineering of Korea 2011, Vol. 1, No. 1, pp.164-167, 2011 (in Korean).
  15. J.M. Cho, C.H. Lee, D.H. Shin, "Implementing Shadow Page Table for Memory Virtualization on ARM Architecture," Proceedings on The Conference of Institute of Embedded Engineering of Korea 2011, Vol. 1, No. 1, pp.483-486, 2011 (in Korean).
  16. J.M. Cho, "Memory Virtualization for ARM based Virtual Machine," Master of Science Thesis, Sangmyung University, 2012 (in Korean).
  17. J.M. Cho, S.J. Oh, D.H. Shin, "Implementing Shadow Page Tables using TLB Maintenance Operations for Full Virtualization of ARM Architecture," The Journal of Korean Institute of Next Generation Computing, Vol. 8, No. 6, pp.59-68, 2012 (in Korean).
  18. B. Liu, L. Yang, X. Qin, "Research on Hardware I/O Passthrough in Computer Virtualization," Proceedings on the Third International Symposium of Computer Science and Computational Technology, Vol. 2, No. 1, pp.353-356, 2010.
  19. S.-J. Lee, Y.-H. An, A.H. Han, Y.-S. Hwang, K.-S. Chung, "Virtual ARM Machine for Embedded System Development," Journal of IEMEK, Vol. 3, No. 1, pp.19-24, 2008 (in Korean).
  20. L. McVoy, C. Staelin, "lmbench: Portable tools for performance analysis," Proceedings on Annual Technical Conference of the USENIX, 1996.
  21. R.P. Weicker, "Dhrystone: a synthetic systems programming benchmark," Communications of the ACM, Vol. 27, No. 10, pp.1013-1030, 1984. https://doi.org/10.1145/358274.358283