This paper describes the Hidra garbage collection system for non-mogratable 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 objects is computed as garbage, the ORB sneds an unreferenced notification to its implementation. In the case of replicated objects, the unreferenced notification is asyncronously 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.
展开▼