Using memory compression for energy reduction in an embedded java system

G. Chen, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, W. Wolf

Research output: Contribution to journalArticlepeer-review

Abstract

The Java programming language is being increasingly used for application development for mobile and embedded devices. Limited energy and memory resources are important constraints for such systems. Compression is an useful and widely employed mechanism to reduce the memory requirements of the system. As the leakage energy of a memory system increases with its size and because of the increasing contribution of leakage to overall system energy, compression also has a significant effect on reducing energy consumption. However, storing compressed data/instructions has a performance and energy overhead associated with decompression at runtime. The underlying compression algorithm, the corresponding implementation of the decompression and the ability to reuse decompressed information critically impact this overhead. In this paper, we explore the influence of compression on overall memory energy using a commercial embedded Java virtual machine (JVM) and a customized compression algorithm. Our results show that compression is effective in reducing energy even when considering the runtime decompression overheads for most applications. Further, we show a mechanism that selectively compresses portions of the memory to enhance energy savings. Finally, a scheme for clustering the code and data to improve the reuse of the decompressed data is presented.

Original languageEnglish (US)
Pages (from-to)537-555
Number of pages19
JournalJournal of Circuits, Systems and Computers
Volume11
Issue number5
DOIs
StatePublished - Oct 2002

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture
  • Electrical and Electronic Engineering

Fingerprint Dive into the research topics of 'Using memory compression for energy reduction in an embedded java system'. Together they form a unique fingerprint.

Cite this