Distributed garbage collection for large-scale mobile actor systems

  • Authors:
  • Carlos A. Varela;Wei-Jen Wang

  • Affiliations:
  • Rensselaer Polytechnic Institute;Rensselaer Polytechnic Institute

  • Venue:
  • Distributed garbage collection for large-scale mobile actor systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Distributed actor garbage collection (GC) is a notoriously hard problem due to the nature of distributed actor systems---no common clock, no coherent global information, asynchronous and unordered message passing, autonomous behavior of actors, and counter-intuitive actor marking to identify live actors. Most existing distributed actor GC algorithms rely on First-In-First-Out (FIFO) communication, which constrains the actor model and is impractical with actor mobility; others depend on stop-the-world synchronization, which is intrusive and impractical for users' computations. Existing actor GC algorithms ignore actor mobility and resource access restrictions. Existing distributed passive object GC algorithms cannot be directly reused because of the different semantics of passive objects and actors. To overcome the problems that existing algorithms cannot solve, this thesis presents a practical actor GC mechanism for distributed mobile actor systems. Our approach starts formalizing garbage actors, and then we show two different but similar transformation methods that prove the equivalence of actor GC and passive object GC. Two actor marking algorithms are derived from the transformation methods---the back pointer algorithm and the N-color algorithm. The back pointer algorithm has linear time complexity of O(E + V) and extra space complexity of O(E + V), and the N-color algorithm has time complexity of O(Elg* M) and extra space complexity of O(M), given that E is the number of references, V, the number of actors, and M, the number of unblocked and root actors. The N-color algorithm only requires scanning the reference graph once while the back pointer algorithm requires scanning it twice. The thesis follows by describing our distributed mobile actor GC mechanism. It consists of (1) an asynchronous, non-FIFO reference listing based algorithm which supports hierarchical GC (local and global GC), (2) a new fault-tolerant, distributed snapshot-based algorithm which collects cyclic and acyclic garbage in a partial set of computing hosts, and (3) formal models and correctness proofs. Experimental results have confirmed that our approach is practical and scalable.