TinyVM

An energy-efficient execution infrastructure for sensor networks

Kirak Hong, Jiin Park, Sungho Kim, Taekhoon Kim, Hwangho Kim, bernd Burgstaller, Bernhard Scholz

Research output: Contribution to journalArticle

5 Citations (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)1193-1209
Number of pages17
JournalSoftware - Practice and Experience
Volume42
Issue number10
DOIs
Publication statusPublished - 2012 Oct 1

Fingerprint

Sensor networks
Energy utilization
Sensor nodes
Program processors
Energy efficiency
Virtual machine
Data storage equipment
Communication

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Hong, Kirak ; Park, Jiin ; Kim, Sungho ; Kim, Taekhoon ; Kim, Hwangho ; Burgstaller, bernd ; Scholz, Bernhard. / TinyVM : An energy-efficient execution infrastructure for sensor networks. In: Software - Practice and Experience. 2012 ; Vol. 42, No. 10. pp. 1193-1209.
@article{548e0437eaae47748549d39f1e3d91bc,
title = "TinyVM: An energy-efficient execution infrastructure for sensor networks",
abstract = "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.",
author = "Kirak Hong and Jiin Park and Sungho Kim and Taekhoon Kim and Hwangho Kim and bernd Burgstaller and Bernhard Scholz",
year = "2012",
month = "10",
day = "1",
doi = "10.1002/spe.1123",
language = "English",
volume = "42",
pages = "1193--1209",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "10",

}

TinyVM : An energy-efficient execution infrastructure for sensor networks. / Hong, Kirak; Park, Jiin; Kim, Sungho; Kim, Taekhoon; Kim, Hwangho; Burgstaller, bernd; Scholz, Bernhard.

In: Software - Practice and Experience, Vol. 42, No. 10, 01.10.2012, p. 1193-1209.

Research output: Contribution to journalArticle

TY - JOUR

T1 - TinyVM

T2 - An energy-efficient execution infrastructure for sensor networks

AU - Hong, Kirak

AU - Park, Jiin

AU - Kim, Sungho

AU - Kim, Taekhoon

AU - Kim, Hwangho

AU - Burgstaller, bernd

AU - Scholz, Bernhard

PY - 2012/10/1

Y1 - 2012/10/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=84865984385&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84865984385&partnerID=8YFLogxK

U2 - 10.1002/spe.1123

DO - 10.1002/spe.1123

M3 - Article

VL - 42

SP - 1193

EP - 1209

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 10

ER -