skip to main content
10.1145/207110.207164acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
Article
Free Access

Garbage collection using a dynamic threatening boundary

Authors Info & Claims
Published:01 June 1995Publication History

ABSTRACT

Generational techniques have been very successful in reducing the impact of garbage collection algorithms upon the performance of programs. However, all generational algorithms occasionally promote objects that later become garbage, resulting in an accumulation of garbage in older generations. Reclaiming this tenured garbage without resorting to collecting the entire heap is a difficult problem. In this paper, we describe a mechanism that extends existing generational collection algorithms by allowing them to reclaim tenured garbage more effectively. In particular, our dynamic threatening boundary mechanism divides memory into two spaces, one for shortlived, and another for long-lived objects. Unlike previous work, our collection mechanism can dynamically adjust the boundary between these two spaces either forward or backward in time, essentially allowing data to become untenured. We describe an implementation of the dynamic threatening boundary mechanism and quantify its associated costs. We also describe a policy for setting the threatening boundary and evaluate its performance relative to existing generational collection algorithms. Our results show that a policy that uses the dynamic threatening boundary mechanism is effective at reclaiming tenured garbage.

References

  1. 1.Apple Computer Inc. Macintosh Common Lisp Reference, version 2 edition, 1992. pages 631-637.Google ScholarGoogle Scholar
  2. 2.David A. Barrett and Benjamin G. Zom. Using lifetime predictors to improve memory allocation performance. In ACM SIGPLAN Symposium on Programming Lan. guage Design and Implementation, pages 187-196, Albuquerque, New Mexico, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.H. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software Practice and Experience, pages 807-820, September 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Hans-J. Boehm, Alan J. Demers, and Scott Shenker. Mostly parallel garbage collection. In ACM SIGPLAN Symposium on Programming Language Design and Implementation, pages 157-164, June 1991. Toronto, Ontario, Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Patrick Caudill and Allen Wirfs-Brock. A third generation Smalltalk-80 implementation. In Normam Meyrowitz, editor, OOPSLA'86 Conference Proceedings, pages 119-130, Portland, OR, September 1986. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Alan Demers, Mark Weiser, Barry Hayes, Hans Boetam, Daniel Bobrow, and Scott Shenker. Combining generational and conservative garbage collection: Framework and implementations. In Conference Record of the Sev. enteenth ACM Symposium on Principles of Programming Languages, pages 261-269, January 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.David Detlefs, A1 Dosser, and Benjamin Zorn. Memory allocation costs in large C and C++ programs. Software Practice and Experience, 24(6):527-542, June 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Digital Equipment Corporation. ATOM Reference Manual, December 1993.Google ScholarGoogle Scholar
  9. 9.Fmnz Inc. Allegro CL User Guide, Version 4.1, revision 2 edition, March 1992. Chapter 15: Garbage Collection.Google ScholarGoogle Scholar
  10. 10.Barry Hayes. Using key object opportunism to collect old objects. In ACM SIGPLAN 1991 Conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA '91), pages 33-46, Phoenix, Arizona, October 1991. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Antony L. Hosking and Richard L. Hudson. Remembered sets can also play cards. In OOPSLA'93 Workshop on Garbage Collection in Object-Oriented Systems, Washington, D.C., September 1993.Google ScholarGoogle Scholar
  12. 12.R. L. Hudson, J. E. B. Moss, and A. Diwan. A language independent garbage collector toolkit. Technical Report COINS TR 91-47, University of Massachusetts, Amherst, MA, September 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Richard L. Hudson and J. Eliot B. Moss. Incremental collection of mature objects. In Proceedings of the International Workshop on Memory Management, pages 388-403, St. Malo, France, September 1992. Springer- Verlag Lecture Notes in Computer Science vol. 637. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.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
  15. 15.David A. Moon. Garbage collection in a large Lisp system. In Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, pages 235-246, Austin, Texas, August 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.David Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In SIG- SOFT/SIGPLAN Practical Programming Environments Conference, pages 157-167, April 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.David Ungar and Frank Jackson. An adaptive tenuring policy for generation scavengers. A CM Transactions on Programming Languages and Systems, 14(i ): 1-27, January 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Mark D. Weiser, Alan J. Demers, Daniel G. Bobrow, and Barry Hayes. Method ancl system for reclaiming unreferenced computer memory space. United States Patent No. 5,321,834, June 1994.Google ScholarGoogle Scholar
  19. 19.Paul R. Wilson and Thomas G. Moher. Design of the opportunistic garbage collector. In ACM SIGPLAN 1989 Conference on Object Oriented Programming Systems, Languages and Applications (OOPSLA '89), pages 23- 35, New Orleans, Louisiana, October 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Benjamin Zorn. Comparing mark-and-sweep and stopand-copy garbage collection. In 1990 ACM Conference on Lisp and Functional Programming, pages 87-98, Nice, France, June 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Benjamin Zorn and Dirk Grunwald. Empirical measurements of six allocation-intensive C programs. ACM SIG- PLAN Notices, 27(12):71-80, December 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Garbage collection using a dynamic threatening boundary

              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
                PLDI '95: Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
                June 1995
                335 pages
                ISBN:0897916972
                DOI:10.1145/207110

                Copyright © 1995 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: 1 June 1995

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • Article

                Acceptance Rates

                PLDI '95 Paper Acceptance Rate28of105submissions,27%Overall Acceptance Rate406of2,067submissions,20%

                Upcoming Conference

                PLDI '24

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader