Browse > Article
http://dx.doi.org/10.14372/IEMEK.2013.8.3.145

Implementation of a Virtual Machine Monitor for ARMv7 Architecture  

Oh, Seung-Jae (Sangmyung University)
Shin, Dongha (Sangmyung University)
Publication Information
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
Virtualization; ARM; Linux; Embedded system;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 C. Dall, J. Nieh, "KVM for ARM," Proceedings on the Linux Symposium, 2010.
2 J.E. Smith, R. Nair, "The Architecture of Virtual Machines," IEEE Computer, Vol. 38, No. 5, pp.32-38, 2005.
3 VMware, Introduction to Virtual Machines, VMware Labs Academic Course Materials, 2010.
4 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.
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 BeagleBoard-xM Rev C System Reference Manual, Revision 1.0, BeagleBoard.org, 2010.
8 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.
9 Xvisor: eXtensible Versatile hypervISOR, http://xhypervisor.org
10 M. Rosenblum, T. Garfinkel, "Virtual Machine Monitors: Current Technology and Future Trends," IEEE Computer, Vol. 38, No. 5, pp.39-47, 2005.
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.   DOI   ScienceOn
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.   DOI   ScienceOn