Distributed/concurrent garbage collection in distributed shared memory systems

We present a distributed and concurrent garbage collection algorithm that is well suited for distributed shared memory systems. Traversal of objects during garbage collection happens "in place" in the sense that the objects are not moved to any special node for traversal. Thus garbage collection activity does not interfere with the caching and locality inherent to the application. Cyclic garbage is reclaimed without moving objects, physically or logically. Furthermore, cycles are handled naturally by the algorithm and it is not necessary that a special mechanism be introduced for this purpose. Local garbage collection is asynchronous. Global garbage collection is realized by pair-of-nodes communication; no global synchronization is required. In this sense, the algorithm is scalable. Non-ideal communication channel are allowed and no bound on message delivery time is required.<<ETX>>

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

[2]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

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

[4]  Peter Boehler Bishop,et al.  Computer systems with a very large address space and garbage collection , 1977 .

[5]  Marc Shapiro,et al.  Robust, distributed references and acyclic garbage collection , 1992, PODC '92.

[6]  Donald E. Knuth,et al.  The art of computer programming: V.1.: Fundamental algorithms , 1997 .

[7]  Partha Dasgupta,et al.  The Clouds distributed operating system: functional description, implementation details and related work , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[8]  Thierry Le Sergent,et al.  Incremental Multi-threaded Garbage Collection on Virtual Shared Memory Architectures , 1992, IWMM.

[9]  Scott Nettles,et al.  Replication-Based Incremental Copying Collection , 1992, IWMM.

[10]  Jeffrey S. Chase,et al.  The Amber system: parallel programming on a network of multiprocessors , 1989, SOSP '89.

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

[12]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[13]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition , 1997 .

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

[15]  S. C. Vestal,et al.  Garbage collection: an exercise in distributed, fault-tolerant programming , 1987 .

[16]  Christian Queinnec,et al.  Garbage collecting the world , 1992, POPL '92.

[17]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1986, PODC '86.

[18]  John Hughes A Distributed Garbage Collection Algorithm , 1985, FPCA.

[19]  Barbara Liskov,et al.  Garbage collection of a distributed heap , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.