| Tuning garbage collection for reducing memory system energy in an embedded java environment |
| Full text |
Pdf
(740 KB)
|
| Source
|
ACM Transactions on Embedded Computing Systems (TECS)
archive
Volume 1 , Issue 1 (November 2002)
table of contents
Pages: 27 - 55
Year of Publication: 2002
ISSN:1539-9087
|
|
Authors
|
|
G. Chen
|
Microsystems Design Lab, The Pennsylvania State University, University Park, PA
|
|
R. Shetty
|
Microsystems Design Lab, The Pennsylvania State University, University Park, PA
|
|
M. Kandemir
|
Microsystems Design Lab, The Pennsylvania State University, University Park, PA
|
|
N. Vijaykrishnan
|
Microsystems Design Lab, The Pennsylvania State University, University Park, PA
|
|
M. J. Irwin
|
Microsystems Design Lab, The Pennsylvania State University, University Park, PA
|
|
M. Wolczko
|
Sun Microsystems, Inc., Palo Alto, CA
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 17, Downloads (12 Months): 98, Citation Count: 7
|
|
|
ABSTRACT
Java has been 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 cellphones, 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 reevaluation, and possibly redesign 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 article shows that the GC is not only important for limited-memory systems but also for energy-constrained architectures.This article focuses on tuning the GC to reduce energy consumption in a multibanked memory architecture. Tuning the GC is important not because it consumes a sizeable portion of overall energy during execution, but because it influences the energy consumed in the memory during application execution. In particular, we present a GC-controlled leakage energy optimization technique that shuts off memory banks that do not hold live data. Using two different commercial GCs and a suite of thirteen mobile applications, we evaluate the effectiveness of the GC-controlled energy optimization technique and study its sensitivity to different parameters such as bank size, the garbage collection frequency, object allocation style, compaction style, and compaction frequency. We observe that the energy consumption of an embedded Java application can be significantly more if the GC parameters are not tuned appropriately. Further, we notice that the object allocation pattern and the number of memory banks available in the underlying architecture are limiting factors on how effectively GC parameters can be used to optimize the memory energy consumption.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Ole Agesen , David Detlefs , J. Eliot Moss, Garbage collection and local variable type-precision and liveness in Java virtual machines, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.269-279, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
2
|
Edwin de Angel , Earl E. Swartzlander, Jr., Survey of low power techniques for ROMs, Proceedings of the 1997 international symposium on Low power electronics and design, p.7-11, August 18-20, 1997, Monterey, California, United States
[doi> 10.1145/263272.263274]
|
| |
3
|
|
| |
4
|
|
| |
5
|
chaivm. Chaivm for jornado. http://www.hp.com/products1/embedded/jornado/index.html.
|
| |
6
|
|
 |
7
|
|
 |
8
|
Michał Cierniak , Guei-Yuan Lueh , James M. Stichnoth, Practicing JUDO: Java under dynamic optimizations, Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation, p.13-26, June 18-21, 2000, Vancouver, British Columbia, Canada
|
 |
9
|
|
 |
10
|
Dirk Grunwald , Benjamin Zorn , Robert Henderson, Improving the cache locality of memory allocation, Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation, p.177-186, June 21-25, 1993, Albuquerque, New Mexico, United States
|
| |
11
|
|
| |
12
|
|
| |
13
|
Diwan, A., H. Li, D. G., and Farkas, K. Energy consumption and garbage collection in low powered computing. http://www.cs.colorado.edu/∼diwan University of Colorado-Boulder.
|
 |
14
|
Keith I. Farkas , Jason Flinn , Godmar Back , Dirk Grunwald , Jennifer M. Anderson, Quantifying the energy consumption of a pocket computer and a Java virtual machine, Proceedings of the 2000 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, p.252-263, June 18-21, 2000, Santa Clara, California, United States
|
 |
15
|
|
| |
16
|
|
| |
17
|
Jou, S. and Chen, T. 1998. On-chip voltage down converter for low-power digital systems. IEEE Trans. Circuits Systems-II: Analog and Digital Signal Processing 5 (May), 617--625.
|
 |
18
|
|
 |
19
|
M. Kandemir , N. Vijaykrishnan , M. J. Irwin , W. Ye, Influence of compiler optimizations on system power, Proceedings of the 37th conference on Design automation, p.304-307, June 05-09, 2000, Los Angeles, California, United States
[doi> 10.1145/337292.337425]
|
 |
20
|
|
| |
21
|
|
| |
22
|
KVM. Cldc and the k virtual machine (kvm). http://java.sun.com/products/cldc/.
|
 |
23
|
Alvin R. Lebeck , Xiaobo Fan , Heng Zeng , Carla Ellis, Power aware page allocation, Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, p.105-116, November 2000, Cambridge, Massachusetts, United States
|
 |
24
|
Seungll Lee , Byung-Sun Yang , Suhyun Kim , Seongbae Park , Soo-Mook Moon , Kemal Ebcioğlu , Erik Altman, Efficient Java exception handling in just-in-time compilation, Proceedings of the ACM 2000 conference on Java Grande, p.1-8, June 03-04, 2000, San Francisco, California, United States
[doi> 10.1145/337449.337453]
|
| |
25
|
Paulson, L. D. 2001. Handheld-to-handheld fighting over java. IEEE Comput. 34, 7 (July), 253--257.
|
| |
26
|
|
| |
27
|
|
 |
28
|
James M. Stichnoth , Guei-Yuan Lueh , Michał Cierniak, Support for garbage collection at every instruction in a Java compiler, Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation, p.118-127, May 01-04, 1999, Atlanta, Georgia, United States
|
| |
29
|
Takahashi, D. 2001. Java chips make a comeback. Red Herring.
|
 |
30
|
N. Vijaykrishnan , M. Kandemir , M. J. Irwin , H. S. Kim , W. Ye, Energy-driven integrated hardware-software optimizations using SimplePower, Proceedings of the 27th annual international symposium on Computer architecture, p.95-106, June 2000, Vancouver, British Columbia, Canada
|
| |
31
|
Vijaykrishnan, N., Kandemir, M., Tomar, S., Kim, S., Sivasubramaniam, A., and Irwin, M. J. 2001. Energy characterization of java applications from a memory perspective. In Proceedings of USENIX Java Virtual Machine Research and Technology Symposium.
|
| |
32
|
Wilton, S. and Jouppi, N. 1994. An enhanced access and cycle time model for on-chip caches. Tech. Rep. 93/5, DEC WRL Research Report.
|
| |
33
|
Byung-Sun Yang , Soo-Mook Moon , Seongbae Park , Junpyo Lee , SeungIl Lee , Jinpyo Park , Yoo C. Chung , Suhyun Kim , Kemal Ebcioglu , Erik Altman, LaTTe: A Java VM Just-in-Time Compiler with Fast and Efficient Register Allocation, Proceedings of the 1999 International Conference on Parallel Architectures and Compilation Techniques, p.128, October 12-16, 1999
|
| |
34
|
|
|