Motivated by the advent of programming languages like Java, whichare oriented to the needs of applications distributed over the Internet,this paper’s objective is to give readers an overview of the range ofsolutions for the problem of identifying and reclaiming unreferenceddistributed memory cells. Already a nontrivial problem insingle-address-space systems, the distributed version of the problemraises the additional issues of communication overhead andnondeterministic latency. The authors emphasize the roots of thedistributed solutions in the earlier single-address-space approaches byfirst developing a taxonomy of the latter according to the differenttechniques employed for identifying and reclaiming, and then structuringthe primary content of the paper based on this taxonomy, which describes15 approaches to the problem. The conclusion presents a carefullydeveloped, qualitative comparison of the approaches discussed earlier.Finally, the design of distributed garbage collection is generallycharacterized as the delicate problem of balancing the differentdetermining properties of such a scheme, with the improvement of oneaspect always reducing the quality of another. As future work, theauthors suggest a more systematic comparison of the numerous existingapproaches.
The paper is elegantly crafted, especially in the way the authorsguide readers from the origins of the problem area to current work. Thevarious approaches are described and related well, making the paper anexcellent introduction to the topic.