Indirect Reference Listing: A robust Distributed GC

Jose Piquer and Ivana Visconti

Abstract
Reference Listing is a distributed Garbage Collection (GC)algorithm which replacesReference Counts by a list of sites holding references to a given object.It has been successfully implemented on many systems during the lastyears, and some extensions to it have been proposed to collect cycles.However, Reference Listing is difficult to extend to an environmentsupporting migration and must remain blocked during a referenceduplication to avoid race conditions on the reference lists.On the other hand, Indirect GCs are a family of algorithms which usean inverse tree to group all the references to an object, supportingmigration and in-transit references.This paper presents a new algorithm, called Indirect Reference Listingwhich extends the Reference Listing to the tree, supporting migration,in-transit references (without blocking) and some degree of fault-tolerance.The GC has been implemented on a distributed Lisp system and the executiontime overhead (compared to a Reference Count) is under 3%.
Contact
Jose Piquer
DCC,U. de Chile,Blanco Encalada 2120,Santiago,CHILE
Jose.Piquer@dcc.uchile.cl