Tuning Garbage Collection in an Embedded Java Environment

  • Authors:
  • G. Chen;R. Shetty;M. Kandemir;N. Vijaykrishnan;M. J. Irwin;M. Wolczko

  • Affiliations:
  • -;-;-;-;-;-

  • Venue:
  • HPCA '02 Proceedings of the 8th International Symposium on High-Performance Computer Architecture
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java is being widely adopted as one of the software platforms for the seamless integration of diverse computing devices. Over the last year, there has been great momentum in adopting Java technology in devices such as cell-phones, PDAs, and pagers where optimizing energy consumption is critical. Since, traditionally, the Java virtual machine (JVM), the cornerstone of Java technology, is tuned for performance, taking into account energy consumption requires re-evaluation, and possibly re-design of the virtual machine. This motivates us to tune specific components of the virtual machine for a battery-operated architecture. As embedded JVMs are designed to run for long periods of time on limited-memory embedded systems, creating and managing Java objects is of critical importance. The garbage collector (GC) is an important part of the JVM responsible for the automatic reclamation of unused memory. This paper shows that the GC is not only important for limited-memory systems but also for energy-constrained architectures. In particular, we present a GC-controlled leakage energy optimization technique that shuts off memory banks that do not hold live data. A variety of parameters, such as bank size, the garbage collection frequency, object allocation style, compaction style, and compaction frequency, are tuned for energy saving.