skip to main content
article

An experimental study of renewal-older-first garbage collection

Published:17 September 2002Publication History
Skip Abstract Section

Abstract

Generational collection has improved the efficiency of garbage collection in fast-allocating programs by focusing on collecting young garbage, but has done little to reduce the cost of collecting a heap containing large amounts of older data. A new generational technique, older-first collection, shows promise in its ability to manage older data.This paper reports on an implementation study that compared two older-first collectors to traditional (younger-first) generational collectors. One of the older-first collectors performed well and was often effective at reducing the first-order cost of collection relative to younger-first collectors. Older-first collectors perform especially well when objects have queue-like or random lifetimes.

References

  1. Henry G. Baker. The Boyer benchmark at warp speed. ACM Lisp Pointers 5(3), July--September 1992, pages 13--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Henry G. Baker. Infant mortality and generational garbage collection. ACM SIGPLAN Notices 28(4), April 1993, pages 55--57. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Henry G. Baker. The Boyer benchmark meets linear logic. ACM Lisp Pointers 6(4), October--December 1993, pages 3--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Henry G. Baker. Personal communication via electronic mail, 6 November 1995, quoting a personal communication via fax from Bob Boyer dated 3 December 1993.Google ScholarGoogle Scholar
  5. A. Bawden, R. Greenblatt, J. Holloway, T. Knight, D. A. Moon, and D. Weinreb. Lisp machine progress report. AI Memo 444, MIT AI Lab, August 1977.Google ScholarGoogle Scholar
  6. Steve M. Blackburn, Richard Jones, K. S. McKinley, and J. Eliot B. Moss. Beltway: Getting Around Garbage Collection Gridlock. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), June 17-19, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. J. Cheney. A nonrecursive list compacting algorithm. Communications of the ACM 13(11), November 1970, pages 677--678. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. William D Clinger and Lars Thomas Hansen. Lambda, the ultimate label, or a simple optimizing compiler for Scheme. Proceedings of the 1994 ACM Conference on Lisp and Functional Programming. ACM LISP Pointers VIII(3), July--September 1994, pages 128--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. William D Clinger and Lars T Hansen. Generational Garbage Collection and the Radioactive Decay Model. Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), ACM SIGPLAN Notices 32(5), May 1997, pages 97--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. William Clinger. Data provided via the World-Wide Web at http://www.ccs.neu.edu/home/will/GC/index.html.Google ScholarGoogle Scholar
  11. Jacques Cohen. Garbage collection of linked data structures. ACM Computing Surveys 13(3), September 1981, pages 341--367. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. L. Peter Deutsch and Daniel G. Bobrow. An efficient incremental automatic garbage collector. Communications of the ACM 19(7), July 1976, pages 522--526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Earley. An efficient context-free parsing algorithm. Communications of the ACM 13(2), 1970, pages 94--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Richard P. Gabriel. Performance and Evaluation of Lisp Systems. The MIT Press, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Jacob Seligmann and Steffen Grarup. Incremental mature garbage collection using the train algorithm. In Proceedings of 1995 European Conference on Object-Oriented Programming, Lecture Notes in Computer Science, Springer-Verlag, August 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lars Thomas Hansen. The impact of programming style on the performance of Scheme programs. M.S. Thesis, University of Oregon, 1992.Google ScholarGoogle Scholar
  17. Lars Thomas Hansen. Older-first Garbage Collection in Practice. Ph.D. Thesis, Northeastern University, November 2000. Available online---see www-clinger-gc.Google ScholarGoogle Scholar
  18. David R. Hanson. Storage Management for an Implementation of SNOBOL4. Software---Practice and Experience 7, 1977, pages 179--192.Google ScholarGoogle ScholarCross RefCross Ref
  19. Barry Hayes. Using key object opportunism to collect old objects. In Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA '91), October 1991, pages 33--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Michael W. Hicks, Luke Hornof, Jonathan T. Moore and Scott M. Nettles. A Study of Large Object Spaces. ISMM '98---International Symposium on Memory Management, pages 138--147. ACM Press, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Anthony L. Hosking, J. Eliot B. Moss, and Darko Stefanovic. A Comparative Performance Evaluation of Write Barrier Implementations. OOPSLA '92 Conference Proceedings, ACM SIGPLAN Notices 27(10), October 1992, pages 92--109. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Richard L. Hudson and J. Eliot B. Moss. Incremental garbage collection for mature objects. In Proceedings of International Workshop on Memory Management, (Yves Bekkers and Jacques Cohen, editors), Lecture Notes in Computer Science 637. Springer-Verlag, September 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. IEEE Standard for the Scheme Programming Language. IEEE Std 1178-1990.Google ScholarGoogle Scholar
  24. Richard Jones and Rafael Lins. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley & Sons, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Richard Kelsey, William Clinger, and Jonathan Rees (editors). Revised5 Report on the Algorithmic Language Scheme. ACM SIGPLAN Notices~33(9), September 1998, pages 26--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. The Larceny home page at http://www.larceny.org/+.Google ScholarGoogle Scholar
  27. Henry Lieberman and Carl Hewitt. A Real-Time Garbage Collector Based on the Lifetimes of Objects. Communications of the ACM 26(6), 419--429, June 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. David A. Moon. Garbage Collection in a Large Lisp System. In ACM Conference on Lisp and Functional Programming, 235--246, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Patrick M. Sansom and Simon L. Peyton Jones. Generational garbage collection for Haskell. In Conference on Functional Programming Languages and Computer Architecture, 1993, pages 106--116. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Darko Stefanovic and J. Eliot B. Moss. Characterisation of object behaviour in Standard ML of New Jersey. In ACM Conference on Lisp and Functional Programming, 1994, pages 43--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Darko Stefanovic. Properties of Age-Based Automatic Memory Reclamation Algorithms. Ph.D. thesis, University of Massachusetts, Amherst, Massachusetts, February 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Darko Stefanovic, Kathryn S. McKinley, and J. Eliot B. Moss. Age-Based Garbage Collection. OOPSLA~'99 Conference Proceedings, ACM SIGPLAN Notices 34(10), October 1999, pages 370--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Darko Stefanovic, Matthew Hertz, Steve M. Blackburn, K. S. McKinley, and J. Eliot B. Moss. Older-first Garbage Collection in Practice: Evaluation in a Java Virtual Machine. Workshop on Memory System Performance, Berlin, Germany, June 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. David Ungar. Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm. In ACM SIGSOFT-SIGPLAN Practical Programming Environments Conference, Pittsburgh PA, April 1984, pages 157--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Paul R. Wilson and Thomas G. Moher. Design of the opportunistic garbage collector. OOPSLA '89 Conference Proceedings, ACM SIGPLAN Notices 24(10), October 1989, pages 23--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Paul R. Wilson. Uniprocessor garbage collection techniques. ACM Computing Surveys, to appear. Available via anonymous ftp from cs.utexas.edu, in pub/garbage.Google ScholarGoogle Scholar

Index Terms

  1. An experimental study of renewal-older-first garbage collection

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

Full Access

  • Published in

    cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 37, Issue 9
    September 2002
    283 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/583852
    Issue’s Table of Contents
    • cover image ACM Conferences
      ICFP '02: Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
      October 2002
      294 pages
      ISBN:1581134878
      DOI:10.1145/581478

    Copyright © 2002 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: 17 September 2002

    Check for updates

    Qualifiers

    • article

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader