Parallel generational garbage collection

With the advent of parallel systems, opportunities for efficiency exist that have yet to be exploited, especially in the area of garbage collection. In this paper, a parallel generational garbage collection algorithm is presented that extends previous work by exploiting opportunities for parallelism in the garbage collection process itself. A prototype implementation of the parallel generational collector was developed and its execution simulated to determine its efficiency. For a certain class of programs, the parallel generational collector performed up to 67% less copying than a parallel copy collector and reduced elapsed times up to an additional 12%; corresponding reductions in overhead for the ongoing program were also observed.

[1]  Leslie Lamport,et al.  On-the-fly garbage collection: an exercise in cooperation , 1975, CACM.

[2]  Ifor Williams,et al.  The design and evaluation of a high-performance smalltalk system , 1988 .

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

[4]  David Gries An exercise in proving parallel programs correct , 1977, CACM.

[5]  Brian N. Bershad,et al.  An Open Environment for Building Parallel Programming Systems , 1988, PPOPP/PPEALS.

[6]  Robert H. Halstead,et al.  Implementation of multilisp: Lisp on a multiprocessor , 1984, LFP '84.

[7]  Shreekant S. Thakkar,et al.  The Symmetry Multiprocessor System , 1988, ICPP.

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

[9]  Thomas P. Murtagh,et al.  Lifetime analysis of dynamically allocated objects , 1988, POPL '88.

[10]  Mordechai Ben-Ari Algorithms for on-the-fly garbage collection , 1984, TOPL.

[11]  H. T. Kung,et al.  An efficient parallel garbage collection system and ITS correctness proof , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[12]  Klaus-Peter Löhr,et al.  Object-Oriented Concurrent Programming , 1992, TOOLS.

[13]  Jr. Charles Richard Lang The extension of object-oriented languages to a homogeneous, concurrent architecture , 1982 .

[14]  John H. Reppy,et al.  Concurrent garbage collection on stock hardware , 1987, FPCA.

[15]  Ralph Duncan,et al.  A survey of parallel computer architectures , 1990, Computer.

[16]  Jacques Cohen,et al.  Garbage Collection of Linked Data Structures , 1981, CSUR.

[17]  James R. Larus,et al.  Detecting conflicts between structure accesses , 1988, PLDI '88.

[18]  Lawrence C. Stewart,et al.  Firefly: a multiprocessor workstation , 1987, IEEE Trans. Computers.

[19]  David L. Detlefs,et al.  Concurrent garbage collection for C , 1990 .