Cyclic distributed garbage collection without global synchronization

Gustavo Rodriguez-Rivera, Purdue University

Abstract

This thesis describes an algorithm based on back-tracing for cyclic distributed garbage collection without global synchronization. First, using a heuristic based on the generational hypothesis, the algorithm chooses a likely object, called the garbage candidate. Then the algorithm traces back via the references to compute the transitive closure of objects that reach the garbage candidate. If this closure does not contain any root, then the objects in the closure are garbage and therefore collected. Otherwise, the back-trace halts without collecting. To make the back-trace process efficient and to increase the fault-tolerance of the algorithm, the state of the back-trace is stored in the same server that triggers it. This thesis also describes how to compute the back-references, how to handle concurrency between the collector and the servers, and optimizations that reduce the cost of back-tracing. Additionally, this thesis shows how to implement the algorithm using off-the-shelf software components. Finally, experimental results are provided that show how the cost of back-tracing is sensitive to the different topological and temporal characteristics of a distributed graph of objects.

Degree

Ph.D.

Advisors

Russo, Purdue University.

Subject Area

Computer science

Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server
.

Share

COinS