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 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]  David R. Hanson,et al.  Storage management for an implementation of SNOBOL4 , 1977, Softw. Pract. Exp..

[2]  Marvin Minsky,et al.  A LISP Garbage Collector Algorithm Using Serial Secondary Storage , 1963 .

[3]  Simon L. Peyton Jones,et al.  Generational garbage collection for Haskell , 1993, FPCA '93.

[4]  Feng Zhao,et al.  An {\it bf O(N)} Algorithm for Three-Dimensional N-body Simulations , 1987 .

[5]  William D. Clinger,et al.  Lambda, the ultimate label or a simple optimizing compiler for Scheme , 1994, LFP '94.

[6]  David A. Moon,et al.  Garbage collection in a large LISP system , 1984, LFP '84.

[7]  Allen Wirfs-Brock,et al.  A Third Generation Smalltalk-80 Implementation , 1986, OOPSLA.

[8]  David M. Miller,et al.  Handbook of Mathematical Functions With Formulas, Graphs and Mathematical Tables (National Bureau of Standards Applied Mathematics Series No. 55) , 1965 .

[9]  Douglas W. Clark Measurements of Dynamic List Structure Use in Lisp , 1979, IEEE Transactions on Software Engineering.

[10]  Benjamin G. Zorn,et al.  The measured cost of conservative garbage collection , 1993, Softw. Pract. Exp..

[11]  Irene A. Stegun,et al.  Handbook of Mathematical Functions. , 1966 .

[12]  Henry G. Baker,et al.  The Boyer benchmark meets linear logic , 1993, LIPO.

[13]  Robert Fenichel,et al.  A LISP garbage-collector for virtual-memory computer systems , 1969, CACM.

[14]  Darko Stefanovic,et al.  Characterization of object behaviour in Standard ML of New Jersey , 1994, LFP '94.

[15]  G. Thomas Calculus and Analytic Geometry , 1953 .

[16]  Microcomputer Standards Subcommittee IEEE standard for the Scheme programming language , 1991 .

[17]  Paul R. Wilson,et al.  Uniprocessor Garbage Collection Techniques , 1992, IWMM.

[18]  Chris J. Cheney A nonrecursive list compacting algorithm , 1970, Commun. ACM.

[19]  David M. Ungar,et al.  Generation Scavenging: A non-disruptive high performance storage reclamation algorithm , 1984, SDE 1.

[20]  Frank Jackson,et al.  An adaptive tenuring policy for generation scavengers , 1992, TOPL.

[21]  L. Greengard The Rapid Evaluation of Potential Fields in Particle Systems , 1988 .

[22]  Andrew W. Appel,et al.  Simple generational garbage collection and fast allocation , 1989, Softw. Pract. Exp..

[23]  Daniel G. Bobrow,et al.  Combining generational and conservative garbage collection: framework and implementations , 1989, POPL '90.

[24]  Rafael Dueire Lins,et al.  Benchmarking implementations of functional languages with ‘Pseudoknot’, a float-intensive benchmark , 1996, Journal of Functional Programming.

[25]  Benjamin G. Zorn,et al.  Using lifetime predictors to improve memory allocation performance , 1993, PLDI '93.

[26]  Feng Zhao An O(N) Algorithm for Three-dimensional N-body Simulations , 2022 .

[27]  Douglas W. Clark,et al.  An empirical study of list structure in Lisp , 1977, CACM.

[28]  Henry Lieberman,et al.  A real-time garbage collector based on the lifetimes of objects , 1983, CACM.

[29]  Henry G. Baker,et al.  The Boyer Benchmark at warp speed , 1992 .

[30]  Andrew W. Appel,et al.  Cache performance of fast-allocating programs , 1995, FPCA '95.

[31]  Benjamin G. Zorn,et al.  Garbage collection using a dynamic threatening boundary , 1995, PLDI '95.

[32]  Fritz Henglein,et al.  Global tagging optimization by type inference , 1992, LFP '92.

[33]  Paul R. Wilson,et al.  Caching considerations for generational garbage collection , 1992, LFP '92.

[34]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.

[35]  Darko Stefanovic,et al.  A comparative performance evaluation of write barrier implementation , 1992, OOPSLA.

[36]  Henry G. Baker,et al.  List processing in real time on a serial computer , 1978, CACM.

[37]  Richard P. Gabriel,et al.  Performance and evaluation of Lisp systems , 1985 .

[38]  Barry Hayes,et al.  Using key object opportunism to collect old objects , 1991, OOPSLA '91.

[39]  Henry G. Baker,et al.  Infant mortality and generational garbage collection , 1993, SIGP.

[40]  Suresh Jagannathan,et al.  Effective Flow Analysis for Avoiding Run-Time Checks , 1995, SAS.

[41]  Marc Feeley,et al.  Using Multilisp for solving constraint satisfaction problems: An application to nucleic acid 3D structure determination , 1994, LISP Symb. Comput..