Computer Science and Information Engineering, World Congress on (2009)
Los Angeles, California USA
Mar. 31, 2009 to Apr. 2, 2009
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/CSIE.2009.909
Mobile devices are constrained in terms of computational power, battery lifetime and memory sizes. Software development for mobile devices is further complicated by application complexity and heterogeneous hardware platforms.Virtual Machines (VMs) abstract from the underlying hardware, but their use with embedded devices can only be justified if the interpretive overhead is kept to a minimum.In this paper we argue that efficient byte code execution is feasible on mobile devices. We adapt a VM for the Cprogramming language for ARM-based mobile phone platforms.Our VM utilizes latest interpreter technologies to achieve high performance. It offers mixed-mode execution,i.e., code is either executed on the VM or on the CPU, to combine the advantages of VM-based hardware abstraction with the speed of machine-code.We conduct extensive experiments with the MiBench embedded benchmark suite to evaluate VM-performance and the effectiveness of interpreter optimizations on an ARMbasedmobile phone platform. Our interpreter consumes just 10.55KB of code and 0.9KB of data. For all surveyed applications, we achieve a slowdown of less than a factor of 23 over binary code execution, which makes our VM aviable option for byte code execution on mobile devices.
embedded systems, virtual machines, mixed-mode execution, interpreter optimizations
Taek-hoon Kim, Bernd Burgstaller, Jiin Park, Kirak Hong, Sungho Kim, Hwangho Kim, Bernhard Scholz, Yousun Ko, "An Efficient Mixed-Mode Execution Environment for C on Mobile Phone Platforms", Computer Science and Information Engineering, World Congress on, vol. 01, no. , pp. 320-328, 2009, doi:10.1109/CSIE.2009.909