skip to main content
10.1145/1296907.1296920acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
Article

Intelligent selection of application-specific garbage collectors

Authors Info & Claims
Published:21 October 2007Publication History

ABSTRACT

Java program execution times vary greatly with different garbage collection algorithms. Until now, it has not been possible to determine the best GC algorithm for aparticular program without exhaustively profiling that program for all available GC algorithms. This paper presents a new approach. We use machine learning techniques to build a prediction model that, given asingle profile run of a previously unseen Java program,can predict a good GC algorithm for that program. We implement this technique in Jikes RVM and test it onseveral standard benchmark suites. Our techniqueachieves 5% speedup in overall execution time (averagedacross all test programs for all heap sizes) compared with selecting the default GC algorithm in every trial. We present further experiments to show that an oracle predictor could achieve an average 17% speedup on the same experiments. In addition, we provide evidence to suggest that GC behaviour is sometimes independent of program inputs. These observations lead us to propose that intelligent selection of GC algorithms is suitably straight forward, efficient and effective to merit further exploration regarding its potential inclusion in the general Java software deployment process.

References

  1. B. Alpern et al. The Jalapeño virtual machine. IBM Systems Journal, 39(1):211--238, Feb 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  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. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. E. Andreasson, F. Hoffmann, and O. Lindholm. To collect or not to collect? Machine learning for memory management. In Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium, pages 27--39, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Beygelzimer, J. Langford, and P. Ravikumar. Multiclass classification with filter trees, 2007. http://hunch.net/~jl/projects/reductions/mc_to_b/invertedTree.pdf.Google ScholarGoogle Scholar
  5. S.M. Blackburn, P. Cheng, and K.S. McKinley. Oil and water? High performance garbage collection in Java with MMTk. In Proceedings of the 26th International Conference on Software Engineering, pages 137--146, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S.M. Blackburn et al. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of the 21st ACM SIGPLAN Conference on Object--Oriented Programming Systems, Languages, and Applications, pages 169--190, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Brecht, E. Arjomandi, C. Li, and H. Pham. Controlling garbage collection and heap growth to reduce the execution time of Java applications. In Proceedings of the 16th ACM SIGPLAN Conference on Object--Oriented Programming, Systems, Languages, and Applications, pages 353--366, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Chidamber and C. Kemerer. A metrics suite for object oriented design. IEEE Transactions on Software Engineering, 20(6):476--493, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Dieckmann and U. Hölzle. A study of the allocation behaviour of the SPECjvm98 Java benchmarks. In Proceedings of the European Conference on Object--Oriented Programming, pages 92--115, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Fitzgerald and D. Tarditi. The case for profile--directed selection of garbage collectors. In Proceedings of the 2nd International Symposium on Memory Management, pages 111--120, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J.L. Hennessy and D.A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann, 3rd edition, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. X. Huang et al. The garbage collection advantage: improving program locality. In Proceedings of the 19th ACM SIGPLAN Conference on Object--Oriented Programming, Systems, Languages, and Applications, pages 69--80, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J.E.B. Moss et al. Learning to schedule straight--line code. In Neural Information Processing Systems Conference, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. T. Printezis. Hot--swapping between a mark&sweep and a mark&compact garbage collector in a generational environment. In Proceedings of the 1st Java Virtual Machine Research and Technology Symposium, pages 171--184, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Sachindran, J.E.B. Moss, and E.D. Berger. MC2: high--performance garbage collection for memory--constrained environments. In Proceedings of the 19th ACM SIGPLAN Conference on Object--Oriented Programming, Systems, Languages, and Applications, pages 81--98, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Smith and G. Morrisett. Comparing mostly--copying and mark--sweep conservative collection. In Proceedings of the 1st International Symposium on Memory Management, pages 68--78, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Soman, C. Krintz, and D.F. Bacon. Dynamic selection of application--specific garbage collectors. In Proceedings of the 4th International Symposium on Memory Management, pages 49--60, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Spinellis. ckjm--Chidamber and Kemerer Java metrics, 2005. http://www.spinellis.gr/sw/ckjm/.Google ScholarGoogle Scholar
  19. D. Ungar. Generation scavenging: A non--disruptive high performance storage reclamation algorithm. In Proceedings of the 1st ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pages 157--167, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. I.H. Witten and E. Frank. Data Mining: Practical machine learning tools and techniques. Morgan Kaufmann, 2nd edition, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. Zorn. Comparing mark--and--sweep and stop--and--copy garbage collection. In Proceedings of the 1990 ACM Conference on LISP and Functional Programming, pages 87--98, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Intelligent selection of application-specific garbage collectors

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ISMM '07: Proceedings of the 6th international symposium on Memory management
    October 2007
    192 pages
    ISBN:9781595938930
    DOI:10.1145/1296907

    Copyright © 2007 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 21 October 2007

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate72of156submissions,46%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader