AMPL: a mathematical programming language
Algorithms and model formulations in mathematical programming
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Enhanced code compression for embedded RISC processors
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
System architecture directions for networked sensors
ASPLOS IX Proceedings of the ninth international conference on Architectural support for programming languages and operating systems
Analyzing and compressing assembly code
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Profile-guided code compression
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A Retargetable C Compiler: Design and Implementation
A Retargetable C Compiler: Design and Implementation
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Compression of Embedded System Programs
ICCS '94 Proceedings of the1994 IEEE International Conference on Computer Design: VLSI in Computer & Processors
Vmgen: a generator of efficient virtual machine interpreters
Software—Practice & Experience
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Code density optimization for embedded DSP processors using data compression techniques
ARVLSI '95 Proceedings of the 16th Conference on Advanced Research in VLSI (ARVLSI'95)
An Ultra Low Power System Architecture for Sensor Network Applications
Proceedings of the 32nd annual international symposium on Computer Architecture
VMSTAR: synthesizing scalable runtime environments for sensor networks
Proceedings of the 3rd international conference on Embedded networked sensor systems
MiBench: A free, commercially representative embedded benchmark suite
WWC '01 Proceedings of the Workload Characterization, 2001. WWC-4. 2001 IEEE International Workshop
Fast-prototyping using the BTnode platform
Proceedings of the conference on Design, automation and test in Europe: Proceedings
Java™ on the bare metal of wireless sensor devices: the squawk Java virtual machine
Proceedings of the 2nd international conference on Virtual execution environments
Telos: enabling ultra-low power wireless research
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
The Intel® Mote platform: a Bluetooth-based sensor network for industrial monitoring
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
Avrora: scalable sensor network simulation with precise timing
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
Multi-level software reconfiguration for sensor networks
EMSOFT '06 Proceedings of the 6th ACM & IEEE International conference on Embedded software
Generation of fast interpreters for Huffman compressed bytecode
Science of Computer Programming - Special issue on advances in interpreters, virtual machines and emulators (IVME'03)
NSDI'05 Proceedings of the 2nd conference on Symposium on Networked Systems Design & Implementation - Volume 2
A Virtual Machine-Based Programming Environment for Rapid Sensor Application Development
COMPSAC '07 Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 02
Virtual Machines Applied to WSN's: The state-of-the-art and classification
ICSNC '07 Proceedings of the Second International Conference on Systems and Networks Communications
Speeded-Up Robust Features (SURF)
Computer Vision and Image Understanding
A building block approach to sensornet systems
Proceedings of the 6th ACM conference on Embedded network sensor systems
An Efficient Mixed-Mode Execution Environment for C on Mobile Phone Platforms
CSIE '09 Proceedings of the 2009 WRI World Congress on Computer Science and Information Engineering - Volume 01
TinyVM, an efficient virtual machine infrastructure for sensor networks
Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems
Treegraph-based Instruction Scheduling for Stack-based Virtual Machines
Electronic Notes in Theoretical Computer Science (ENTCS)
An embedded systems programming environment for c
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
SAMC: a code compression algorithm for embedded processors
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hi-index | 0.00 |
Energy-efficient implementation techniques for virtual machines (VMs) have received little attention yet: conventional wisdom claims that VMs have a diametrical effect on energy consumption, and VM-based applications are therefore short-lived. In this paper, we argue that bytecode interpretation is affordable if we synthesize VMs specifically for energy efficiency. We present TinyVM, an execution infrastructure that seamlessly integrates with C and nesC/TinyOS-based programming environments. TinyVM achieves high code density through the use of compressed bytecode as the primary program representation. Compressed bytecode allows rapid application deployment with low communication overhead. TinyVM executes compressed bytecode in place, which eliminates the need for a decompression stage and thereby reduces memory consumption on sensor nodes. Our infrastructure automates the creation of energy-efficient application-specific VMs. Applications are partitioned in machine code, bytecode, and VM instruction set extensions. Partitioning is manually controlled and/or fully guided by a discrete optimization problem that produces a partitioning with lowest energy consumption for a given program size limit. We provide experimental results for sensor network benchmarks and for selected applications on various CPU architectures including Atmega128-based motes and the ARM-based Intel iMote2. TinyVM has been released under the GNU General Public License. Copyright © 2011 John Wiley & Sons, Ltd.