Tree Rerooting in Distributed Garbage Collection: Implementation and Performance Evaluation.
Higher-Order and Symbolic Computation, 14, (4), .
We have recently defined a new algorithm for distributed garbage collection based on reference-counting [Moreau ICFP98,Moreau-Duprat ENS99]. At the heart of the algorithm, we find "tree rerooting", a mechanism able to reduce third-party dependencies by reorganising diffusion trees. In reality, the algorithm describes a spectrum of algorithms according to the policy used to manage messages. In this paper, we present the implementation of the algorithm and evaluate its performance. We have implemented two policies, which are extremes of the spectrum, respectively using and not using tree rerooting. In addition, two different strategies for managing action queues have been implemented. The conclusions of our experimentations are the following. Tree rerooting offers more parallelism during distributed GC activity; we explain this phenomenon by the length reduction of causality chains in the distributed GC. Grouping messages per destination dramatically reduces the number of messages, but requires a more complex implementation as messages have to be sorted per destination. Speed up of 100% has been observed on some benchmarks.
Actions (login required)