Distributed Garbage Collection for Mobile Actor Systems: The Pseudo Root Approach

Automatic distributed garbage collection (GC) gives abstraction to grid application development, promoting code quality and improving resource management. Unreachability of active objects or actors from the root set is not a sufficient condition to collect actor garbage, making passive object GC algorithms unsafe when directly used on actor systems. In practical actor languages, all actors have references to the root set since they can interact with users, e.g., through standard input or output streams. Based on this observation, we introduce pseudo roots: a dynamic set of actors that can be viewed as the root set. Pseudo roots use protected (undeletable) references to ensure that no actors are erroneously collected even with messages in transit. Following this idea, we introduce a new direction of actor GC, and demonstrate it by developing a distributed GC framework. The framework can thus be used for automatic life time management of mobile reactive processes with unordered asynchronous communication.

[1]  Dennis Kafura,et al.  Distributed garbage collection of active objects , 1991, [1991] Proceedings. 11th International Conference on Distributed Computing Systems.

[2]  Jean-Pierre Briot,et al.  Actalk: A Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment , 1989, ECOOP.

[3]  Fabrice Le Fessant,et al.  Detecting distributed cycles of garbage in large-scale systems , 2001, PODC '01.

[4]  Joe Armstrong,et al.  Concurrent programming in ERLANG , 1993 .

[5]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[6]  Peter Dickman Incremental, Distributed Orphan Detection and Actor Garbage Collection Using Graph Partitioning and Euler Cycles , 1996, WDAG.

[7]  Tracy Camp,et al.  A taxonomy of distributed termination detection algorithms , 1998, J. Syst. Softw..

[8]  Barbara Liskov,et al.  Garbage collection of a distributed heap , 1992, [1992] Proceedings of the 12th International Conference on Distributed Computing Systems.

[9]  Dennis G. Kafura,et al.  Concurrent and Distributed Garbage Collection of Active Objects , 1995, IEEE Trans. Parallel Distributed Syst..

[10]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[11]  Dennis G. Kafura,et al.  Garbage collection of actors , 1990, OOPSLA/ECOOP '90.

[12]  Luc Moreau,et al.  Tree Rerooting in Distributed Garbage Collection: Implementation and Performance Evaluation , 2001, High. Order Symb. Comput..

[13]  Richard E. Jones,et al.  A Cyclic Distributed Garbage Collector for Network Objects , 1996, WDAG.

[14]  S. C. Vestal,et al.  Garbage collection: an exercise in distributed, fault-tolerant programming , 1987 .

[15]  Barbara Liskov,et al.  Collecting cyclic distributed garbage by controlled migration , 1995, PODC '95.

[16]  Paul Watson,et al.  An Efficient Garbage Collection Scheme for Parallel Computer Architectures , 1987, PARLE.

[17]  Gul Agha,et al.  Modular specification of interaction policies in distributed computing , 1996 .

[18]  Peter Sewell,et al.  Nomadic Pict: language and infrastructure design for mobile agents , 2000, IEEE Concurr..

[19]  Barbara Liskov,et al.  Collecting distributed garbage cycles by back tracing , 1997, PODC '97.

[20]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[21]  Carlos A. Varela,et al.  Programming dynamically reconfigurable open systems with SALSA , 2001, SIGP.

[22]  Edward Wobber,et al.  Network objects , 1994, SOSP '93.

[23]  Dieter Maurer,et al.  A protocol for distributed reference counting , 1986, LFP '86.

[24]  David S. Munro,et al.  Starting with termination: a methodology for building distributed garbage collection algorithms , 2001, Proceedings 24th Australian Computer Science Conference. ACSC 2001.

[25]  David S. Munro,et al.  Garbage collecting the world: one car at a time , 1997, OOPSLA '97.

[26]  Isabelle Puaut A distributed garbage collector for active objects , 1994, OOPSLA 1994.

[27]  M. Schelvis Incremental distribution of timestamp packets: a new approach to distributed garbage collection , 1989, OOPSLA 1989.

[28]  José M. Piquer Indirect Reference Counting: A Distributed Garbage Collection Algorithm , 1991, PARLE.

[29]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..

[30]  Graem A. Ringwood,et al.  Garbage collecting the Internet: a survey of distributed garbage collection , 1998, CSUR.

[31]  Nalini Venkatasubramanian,et al.  Scalable Distributed Garbage Collection for Systems of Active Objects , 1992, IWMM.

[32]  Ted Wobber,et al.  Distributed Garbage Collection for Network Objects , 1993 .

[33]  Barbara Liskov,et al.  Highly available distributed services and fault-tolerant distributed garbage collection , 1986, PODC '86.

[34]  John Hughes A Distributed Garbage Collection Algorithm , 1985, FPCA.

[35]  Christian Queinnec,et al.  Garbage collecting the world , 1992, POPL '92.

[36]  Marc Shapiro A fault-tolerant, scalable, low-overhead distributed garbage detection protocol , 1991, [1991] Proceedings Tenth Symposium on Reliable Distributed Systems.

[37]  Gul Agha,et al.  Using passive object garbage collection algorithms for garbage collection of active objects , 2002, ISMM '02.

[38]  Wooyoung Kim,et al.  THAL: An Actor System for Efficient and Scalable Concurrent Computing , 1997 .

[39]  Luís Veiga,et al.  Asynchronous complete distributed garbage collection , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[40]  J. Davenport Editor , 1960 .

[41]  米沢 明憲 ABCL : an object-oriented concurrent system , 1990 .

[42]  Nissim Francez,et al.  Distributed Termination , 1980, TOPL.

[43]  Marc Shapiro,et al.  SSP Chains: Robust, Distributed References Supporting Acyclic Garbage Collection , 1993 .

[44]  Marc Shapiro,et al.  Robust, distributed references and acyclic garbage collection , 1992, PODC '92.

[45]  D. I. Bevan,et al.  Distributed Garbage Collection Using Reference Counting , 1987, PARLE.