[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1029873.1029880acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
Article

Dynamic selection of application-specific garbage collectors

Published: 24 October 2004 Publication History

Abstract

Much prior work has shown that the performance enabled by garbage collection (GC) systems is highly dependent upon the behavior of the application as well as on the available resources. That is, no single GC enables the best performance for all programs and all heap sizes. To address this limitation, we present the design, implementation, and empirical evaluation of a novel Java Virtual Machine (JVM) extension that facilitates dynamic switching between a number of very different and popular garbage collectors. We also show how to exploit this functionality using annotation-guided GC selection and evaluate the system using a large number of benchmarks. In addition, we implement and evaluate a simple heuristic to investigate the efficacy of switching automatically. Our results show that, on average, our annotation-guided system introduces less than 4% overhead and improves performance by 24% over the worst-performing GC (across heap sizes) and by 7% over always using the popular Generational/Mark-Sweep hybrid.

References

[1]
AIKEN, A., AND GAY, D. Memory management with explicit regions. In Proceedings of the ACM SIGPLAN'98 Conference on Programming Language Design and Implementation (May 1998).
[2]
ALPERN, B., ET AL. The Jalapeno Virtual Machine. IBM Systems Journal 39, 1 (2000), 211--221.
[3]
APPEL, A. W. Simple generational garbage collection and fast allocation. Software Practice and Experience 19, 2 (1989), 171--183. 59.
[4]
ATTANASIO, C. R., BACON,D.F.,COCCHI, A., AND SMITH,S.A comparative evaluation of parallel garbage collectors. In Proceedings of the Fourteenth Annual Workshop on Languages and Compilers for Parallel Computing (Cumberland Falls, Kentucky, Aug. 2001), vol. 2624 of Lecture Notes in Computer Science, Springer-Verlag.
[5]
BACON, D.F., ATTANASIO, C. R., LEE,H.B.,RAJAN,V.,AND SMITH, S. E. Java without the coffee breaks: A non-intrusive multiprocessor garbage collector. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (Snowbird, Utah, Jun 2001).
[6]
BACON,D.F.,FINK, S. J., AND GROVE, D. Space- and time-efficient implementation of the Java object model. In Proceedings of the Sixteenth European Conference on Object-Oriented Programming (Malaga, Spain, June 2002), B. Magnusson, Ed., vol. 2374 of Lecture Notes in Computer Science, Springer-Verlag, pp. 111--132.
[7]
BEA SYSTEMS INC. BEA Weblogic JRockit: Java for the enterprise. http://www.bea.com/content/news_events/white_papers/BEA_JRockit_wp.pdf.
[8]
BLACKBURN, S., CHENG,P.,AND MCKINLEY, K. A garbage collection design and bakeoff in jmtk: An efficient extensible java memory management toolkit. Tech. Rep. TR-CS-03-02, Department of Computer Science, FEIT, ANU, Feb 2003. http://eprints.anu.edu.au/archive/00001986/.
[9]
BLACKBURN, S., AND MCKINLEY, K. In or out? putting write barriers in their place. In ACM SIGPLAN International Symposium on Memory Management (ISMM) (2002).
[10]
BLACKBURN, S., MOSS, J., MCKINLEY, K., AND STEPHANOVIC, D. Pretenuring for Java. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA) (Tampa, FL, Oct 2001).
[11]
BLACKBURN, S. M., JONES, R., MCKINLEY, K. S., AND MOSS,J. E. B. Beltway: Getting around garbage collection gridlock. In Proceedings of PLDI'02 Programming Language Design and Implementation (June 2002).
[12]
BRECHT,T.,ARJOMANDI, E., LI, C., AND PHAM, H. Controlling garbage collection and heap growth to reduce execution time of Java applications. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'01) (Nov. 2001).
[13]
CAHOON, B., AND MCKINLEY, K. Data Flow Analysis for Software Prefetching Linked Data Structures in Java Controller. In International Conference on Parallel Architectures and Compilation techniques (Sept. 2001).
[14]
CLINGER,W.,AND HANSEN, L. T. Generational garbage collection and the radioactive decay model. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and implementation (May 1997), pp. 97--108.
[15]
FINK, S., AND QIAN, F. Design, Implementation and Evaluation of Adaptive Recompilation with On-Stack Replacement. In International Symposium on Code Generation and Optimization (CGO) (Mar. 2003).
[16]
FITZGERALD, R., AND TARDITI, D. The case for profile-directed selection of garbage collectors. In Proceedings of the second international symposium on Memory management (2000), ACM Press, pp. 111--120.
[17]
HEWLETT-PACKARD COMPANY. NonStop Server for Java Software. Project home page. http://nonstop.compaq.com/view.asp.
[18]
HICKS, M., HORNOF, L., MOORE, J., AND NETTLES, S. A study of large object spaces. In ISMM98 (Mar. 1999).
[19]
HIRZEL, M., DIWAN, A., AND HERTZ, M. Connectivity-based garbage collection. In ACM Conference on Object-Oriented Systems, Languages and Applications(OOPSLA) (Anaheim, CA, Nov. 2003), SIGPLAN Notices, Association for Computing Machinery.
[20]
HUMMEL, J., AZEVEDO, A., KOLSON, D., AND NICOLAU,A. Annotating the Java Bytecodes in Support of Optimization. Journal of Concurrency:Practice and Experience 9, 11 (Nov. 1997), 1003--1016.
[21]
IBM CORPORATION. Persistent Reusable JVM. Project home page. http://www.haifa.il.ibm.com/projects/systems/ rs/persistent.html.
[22]
IBM CORPORATION. WebSphere software platform. Product home page. http://www-3.ibm.com/software/info1/ websphere/index.jsp.
[23]
INC., S. M. The Java Hotspot Virtual Machine White Paper. http://java.sun.com/products/hotspot/docs/whitepaper/Java_HotSpot_WP_Final_4_30_01.html.
[24]
Java Grande Forum. http://www.javagrande.org/.
[25]
JONES, J., AND KAMIN, S. Annotating Java Class Files with Virtual Registers for Performance. Journal of Concurrency: Practice and Experience 12, 6 (May 2000), 389--406.
[26]
JONES,R.E.Garbage Collection: Algorithms for Automatic Dynamic Memory Management. July 1996. With a chapter on Distributed Garbage Collection by R. Lins.
[27]
KRINTZ, C. Coupling On-Line and Off-Line Profile Information to Improve Program Performance. In International Symposium on Code Generation and Optimization (CGO) (Mar. 2003).
[28]
KRINTZ, C., AND CALDER, B. Using Annotation to Reduce Dynamic Optimization Time. In Proceedings of the ACM SIGPLAN 2001 Conference on Programming Language Design and Implementation (June 2001), pp. 156--167.
[29]
KRINTZ, C., GROVE, D., SARKAR,V.,AND CALDER, B. Reducing the overhead of dynamic compilation. Software: Practice and xperience 32, 8 (2000), 717--738.
[30]
LANG, B., AND DUPONT, F. Incremental incrementally compacting garbage collection. In Proc. of the SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques (St. Paul, Minnesota, 1987), pp. 253--263.
[31]
POMINVILLE,P.,QIAN,F.,VALLEE-RAI, R., HENDREN, L., AND VERBRUGGE, C. A Framework for Optimizing Java Using Attributes. In Proceedings of IBM Centre for Advanced Studies Conference (CASCON) (2000), pp. 152--168. http://www.sable.mcgill.ca/publications.
[32]
PRINTEZIS, T. Hot-swapping between a mark&sweep and a mark&compact garbage collector in a generational environment. In Usenix Java Virtual Machine Research and Technology Symposium (Monterey, California, Apr. 2001).
[33]
ROSEN, M. BEA's enterprise platform. IDC white paper sponsered by BEA. http://www.bea.com/framework.jsp.
[34]
SACHINDRAN, N., ELIOT, J., AND MOSS, B. Mark-copy: Fast copying gc with less space overhead. In Proceedings of the 18th ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications (2003), ACM Press, pp. 326--343.
[35]
SANSOM, P. Combining single-space and two-space compacting garbage collectors. In Proceedings of the 1991 Glasgow Workshop on Functional Programming (Portree, Scotland, 1992), R. Heldal, C. K. Holst, and P. Wadler, Eds., Workshops in Computing, Springer-Verlag, pp. 312--323.
[36]
SMITH,F.,AND MORRISETT, G. Comparing mostly-copying and mark-sweep conservative collection. In Proceedings of the first international symposium on Memory management (1998), ACM Press, pp. 68--78.
[37]
SOMAN, S., KRINTZ, C., AND BACON, D. F. Dynamic Selection of Application-Specific Garbage Collectors. Tech. Rep. 2004-09, Univ. of California, Santa Barbara, Jan 2004. http://www.cs.ucsb.edu/~ckrintz/abstracts/annotgc.html.
[38]
Standard performance evaluation corporation (SpecJVM98 and SpecJBB Benchmarks). http://www.spec.org/.
[39]
UCSB RACELAB: The laboratory for Research on Adaptive Compilation Environments. http://www.cs.ucsb.edu/~racelab.
[40]
UNGAR, D. Generation scavenging: A non-disruptive high performance storage recalamation algorithm. In Proceedings of the ACM SIGSOFT/SIIGPLAN Software Engineering Symposium on Practical Software Development Environments (Pittsburg, Pennsylvania, Apr 1992).
[41]
UNGAR, D., AND JACKSON, F. An adaptive tenuring policy for generation scavengers. ACM Transactions on Programming Languages and Systems 14, 1 (1992), 1--27.
[42]
ZORN, B. Comparing mark-and sweep and stop-and-copy garbage collection. In Proceedings of the 1990 ACM conference on LISP and functional programmin (1990), ACM Press, pp. 87--98. 60

