skip to main content
10.1145/1188966.1188974dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
Article

Utilizing field usage patterns for Java heap space optimization

Published: 16 October 2006 Publication History

Abstract

This research studies the characteristics of field usage patterns in the SpecJVM98 benchmarks. It finds that multiple object instances of the same class often exhibit different field-usage patterns. Motivated by this observation, we designed a heap compression mechanism that classifies object instances at runtime based on their field-usage patterns and eliminates unused fields to save space. To achieve the maximum space savings while minimizing the space and time overhead, our design combines three interrelated techniques in a novel manner: runtime object instance classification, field virtualization, and bidirectional object layout. An experimental evaluation reveals that this mechanism can reduce the maximum heap occupancy of SpecJVM98 benchmarks by up to 18% and 14% on average while keeping the application execution overhead low.

References

[1]
Kaffe Virtual Machine. http://www.kaffe.org.
[2]
Spec jvm98 benchmarks. http://www.specbench.org.
[3]
TinyVM. http://tiny.sourceforge.net/index.htm.
[4]
C. S. Ananian and M. Rinard. Data size optimization for Java programs. Proceedings of the 2003 ACM SIGPLAN conference on language, compiler, and tool for embedded systems, pages 59--68, 2003.
[5]
D. Bacon, S. Fink, and D. Grove. Space and time-efficient implementation of the Java object model. Proceedings of the 6th European Conference on Object-oriented Programming, pages 111--132, June 2002.
[6]
G. Chen, M. Kandemir, and M. J. Irwin. Exploiting frequent field values in Java objects for reducing heap memory requirements. Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments, pages 68--78, June 2005.
[7]
G. Chen, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, B. Mathiske, and M. Wolczko. Heap compression for memory-constrained Java environments. Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, 282--301, 2003.
[8]
L. R. Clausen, U. P. Schultz, C. Consel, and G. Muller. Java bytecode compression for low-end embedded systems. ACM Transactions on Programming Languages and Systems, 22(3):471--489, May 2000.
[9]
M. Herz, N. Immerman, and J. E. B. Moss. Error free garbage collection traces: How to cheat and not get caught. Proceedings of ACM International Conference on Measurement and Modeling of Computer Systems, 30(1):140--151, June 2002.
[10]
HP. HP MicroChaiVM: Doing more with less. HP Computer News, April 2001.
[11]
M. Kanellos. Intel crams more memory into cellphones. CNET News, http://news.com.com, October 2003.
[12]
M. Marinov and R. O'Callahan. Object equality profiling. Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 313--325, 2003.
[13]
C. E. McDowell, B. R. Montague, M. R. Allen, and E. A. Baldwin. Javacam: Trimming Java down to size. IEEE Internet Computing, (3):53--59, 1999.
[14]
W. Pugh. Compressing Java class files. ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 247--258, 1999.
[15]
L. Rizzo. A very fast algorithm for RAM compression. ACM SIGOPS Operating Systems Reviews, (2):36--45, 1997.
[16]
R. Shaham, E. Kolodner, and M. Sagiv. Heap profiling for space-efficient Java. Proceedings of ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation, pages 104--113, 2001.
[17]
Sun. J2ME: Building blocks for mobile devices. http://java.sun.com/products/cldc/wp/kvmwp.pdf, May 2000.
[18]
Sun. Sun microsystems celebrates first decade of Java. Sun press release, June 2005.
[19]
F. Tip and P. F. Sweeney. Class hierarchy specialization. Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 271--285, 1997.
[20]
F. Tip and P. F. Sweeney. Practical extraction techniques for Java. ACM Transaction on Programming Languages and Systems, 24(6):625--666, November 2002.
[21]
B. Venners. Inside the Java Virtual Machine. MacGraw-Graw Hill, 1997.

Cited By

View all
  • (2010)Understanding the impact of collection contracts on designProceedings of the 48th international conference on Objects, models, components, patterns10.5555/1894386.1894390(61-78)Online publication date: 28-Jun-2010

Recommendations

Comments

Information & Contributors

Information

Published In

cover image DL Hosted proceedings
CASCON '06: Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
October 2006
388 pages

Sponsors

  • IBM Toronto Lab
  • CAS

Publisher

IBM Corp.

United States

Publication History

Published: 16 October 2006

Qualifiers

  • Article

Acceptance Rates

CASCON '06 Paper Acceptance Rate 24 of 90 submissions, 27%;
Overall Acceptance Rate 24 of 90 submissions, 27%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2010)Understanding the impact of collection contracts on designProceedings of the 48th international conference on Objects, models, components, patterns10.5555/1894386.1894390(61-78)Online publication date: 28-Jun-2010

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media