Some Key Issues in the Design of Distributed Garbage Collection and References
Résumé
The design of garbage collectors combines both theoretical aspects (safety and liveness) and practical ones (such as efficiency, inobtrusiveness, ease of implementation, fault tolerance, etc.). Although distributed GC is an instance of a consistency problem, practical designs often use weaker, 'conservative' safety conditions, and/or weaker, 'incomplete' liveness conditions. We report on our experience designing a number of distributed garbage collection algorithms in different settings, and explore the various design dimensions. The cost of each design alternative depends on the scale of the distributed system.