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
Published in:
Object Orientation in Operating Systems, 1993., Proceedings of the Third International Workshop on
Date of Conference: 9-10 Dec 1993