Cited By

View all
  • (2021)Towards self-adaptable languagesProceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3486607.3486753(97-113)Online publication date: 20-Oct-2021
  • (2021)Effect of Garbage Collection on Streaming Big Data Workloads2021 2nd Global Conference for Advancement in Technology (GCAT)10.1109/GCAT52182.2021.9587808(1-6)Online publication date: 1-Oct-2021
  • (2017)A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and ChallengesCloud Computing10.1007/978-3-319-54645-2_3(59-98)Online publication date: 3-Jun-2017
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISMM '04: Proceedings of the 4th international symposium on Memory management
October 2004
182 pages
ISBN:1581139454
DOI:10.1145/1029873
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: 24 October 2004

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. annotation
  3. application-specific collection
  4. dynamic selection
  5. hot-swapping
  6. virtual machine

Qualifiers

  • Article

Conference

ISMM04
Sponsor:

Acceptance Rates

Overall Acceptance Rate 72 of 156 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)3
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Towards self-adaptable languagesProceedings of the 2021 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3486607.3486753(97-113)Online publication date: 20-Oct-2021
  • (2021)Effect of Garbage Collection on Streaming Big Data Workloads2021 2nd Global Conference for Advancement in Technology (GCAT)10.1109/GCAT52182.2021.9587808(1-6)Online publication date: 1-Oct-2021
  • (2017)A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and ChallengesCloud Computing10.1007/978-3-319-54645-2_3(59-98)Online publication date: 3-Jun-2017
  • (2014)M3ACM SIGPLAN Notices10.1145/2775049.260299549:11(3-13)Online publication date: 12-Jun-2014
  • (2014)GinsengACM SIGPLAN Notices10.1145/2674025.257619749:7(41-52)Online publication date: 1-Mar-2014
  • (2014)M3Proceedings of the 2014 international symposium on Memory management10.1145/2602988.2602995(3-13)Online publication date: 12-Jun-2014
  • (2014)GinsengProceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments10.1145/2576195.2576197(41-52)Online publication date: 1-Mar-2014
  • (2013)Control theory for principled heap sizingACM SIGPLAN Notices10.1145/2555670.246648148:11(27-38)Online publication date: 20-Jun-2013
  • (2013)Control theory for principled heap sizingProceedings of the 2013 international symposium on memory management10.1145/2491894.2466481(27-38)Online publication date: 20-Jun-2013
  • (2013)Tightfit: adaptive parallelization with foresightProceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering10.1145/2491411.2491443(169-179)Online publication date: 18-Aug-2013
  • Show More Cited By

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