ABSTRACT
If a fixed exponentially decreasing probability distribution function is used to model every object's lifetime, then the age of an object gives no information about its future life expectancy. This radioactive decay model implies there can be no rational basis for deciding which live objects should be promoted to another generation. Yet there remains a rational basis for deciding how many objects to promote, when to collect garbage, and which generations to collect.Analysis of the model leads to a new kind of generational garbage collector whose effectiveness does not depend upon heuristics that predict which objects will live longer than others.This result provides insight into the computational advantages of generational garbage collection, with implications for the management of objects whose life expectancies are difficult to predict.
- 1.Milton Abramowitz and Irene A. Stegun. Handbook of Mathematical Punctions. National Bureau of Standards Applied Mathematics Series, 55, June 1964.Google Scholar
- 2.Andrew W. Appel. Simple generational garbage collection and fast allocation. Software Practice and Experience 19(2), February 1989, pages 171-183. Google ScholarDigital Library
- 3.Henry G. Baker. List processing in real time on a serial computer. CACM 21(4), April 1978, pages 280-294. Google ScholarDigital Library
- 4.Henry G. Baker. The Boyer benchmark at warp speed. A CM Lisp Pointers 5(3), July-September 1992, pages 13-14. Google ScholarDigital Library
- 5.Henry G. Baker. infant mortality and generational garbage collection. SIGPLAN Notices 28(4), April 1993, pages 55-57. Google ScholarDigital Library
- 6.Henry G. Baker. The Boyer benchmark meets linear logic. ACM Lisp Pointers 6(4), October-December 1993, pages 3- 10. Google ScholarDigital Library
- 7.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 Scholar
- 8.David A. Barrett and Benjamin G. Zorn. Using lifetime predictors to improve memory allocation performance. In ACM SIGPLAN Conference on Programming Language Design and Implementation, 1993, pages 187-196. Google ScholarDigital Library
- 9.Patrick J. Caudill and Allen Wirfs-Brock. A third-generation Smalltalk-80 implementation. In Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA '86), October 1986, pages 119-130. Google ScholarDigital Library
- 10.C. J. Cheney. A nonrecursive list compacting algorithm. CACM 13(11), November 1970, pages 677-678. Google ScholarDigital Library
- 11.Douglas W. Clark and C. Cordell Green. An empirical study of list structure in LISP. CACM 20(2), February 1977, pages 78-87. Google ScholarDigital Library
- 12.Douglas W. Clark. Measurements of dynamic list structure use in Lisp. IEEE 7hansactions on Software Engineering, 5(1), January 1979, 51-59.Google Scholar
- 13.William Clinger. Further measurements relevant to this paper will be made available through the World-Wide Web. See http://ewe, ccs .neu. edu/home/will/Qg/index, h~ml.Google Scholar
- 14.William Clinger and Lain Thomas Hansen. Lambda, the ultimate label; or a simple optimizing compiler for Scheme. In A CM Conference on Lisp and kSznctional Prog~mming, June 1994, pages 128-139. Google ScholarDigital Library
- 15.Alan Demers, Mark Weiser, Barry Hayes, Daniel Bobrow, and Scott Shenker. Combining generational and conservarive garbage collection: framework and implementations. In A CM Symposium on Principles of Programming Languages, January 1990, pages 261-269. Google ScholarDigital Library
- 16.Marc Feeley, Marcel Turcotte, and Guy Lapalme. Using Multilisp for solving constraint satisfaction problems: an application to nucleic acid 3D structure determination. In Journal of Lisp and Symbolic Computation 7(2/3), 1994, pages 231- 246. Google ScholarDigital Library
- 17.Robert R. Fenichel and Jerome C. Yocheison. A LISP garbage-collector for virtual-memory computer systems. CACM 12(11), November 1969, pages 611-612. Google ScholarDigital Library
- 18.Richard P. Gabriel. Performance and Evaluation of Lisp Programs. MIT Press, 1985. Google ScholarDigital Library
- 19.Marcelo J. R. Gonqalves and Andrew Appel. Cache performance of fast-allocating programs. In A CM SIGPLAN- $IGARCH-WG~.8 Conference on Functional Programming Languages and Computer Architecture (FPCA), June 1995, pages 293-305. Google ScholarDigital Library
- 20.Leslie Greengard. The Rapid Evaluation of Potential Fields in Particle Systems. ACM Press, 1987.Google Scholar
- 21.Lars Thomas Hansen. The Impact of Programming Style on the Performance of Scheme Programs. M.S. thesis, University of Oregon, 1992.Google Scholar
- 22.David R. Hanson. Storage management for an implementation of SNOBOL4. In Software: Practice and Ea~per/ence 7(2), March 1977, pages 179-192.Google Scholar
- 23.Pieter H. Hartel, Marc Feeley, et al. Benchmarking implementations of functional languages with "Pseudoknot", a float-intensive benchmark. In Journal of Fanctional Programming 6(4), July 1996, pages 621-655.Google ScholarCross Ref
- 24.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 ScholarDigital Library
- 25.Fritz HengIein. Global tagging optimization by type inference. In Proceedings of the A CM Symposium on Lisp and Functional Programming, 1992, pages 205-215. Google ScholarDigital Library
- 26.Antony L. Hosking, J. Eliot B. Moss, and Darko Stefanovid. A comparative performance evaluation of write barrier implementations. In Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA '9~), October 1992, pages 92-109. Google ScholarDigital Library
- 27.IEEE Standard for the Scheme Programming Language. IEEE Std 1178-1990. Google ScholarDigital Library
- 28.Suresh Jagannathan and Andrew Wright. Effective flow analysis for avoiding run-time checks. In Proceedings of the $nd International Static Analysis Symposium, Springer-Verlag LNCS 983, September 1995, pages 207-224. Google ScholarDigital Library
- 29.Henry Lieberman and Carl Hewitt. A real-time garbage collector based on the lifetimes of objects. CACM 26(6), June 1983, pages 419-429. Google ScholarDigital Library
- 30.Marvin Minsky. A LISP garbage collector algorithm using serial secondary storage. MIT AI Memo 58, 1963. Google ScholarDigital Library
- 31.David Moon. Garbage collection in a large Lisp system. In A CM Conference on Lisp and k'hnctional Prvgramming, 1984, pages 235-246. Google ScholarDigital Library
- 32.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 ScholarDigital Library
- 33.Darko Stefanovi~ and J. Eliot B. Moss. Characterisation of object behaviour in Standard ML of New Jersey. In A CM Conference on Lisp and Functional Programming, 1994, pages 43-54. Google ScholarDigital Library
- 34.George B. Thomas, Jr. Calculus and Analytic Geometry. Addison-Wesley, 1968.Google Scholar
- 35.David M. Ungar. Generation scavenging: a non-disruptive high-performance storage reclamation algorithm, in A CM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, A CM SIG- PLAN Notices 19(5), May 1987, pages 157-167. Google ScholarDigital Library
- 36.David Ungar and Frank Jackson. An adaptive tenuring policy for generation scavengers. A CM 7~ansactions on Programming Languages and Systems, 14(1), January 1992, pages 1-27. Google ScholarDigital Library
- 37.Paul R. Wilson, Michael S. Lam, and Thomas G. Moher. Caching considerations for generational garbage collection. In A CM Conference on Lisp and Fanctional Programming, June 1992, pages 32-42. Google ScholarDigital Library
- 38.Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles. Dynamic storage allocation: a survey and critical review. In Proceedings of the 1995 International Workshop on Memory Management, September 1995, SpringeroVerlag LNCS. Available via anonymous ftp from cs. utexas, edu, in pub/garbage. Google ScholarDigital Library
- 39.Paul R. Wilson. Uniprocessor garbage collection techniques. A CM Computing Surveys, to appear. Available via anonymous ftp from cs.utexas, edu, in pub/gsxbage.Google Scholar
- 40.Feng Zhao. An O(N) algorithm for three-dimensional n-body simulations. Master's thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1987.Google Scholar
- 41.Benjamin Zorn. The measured cost of conservative garbage collection. Software Practice and E~perience 23(7), 1993, pages 733-756. Google ScholarDigital Library
- 42.Benjamin Zorn. Garbage collection using a dynamic threatening boundary. In A CM $IGPLAN Conference on Programming Language Design and Implementation, June 1995, pages 301-314. Google ScholarDigital Library
Index Terms
- Generational garbage collection and the radioactive decay model
Recommendations
Linear combinations of radioactive decay models for generational garbage collection
Special issue on five perspectives on modern memory management: Systems, hardware and theoryA program's distribution of object lifetimes is one of the factors that determines whether and how much it will benefit from generational garbage collection, and from what kind of generational collector. Linear combinations of radioactive decay models ...
Generational garbage collection and the radioactive decay model
If a fixed exponentially decreasing probability distribution function is used to model every object's lifetime, then the age of an object gives no information about its future life expectancy. This radioactive decay model implies there can be no ...
Do generational schemes improve the garbage collection efficiency?
ISPASS '00: Proceedings of the 2000 IEEE International Symposium on Performance Analysis of Systems and SoftwareRecently, most research efforts on garbage collection have concentrated on reducing pause times. However, very little effort has been spent on the study of garbage collection efficiency, especially generational garbage collection which was introduced as ...
Comments