Browse > Article
http://dx.doi.org/10.9708/jksci.2012.17.2.001

Performance Improvement of Virtualization Sensitive Instruction Emulation by Instruction Decoding at Compile Time  

Shin, Dong-Ha (Division of Computer Science, Sangmyung University)
Yun, Kyung-Un (Department of Computer Science, the Graduate School, Sangmyung University)
Abstract
Recently, we have seen several implementations that virtualize the ARM architecture. Since the current ARM architecture is not possible to be virtualized using the traditional technique called "trap-and-emulation", we usually detect all virtualization sensitive instructions during the run-time of a guest kernel and emulate them virtually rather than executing them directly. The emulation for virtualization is usually implemented either by binary translation or interpretation. Our research is about how to improve the performance of emulation for virtualization based on interpretation. The interpretation usually requires a few steps: instruction fetching, instruction decoding and instruction executing. In this paper, we propose a method that decodes all virtualization sensitive instructions during the compilation time of a guest kernel and reduces the time required for interpretation during the run time of the guest kernel. Our method provides both implementation simplicity and performance improvement of emulation for virtualization based on interpretation.
Keywords
ARM Linux; Virtual Emulation; Embedded Virtualization;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 Akihiro Suzuki, Shuichi Oikawa, "Implementation of SIVARM: a Simple VMM for the ARM Architecture," Proceedings of First International Conference on Networking and Computing, Higashi-Hiroshima, Japan, 2010.11.
2 Soo-Cheol Oh, KangHo Kim, KwangWon Koh, and Chang-Won Ahn, "ViMo(Virtualization for Mobile): A Virtual Machine Monitor Supporting Full Virtualization For ARM Mobile System," Proceedings of Cloud Computing 2010: The First International Conference on Cloud Computing, GRIDs, and Virtualization, Lisbon, Portugal, 2010.11.
3 QEMU opensource processor emulator, http://wiki.qemu.org/Main_Page
4 GDB: The GNU Project Debugger, http://www.gnu.org/s/gdb
5 Sunghoon Son, Jaehyeon Lee, "Design and Imple mentation of Virtual Machine Monitor for Embed ded Systems," Journal of The Korea Society of Co mputer and Information, Vol.14, No.1, pp.57-64, 2009.
6 In Hwan Doh, "Implementation of the Hibernati on-based Boot Mechanism on an Embedded Linux System," Journal of The Korea Society of Computer and Information, Vol16, No.5, pp.23-31, 2011.   DOI
7 Gernot Heiser, "The Role of Virtualization in Embedded Systems," Proceedings of the 1st workshop on Isolation and integration in embedded systems, pp. 11-16, NY, USA, 2008.4.
8 G. J. Popek and R. P. Goldberg, "Formal Require ments for Virtualizable Third Generation Archit ectures," Communications of the ACM, Vol. 17, Issue 7, pp. 312-421, 1974.7.
9 Dongha Shin and Changhoon Lee, "Encoding Virtualization Sensitive Instructions on ARM Architecture," International Transaction on Computer Science & Engineering, Vol.63, No.1, 2011.2.
10 ARM Limited, "ARM Architecture Reference Manual," ARM DDI 0100I, 2005.
11 James E. Smith, Ravi Nair, "Virtual Machines Vers atile Platforms for Systems and Processes," Elsevier Inc, pp. 29-46, 2005.
12 Christoffer Dall and Jason Nieh, "KVM for ARM," Proceedings of the Linux Symposium, Ottawa, Canada, 2010.7.