skip to main content
10.1145/1294325.1294353acmconferencesArticle/Chapter ViewAbstractPublication PagespppjConference Proceedingsconference-collections
Article

Towards intelligent analysis techniques for object pretenuring

Published: 05 September 2007 Publication History

Abstract

Object pretenuring involves the identification of long-lived objects at or before their instantiation. It is a key optimization for generational garbage collection systems, which are standard in most high performance Java virtual machines. This paper presents a new study of factors that are used to indicate object lifespans. We adopt the information theory measurement of normalized mutual information to compare these various different factors in a common framework. A study of garbage collection traces from four standard Java benchmark programs shows that there is high dependence on some of these factors such as allocation site and object type. We also identify and measure new factors based on object-oriented metrics.

References

[1]
B. Alpern et al. The Jalapeño virtual machine. IBM Systems Journal, 39(1):211--238, Feb 2000.
[2]
B. Alpern et al. The Jikes research virtual machine project: Building an open source research community. IBM Systems Journal, 44(2):1--19, Feb 2005.
[3]
D. A. Barrett and B. G. Zorn. Using lifetime predictors to improve memory allocation performance. In PLDI, pages 187--196, 1993.
[4]
S. M. Blackburn, P. Cheng, and K. S. McKinley. Oil and water? High performance garbage collection in Java with MMTk. In ICSE, pages 137--146, 2004.
[5]
S. M. Blackburn, M. Hertz, K. S. Mckinley, J. E. B. Moss, and T. Yang. Profile-based pretenuring. ACM Transactions on Programming Languages and Systems, 29(1):1--57, 2007.
[6]
S. M. Blackburn, S. Singhai, M. Hertz, K. S. McKinley, and J. E. B. Moss. Pretenuring for Java. In OOPSLA, pages 342--352, 2001.
[7]
P. Cheng, R. Harper, and P. Lee. Generational stack collection and profile-driven pretenuring. In PLDI, pages 162--173, 1998.
[8]
S. Chidamber and C. Kemerer. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6):476--493, 1994.
[9]
T. L. Harris. Dynamic adaptive pre-tenuring. In ISMM, pages 127--136, 2000.
[10]
M. Hirzel, J. Henkel, A. Diwan, and M. Hind. Understanding the connectivity of heap objects. In ISMM, pages 36--49, 2002.
[11]
W. Huang, W. Srisa-an, and J. M. Chang. Dynamic pretenuring schemes for generational garbage collection. In IEEE International Symposium on Performance Analysis of Systems and Software, pages 133--140, 2004.
[12]
H. Inoue, D. Stefanovic, and S. Forrest. On the prediction of Java object lifetimes. IEEE Transactions on Computers, 55(7):880--892, 2006.
[13]
R. Jones and R. Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, 1996.
[14]
M. Jump, S. M. Blackburn, and K. S. McKinley. Dynamic object sampling for pretenuring. In ISMM, pages 152--162, 2004.
[15]
M. L. Seidl and B. G. Zorn. Segregating heap objects by reference behavior and lifetime. In ASPLOS, pages 12--23, 1998.
[16]
Y. Shuf, M. Gupta, R. Bordawekar, and J. P. Singh. Exploiting prolific types for memory management and optimizations. In POPL, pages 295--306, 2002.
[17]
D. Spinellis. ckjm---Chidamber and Kemerer Java metrics, 2005. http://www.spinellis.gr/sw/ckjm/.
[18]
D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In Proceedings of the First ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 157--167, 1984.

Cited By

View all
  • (2016)Generational Garbage Collection Algorithm Based on Lifespan Prediction2016 IEEE 4th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW)10.1109/W-FiCloud.2016.47(183-187)Online publication date: Aug-2016
  • (2015)Memento mori: dynamic allocation-site-based optimizationsACM SIGPLAN Notices10.1145/2887746.275418150:11(105-117)Online publication date: 14-Jun-2015
  • (2015)Memento mori: dynamic allocation-site-based optimizationsProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754181(105-117)Online publication date: 14-Jun-2015
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPPJ '07: Proceedings of the 5th international symposium on Principles and practice of programming in Java
September 2007
260 pages
ISBN:9781595936721
DOI:10.1145/1294325
  • General Chair:
  • Vasco Amaral
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 September 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. information theory
  2. object lifetime analysis
  3. pretenuring

Qualifiers

  • Article

Conference

PPPJ07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 29 of 58 submissions, 50%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Generational Garbage Collection Algorithm Based on Lifespan Prediction2016 IEEE 4th International Conference on Future Internet of Things and Cloud Workshops (FiCloudW)10.1109/W-FiCloud.2016.47(183-187)Online publication date: Aug-2016
  • (2015)Memento mori: dynamic allocation-site-based optimizationsACM SIGPLAN Notices10.1145/2887746.275418150:11(105-117)Online publication date: 14-Jun-2015
  • (2015)Memento mori: dynamic allocation-site-based optimizationsProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754181(105-117)Online publication date: 14-Jun-2015
  • (2012)On the statistical distribution of object-oriented system propertiesProceedings of the 3rd International Workshop on Emerging Trends in Software Metrics10.5555/2669379.2669389(56-62)Online publication date: 3-Jun-2012
  • (2012)On the statistical distribution of object-oriented system properties2012 3rd International Workshop on Emerging Trends in Software Metrics (WETSoM)10.1109/WETSoM.2012.6226994(56-62)Online publication date: Jun-2012
  • (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
  • (2010)Headroom-based pretenuringProceedings of the 8th International Conference on the Principles and Practice of Programming in Java10.1145/1852761.1852767(29-38)Online publication date: 15-Sep-2010
  • (2010)Scalability limitations when running a Java web server on a chip multiprocessorProceedings of the 3rd Annual Haifa Experimental Systems Conference10.1145/1815695.1815703(1-10)Online publication date: 24-May-2010
  • (2009)Modeling, analysis and throughput optimization of a generational garbage collectorProceedings of the 2009 international symposium on Memory management10.1145/1542431.1542433(1-9)Online publication date: 19-Jun-2009
  • (2007)Decrypting the Java gene poolProceedings of the 6th international symposium on Memory management10.1145/1296907.1296918(67-78)Online publication date: 21-Oct-2007

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