Where academic tradition
meets the exciting future

An Energy Consumption Model for Java Virtual Machine

Sébastien Lafond, Johan Lilius, An Energy Consumption Model for Java Virtual Machine. TUCS Technical Reports 597, Turku Centre for Computer Science, 2004.

Abstract:

In recent years we have seen an explosion of markets for portable electronic devices such as PDAs, personal communicators and mobile phones. The size and complexity of applications, but also development constraints like getting the product to market on time make the use of high-level languages like Java necessary. Java 2 Micro Edition (J2ME) has emerged as a good solution for developing applications on those platforms. The main goal of Java language is to allow applications development with an abstraction of the target platform, making the concept "write once, run it anywhere" possible. The Java Virtual machine (JVM) is an abstract machine, making the interface between platform independent applications and the hardware, through a possible operating system. Thus the use of Java language can be seen as adding one more layer, the Java virtual machine, between the hardware and software layers.
In this paper we establish a general framework for estimating the energy consumption of an embedded Java virtual machine. We have designed a number of experiments to find the constants overhead of the Virtual Machine and establish energy consumption cost for individual Java Opcodes. The results show that there is a basic constant overhead that is equal for every Java program, and a that a subset of Java opcodes have an almost constant energy cost. We also show that memory access is a crucial energy consumption component.

Files:

Full publication in PDF-format

BibTeX entry:

@BOOKLET{tLaLi04a,
  title = {An Energy Consumption Model for Java Virtual Machine},
  author = {Lafond, Sébastien and Lilius, Johan},
  number = {597},
  series = {TUCS Technical Reports},
  publisher = {Turku Centre for Computer Science},
  year = {2004},
  keywords = {Java virtual machine, KVM, energy comsumption, opcode, bytecode},
}

Belongs to TUCS Research Unit(s): Embedded Systems Laboratory (ESLAB)

Edit publication