Garbage Collection of Persistent Objects in Distributed Shared Memory
Résumé
This paper describes a garbage collection algorithm for distributed persistent objects in a loosely coupled network of workstations. Objects are accessed via a weakly consistent shared distributed virtual memory with recoverable properties. We address the specific problem of garbage collecting a large amount of distributed persistent objects, cached on several nodes for efficient sharing. For clustering purposes, objects are allocated within segments, and segments are logically grouped into bunches . The garbage collection subsystem combines three sub-algorithms: the bunches garbage collector that cleans one bunch (possibly multiply-cached) independently of any other, the scion cleaner that propagates accessibility information across bunches, and the group collector aimed at reclaiming inter-bunch cycles of dead objects. These three sub-algorithms are highly independent. Thus, the garbage collection subsystem has a high degree of scalability and parallelism. On top of this, it reclaims cycles of garbage, it does not require any particular communication support such as causality or atomicity, and is well suited to large scale networks.
Origine | Fichiers produits par l'(les) auteur(s) |
---|