Mosaic: a non-intrusive complete garbage collector for DSM systems

Little work has been done in garbage algorithms for distributed shared memory systems. Mosaic is a safe and complete garbage collection system that collects garbage in object systems that are implemented above page-based distributed shared memory systems. It is non-intrusive in its impact on application performance. Mosaic partitions the virtual address space into separately managed regions, which form the basic unit of object storage. Garbage collection operates by moving objects between these partitions in a manner that associates live objects together, leaving unreachable objects behind so that partitions may be reused. To provide for safe operation of the collector, a distributed updated protocol maintains sufficient local knowledge of pointer duplication and destruction to allow safe determination of object reachability without the need to globally trace the object space. Mosaic exploits the semantics of pointer operations in type-safe object languages to allow for a weakened consistency model of pointer update during garbage collection.

[1]  Alan Dearle,et al.  Cache Coherency and Storage Management in a Persistent Object System , 1990, POS.

[2]  David S. Munro,et al.  Garbage collecting the world: one car at a time , 1997, OOPSLA '97.

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

[4]  J. Eliot B. Moss,et al.  Incremental Collection of Mature Objects , 1992, IWMM.

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

[6]  Alexander L. Wolf,et al.  Partition selection policies in object database garbage collection , 1994, SIGMOD '94.

[7]  J. Eliot B. Moss Addressing Large Distributed Collections of Persistent Objects: The Mneme Project's Approach , 1989, DBPL.

[8]  David S. Munro,et al.  PMOS: A Complete and Coarse-Grained Incremental Garbage Collector for Persistent Object Stores , 1996, POS.

[9]  Marc Shapiro,et al.  A Survey of Distributed Garbage Collection Techniques , 1995, IWMM.

[10]  Assaf Schuster,et al.  Remote Reference Counting: Distributed Garbage Collection with Low Communication and Computation Overhead , 2000, J. Parallel Distributed Comput..

[11]  Antony L. Hosking,et al.  Remembered sets can also play cards , 1999 .

[12]  Steffen Grarup,et al.  Incremental Mature Garbage Collection Using the Train Algorithm , 1995, ECOOP.

[13]  Vivek Singhal,et al.  Texas: An Efficient, Portable Persistent Store , 1992, POS.

[14]  Thierry Le Sergent,et al.  LEMMA: A Distributed Shared Memory with Global and Local Garbage Collection , 1995, IWMM.

[15]  David Ungar Generation scavenging: a nondisruptive high performance storage reclamation algorithm , 1984 .

[16]  David Maier,et al.  Persistent Object Systems , 1995, Workshops in Computing.

[17]  Marc Shapiro,et al.  Garbage collection and DSM consistency , 1994, OSDI '94.

[18]  David S. Munro,et al.  ProcessBase Reference Manual (Version 1.0.6) , 1999 .

[19]  Peter J. Keleher,et al.  Locality and performance of page- and object-based DSMs , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

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

[21]  David S. Munro,et al.  The Napier88 Persistent Programming Language and Environment , 2000 .

[22]  R. Kordale,et al.  Distributed/concurrent garbage collection in distributed shared memory systems , 1993, Proceedings Third International Workshop on Object Orientation in Operating Systems.

[23]  Alan Dearle,et al.  Casper: A Cached Architecture Supporting Persistence , 1992, Comput. Syst..

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