TY - GEN
T1 - An efficient mixed-mode execution environment for C on mobile phone platforms
AU - Kim, Taek Hoon
AU - Kim, Sungho
AU - Hong, Kirak
AU - Kim, Hwangho
AU - Park, Jiin
AU - Ko, Yousun
AU - Burgstaller, Bernd
AU - Scholz, Bernhard
PY - 2009
Y1 - 2009
N2 - 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 bytecode execution is feasible on mobile devices. We adapt a VM for the C programming 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 ARM-based mobile 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 a viable option for bytecode execution on mobile devices.
AB - 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 bytecode execution is feasible on mobile devices. We adapt a VM for the C programming 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 ARM-based mobile 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 a viable option for bytecode execution on mobile devices.
UR - http://www.scopus.com/inward/record.url?scp=70449101959&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=70449101959&partnerID=8YFLogxK
U2 - 10.1109/CSIE.2009.909
DO - 10.1109/CSIE.2009.909
M3 - Conference contribution
AN - SCOPUS:70449101959
SN - 9780769535074
T3 - 2009 WRI World Congress on Computer Science and Information Engineering, CSIE 2009
SP - 320
EP - 328
BT - 2009 WRI World Congress on Computer Science and Information Engineering, CSIE 2009
T2 - 2009 WRI World Congress on Computer Science and Information Engineering, CSIE 2009
Y2 - 31 March 2009 through 2 April 2009
ER -