Abstract

Support for distributed co-operative work implies object sharing. The memory management of these distributed (and possibly persistent) objects is a very difficult task. When done manually, it leads to memory leaks (useless objects that were not deleted) and dangling references (references to objects erroneously deleted), causing applications to fail. These errors have a strong negative impact on a programmer's productivity and program robustness. The authors address this problem by developing a complete distributed garbage collection algorithm. This solution is based on: (i) a reference-listing algorithm; and (ii) a centralised algorithm that complements the previous one by detecting distributed cycles of garbage. The detection and reclamation of distributed garbage cycles does not need any kind of global synchronisation. To achieve this goal they introduce the notion of a GC-consistent cut for distributed systems. They have implemented their algorithms in Rotor. Such an extension of the Rotor capabilities (which already includes a local garbage collector and use of leases for distributed garbage collection) is very important for supporting co-operative work among different users. The performance results obtained are very encouraging.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call