Run-Time Compilation of Bytecode in Sensor Networks

Recent work on virtual machines for wireless sensor networks has demonstrated the benefits of using a Java programming paradigm for resource constrained sensor networks. Results have shown that a virtual machine approach greatly suffers from interpretation overheads. In this paper, we present run-time compilation of bytecode in wireless sensor networks which leverages from both a compact platform independent bytecode program representation as well as a native execution platform for efficient execution of code. Our results show that run-time compilation provides a substantial decrease in execution overheads when compared with an interpreter.

[1]  Ralph Clarke Haygood Native Code Compilation in SICStus Prolog , 1994, ICLP.

[2]  L. Peter Deutsch,et al.  Efficient implementation of the smalltalk-80 system , 1984, POPL.

[3]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[4]  Jens Palsberg,et al.  The ExoVM system for automatic VM and application reduction , 2007, PLDI '07.

[5]  Peter I. Corke,et al.  Darjeeling, a feature-rich VM for the resource poor , 2009, SenSys '09.

[6]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

[7]  Paul Týma Why are we using Java again? , 1998, CACM.

[8]  M. Baentsch,et al.  Mote Runner: A Multi-language Virtual Machine for Small Embedded Devices , 2009, 2009 Third International Conference on Sensor Technologies and Applications.

[9]  Joel Koshy,et al.  A software framework for integrated sensor network applications , 2006, InterSense '06.

[10]  John Aycock,et al.  A brief history of just-in-time , 2003, CSUR.

[11]  Doug Palmer A Virtual Machine Generator for Heterogeneous Smart Spaces , 2004, Virtual Machine Research and Technology Symposium.

[12]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[13]  Toshiaki Yasue,et al.  Overview of the IBM Java Just-in-Time Compiler , 2000, IBM Syst. J..

[14]  Erik R. Altman,et al.  LaTTe: a Java VM just-in-time compiler with fast and efficient register allocation , 1999, 1999 International Conference on Parallel Architectures and Compilation Techniques (Cat. No.PR00425).

[15]  John C. Gyllenhaal,et al.  Java bytecode to native code translation: the Caffeine prototype and preliminary results , 1996, Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29.

[16]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[17]  Robert Wilson,et al.  Compiling Java just in time , 1997, IEEE Micro.

[18]  Joel Koshy,et al.  VMSTAR: synthesizing scalable runtime environments for sensor networks , 2005, SenSys '05.