Garbage Collection for Modile and Replicated Objects

This paper describes the Hidra garbage collection system for non-migratable singleton objects, migratable objects and replicated objects. Garbage detection is based on a distributed reference counting protocol and on the use of forwarders when migration occurs. The algorithm is triggered by object reference operations and is completely asynchronous, enabling techniques such as piggy-backing and batching of messages. Once some object is computed as garbage, the ORB sends an unreferenced notification to its implementation. In the case of replicated objects, the unreferenced notification is asynchronously delivered to every replica implementation. The algorithm is safe and live in the absence of failures. When failures arise a reference count reconstruction protocol reestablishes the garbage detection algorithm invariants.

[1]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1981, TOCS.

[2]  Barbara Liskov,et al.  Fault-tolerant distributed garbage collection in a client-server object-oriented database , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[3]  Amr El Abbadi,et al.  Implementing Fault-Tolerant Distributed Objects , 1985, IEEE Transactions on Software Engineering.

[4]  Fred B. Schneider,et al.  The primary-backup approach , 1993 .

[5]  Sape J. Mullender,et al.  Distributed systems (2nd Ed.) , 1993 .

[6]  Francesc D. Muñoz-Escoí,et al.  ROI: an invocation mechanism for replicated objects , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[7]  Ted Wobber,et al.  Distributed Garbage Collection for Network Objects , 1993 .

[8]  Sape Mullender,et al.  Distributed systems , 1989 .

[9]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[10]  James G. Mitchell,et al.  Subcontract: a flexible base for distributed programming , 1994, SOSP '93.

[11]  José M. Bernabéu-Aubán,et al.  Solaris MC: A Multi Computer OS , 1996, USENIX Annual Technical Conference.

[12]  Francesc D. Muñoz-Escoí,et al.  High Availability Support in CORBA Environments , 1997, SOFSEM.

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

[14]  Edward Wobber,et al.  Network objects , 1994, SOSP '93.

[15]  Richard E. Jones,et al.  A Cyclic Distributed Garbage Collector for Network Objects , 1996, WDAG.

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

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