School of Computing

Cyclic distributed garbage collection with group merger

Helena Rodrigues and Richard Jones

In Eric Jul, editor, Proceedings of 12th European Conference on Object-Oriented Programming, ECOOP98, Lecture Notes in Computer Science, pages 182-196, Brussels, July 1998. Springer.


This paper presents a new algorithm for distributed garbage collection and outlines its implementation within the Network Objects system. It supersedes the earlier version, Technical Report 17-97.

The algorithm is based on a reference listing scheme augmented by partial tracing in order to collect distributed garbage cycles. Our collector is designed to be flexible thereby allowing efficiency, expediency and fault-tolerance to be traded against completeness. Processes may be dynamically organised into groups, according to appropriate heuristics, in order to reclaim distributed garbage cycles. Unlike previous group-based algorithms, multiple concurrent distributed garbage collections that span groups are supported: when two collections meet they may either merge, overlap or retreat. The algorithm places no overhead on local collectors and suspends local mutators only briefly. Partial tracing of the distributed graph involves only objects thought to be part of a garbage cycle: no collaboration with other processes is required.

Download publication 129 kbytes

Bibtex Record

author = {Helena Rodrigues and Richard Jones},
title = {Cyclic Distributed Garbage Collection with Group Merger},
month = {July},
year = {1998},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    address = {Brussels},
    booktitle = {Proceedings of 12th European Conference on Object-Oriented Programming, ECOOP98},
    editor = {Eric Jul},
    publisher = {Springer},
    refereed = {yes},
    series = {Lecture Notes in Computer Science},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014