Translated Block Optimization of Dynamic Binary Translator for Embedded System Virtualization

임베디드 시스템 가상화를 위한 동적 이진 변환기의 변환 블록 최적화

  • Received : 2017.03.28
  • Accepted : 2017.09.01
  • Published : 2017.12.31


As the use of mobile devices such as smartphones increases, there is growing interest on the benefits of virtualization in embedded systems. Full virtualization has the advantage of running the guest virtual machine without modifying the guest operating system. However, full virtualization suffers slow execution speed due to the cost of context switching between the virtual machines and the virtual machine monitor. In this paper, we propose a translated block and context switching optimization to improve the guest execution speed in the embedded system. As a result, the improved dynamic binary translator is up to 5.95 times faster than the native execution. Performance degradation is less than that of the other virtualization system.


Virtualization;Dynamic binary translation;Emulation;Code optimization


Supported by : 한국연구재단


  1. H.A. Jung, H.W. Joe, S.Y. Kang, Y.J. Cheon, H.S. Kim, "A Virtual Machine for Spacecraft Computers," Journal of KIISE : Computing Practices and Letters, Vol. 18, No. 1, pp. 50-54, 2012 (in Korean).
  2. J.W. Choi, B.G. Nam, "A Fast, Cycle-accurate Space Processor Emulator Based on a Dynamic Binary Translator," Transactions of the Japan Society for Aeronautical and Space Sciences, Vol. 58, No. 3, pp. 170-179, 2015.
  3. I. Bohm, T.J. Edler von Koch, S.C. Kyle, B. Franke, N. Topham, "Generalized Just-in-time Trace Compilation Using a Parallel Task Farm in a Dynamic Binary Translator," ACM SIGPLAN Notices, Vol. 46, No. 6, pp. 74-85, 2011.
  4. F. Bellard, "QEMU, a Fast and Portable Dynamic Translator," USENIX Annual Technical Conference, FREENIX Track, pp. 41-46, 2005.
  5. D.Y. Hong, C.C. Hsu, P.C. Yew, J.J. Wu, W.C. Hsu, P. Liu, C.M. Wang, Y.C. Chung, "HQEMU: a Multi-threaded and Retargetable Dynamic Binary Translator on Multicores," Proceedings of the Tenth International Symposium on Code Generation and Optimization, pp. 104-113, 2012.
  6. J.W. Choi, B.G. Nam, "Development of High Performance Space Processor Emulator Based on QEMU-Open Source Dynamic Translator," Proceedings of International Conference on Control, Automation and Systems, pp. 300-304, 2012.
  7. H.A. Jung, H.W. Joe, C.S. Kwon, H.S. Kim, "Dynamic Binary Translator for Full Virtualizing Spacecraft Computer," Proceedings of International Workshop on ICT, 2013.
  8. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, A. Warfield, "Xen and the art of Virtualization," ACM SIGOPS operating systems review, Vol. 37, No. 5, pp. 164-177, 2003.
  9. A. Kivity, Y. Kamay, D. Laor, U. Lublin, A. Liguori, "Kvm: the Linux Virtual Machine Monitor," Proceedings of the Linux symposium, Vol. 1, pp. 225-230, 2007.
  10. 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 of IEEE Consumer Communications and Networking Conference, pp. 257-261, 2008.
  11. C. Dall, J. Nieh, "KVM/ARM: the Design and Implementation of the Linux ARM Hypervisor," ACM Sigplan Notices, Vol. 49, No. 4, 2014.
  12. J.H. Ding, C.J. Lin, P.H. Chang, C.H. Tsang, W.C. Hsu, Y.C. Chung, "ARMvisor: System Virtualization for ARM," Proceedings of the Ottawa Linux Symposium, pp. 93-107, 2012.
  13. J. Gaisler, "Concurrent Error-detection and Modular Fault-tolerance in an 32-bit Processing Core for Space Applications," Proceedings of IEEE International Symposium on Fault-Tolerant Computing, FTCS-24. Digest of Papers., pp. 128-130, 1994.
  14. K. Adams, O. Agesen, "A Comparison of Software and Hardware Techniques for x86 Virtualization," ACM SIGOPS Operating Systems Review, Vol. 40, No. 5, pp. 2-13, 2006.
  15. J. Gaisler, "A Portable and Fault-tolerant Microprocessor Based on the SPARC v8 Architecture," Proceedings of IEEE International Conference on Dependable Systems and Networks, pp. 409-415, 2002.
  16. T. Straumann, "Open Source Real-Time Operating System Overview," Proceedings of International Conference of Accelerator and Large Experimental Physics Control Systems, pp. 235, 2001.
  17. J. Gustafsson, A. Betts, A. Ermedahl, B. Lisper, "The Malardalen WCET Benchmarks: Past, Present and Future," OASIcs-OpenAccess Series in Informatics, Vol. 15, 2010.
  18. R.P. Weicker, "Dhrystone: a Synthetic Systems Programming Benchmark," Communications of the ACM, Vol. 27, No. 10, pp. 1013-1030, 1984.