본문 바로가기
KERD
논문KCI 등재

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

Implementation of a Virtual Machine Monitor for ARMv7 Architecture

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

초록

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.

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.

참고문헌 (21)

  1. J.E. Smith, "The Architecture of Virtual Machines", IEEE Computer, 38(5), pp.32~38 (2005)
  2. VMware, "Introduction to Virtual Machines" (2010), VMware Labs Academic Course Materials
  3. J.-Y. Hwang, "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, "KVM for ARM", Proceedings on the Linux Symposium (2010)
  5. S.-C. Oh, "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, "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, 18(1), pp.103~105 (2011)
  7. A. Suzuki, "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, 1, pp.371~379 (2011)
  8. "Xvisor: eXtensible Versatile hypervISOR"[URL]
  9. M. Rosenblum, "Virtual Machine Monitors: Current Technology and Future Trends", IEEE Computer, 38(5), pp.39~47 (2005)
  10. G.J. Popek, "Formal Requirements for Virtualizable Third Generation Architectures", Communications of the ACM, 17(7), pp.412~421 (1974)
  11. ARM Limited, "ARM Architecture Reference Manual (v7-AR), ARM DDI 0406B", ~ (2010)
  12. J.M. Cho, "A Method for Rewriting Sensitive Instructions to Implement ARM Linux Pre-virtualization", Proceedings on The Conference of Institute of Embedded Engineering of Korea 2010, 1(1), pp.144~147 (2010)
  13. S.J. Oh, "A Method for Completely Detecting Sensitive Instructions on ARMv7 Linux Kernel", Prodceedings on The Conference of Institute of Embedded Engineering of Korea 2011, 1(1), pp.164~167 (2011)
  14. J.M. Cho, "Implementing Shadow Page Table for Memory Virtualization on ARM Architecture", Proceedings on The Conference of Institute of Embedded Engineering of Korea 2011, 1(1), pp.483~486 (2011)
  15. J.M. Cho, "Memory Virtualization for ARM based Virtual Machine", 석사, pp.2012
  16. 조지만, "ARM 구조의 전가상화를 위한 TLB 관리 명령어를 사용한 섀도 페이지 테이블 구현", 한국차세대컴퓨팅학회 논문지, 8(6), pp.59~68 (2012), 한국차세대컴퓨팅학회
  17. B. Liu, "Research on Hardware I", O Passthrough in Computer Virtualization, 2010, pp.2(1), 353~356
  18. 이소진, "임베디드 시스템의 가상 ARM 머신의 개발", 대한임베디드공학회논문지, 3(1), pp.19~24 (2008), 대한임베디드공학회
  19. L. McVoy, "lmbench: Portable tools for performance analysis", Proceedings on Annual Technical Conference of the USENIX (1996)
  20. R.P. Weicker, "Dhrystone: a synthetic systems programming benchmark", Communications of the ACM, 27(10), pp.1013~1030 (1984)

이 간행물의 다른 논문 (6건)