Garbage collectors (GCs) automate the problem of deciding when objects are no longer reachable and therefore should be reclaimed, however, there currently exists no automated process for the design of a correct garbage collector. Formal models exist that prove the correctness of individual GCs; more general models describe a wider range of GCs but do not prove their correctness or provide a concrete instantiation process. The lack of a formal model means that GCs have been designed in an ad-hoc manner, published without proof of correctness and with bugs; it also means that it is difficult to apply experience gained from one implementation to the design of another. This thesis presents Surf, an abstract model of distributed garbage collection that bridges the gap between expressibility and specificity: it can describe a wide range of GCs and contains a proof of correctness that defines a list of requirements that must be fulfilled. Surf’s design space and its requirements for correctness provide a process that may be followed to analyse an existing collector or create a new GC. Surf predicts the abstract behaviour of GCs; this thesis evaluates those predictions in light of the understood behaviour of published GCs to confirm the accuracy of the model. A distributed persistent implementation of the Train Algorithm is created as an instantiation of Surf and the model is used to analyse progress in the GC and drive the design of a partition selection policy that provides a lower bound on progress and therefore reduces the GC’s complexity to completeness. Tests with mesh data structures from finite element analysis confirm the progress predictions from Surf. Published GCs cluster mostly in one corner of the Surf design space so this thesis explores the design of a GC at an unoccupied design point: the Tram Algorithm. Analysis via Surf leads to the prediction that Trams are capable of discovering topology in the live object graph that approximately identifies the strongly connected components, permitting O(1) timeliness that is unique to the Tram Algorithm. / Thesis (Ph.D.) -- University of Adelaide, School of Computer Science, 2008
Identifer | oai:union.ndltd.org:ADTP/264473 |
Date | January 2008 |
Creators | Brodie-Tyrrell, William |
Source Sets | Australiasian Digital Theses Program |
Detected Language | English |
Page generated in 0.0021 seconds