Los Angeles, CA
March 31, 2009 to April 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, Sungho Kim, Kirak Hong, Hwangho Kim, Jiin Park, Yousun Ko, Bernd Burgstaller, Bernhard Scholz, "An Efficient Mixed-Mode Execution Environment for C on Mobile Phone Platforms", CSIE, 2009, 2009 WRI World Congress on Computer Science and Information Engineering, CSIE, 2009 WRI World Congress on Computer Science and Information Engineering, CSIE 2009, pp. 320-328, doi:10.1109/CSIE.2009.909