Distributed garbage collection using reference counting
Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
Garbage collection in an uncooperative environment
Software—Practice & Experience
Indirect reference counting: a distributed garbage collection algorithm
PARLE '91 Proceedings on Parallel architectures and languages Europe : volume I: parallel architectures and algorithms: volume I: parallel architectures and algorithms
Fault-tolerant reference counting for garbage collection in distributed systems
The Computer Journal - Special issue on distributed systems
The derivation of distributed termination detection algorithms from garbage collection schemes
ACM Transactions on Programming Languages and Systems (TOPLAS)
An efficient and general implementation of futures on large scale shared-memory multiprocessors
An efficient and general implementation of futures on large scale shared-memory multiprocessors
GUM: a portable parallel implementation of Haskell
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Indirect distributed garbage collection: handling object migration
ACM Transactions on Programming Languages and Systems (TOPLAS)
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
The Nexus approach to integrating multithreading and communication
Journal of Parallel and Distributed Computing - Special issue on multithreading for multiprocessors
Garbage collecting the world: one car at a time
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Hierarchical distributed reference counting
Proceedings of the 1st international symposium on Memory management
A distributed garbage collector with diffusion tree reorganisation and mobile objects
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
A protocol for distributed reference counting
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
System support for transparency and network-aware adaptation in mobile environments
SAC '98 Proceedings of the 1998 ACM symposium on Applied Computing
Diffusion tree restructuring for indirect reference counting
Proceedings of the 2nd international symposium on Memory management
A method for overlapping and erasure of lists
Communications of the ACM
Distributed directory service and message routing for mobile agents
Science of Computer Programming
A Survey of Distributed Garbage Collection Techniques
IWMM '95 Proceedings of the International Workshop on Memory Management
An Efficient Garbage Collection Scheme for Parallel Computer Architectures
Proceedings of the Parallel Architectures and Languages Europe, Volume I
NeXeme: A Distributed Scheme Based on Nexus
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Correctness of a Distributed-Memory Model for Scheme
Euro-Par '96 Proceedings of the Second International Euro-Par Conference on Parallel Processing - Volume I
Design and semantics of quantum: a language to control resource consumption in distributed computing
DSL'97 Proceedings of the Conference on Domain-Specific Languages on Conference on Domain-Specific Languages (DSL), 1997
ACM Transactions on Programming Languages and Systems (TOPLAS)
Birrell's distributed reference listing revisited
ACM Transactions on Programming Languages and Systems (TOPLAS)
Scientific Programming
Distributed garbage collection for mobile actor systems: the pseudo root approach
GPC'06 Proceedings of the First international conference on Advances in Grid and Pervasive Computing
Hi-index | 0.00 |
We have recently defined a new algorithm for distributed garbage collection based on reference-counting (Luc Moreau, in Proceedings of the Third International Conference of Functional Programming (ICFP'98), Sept. 1998, pp. 204–215; Luc Moreau and J. Duprat, Technical Report RR1999-18, Ecole Normale Supérieure, Lyon, March 1999). 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.