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

  • Wei-Jen Wang
  • Carlos A. Varela
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3947)


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.


Computing Node Root Actor Garbage Collection Garbage Collector Passive Object 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abdullahi, S.E., Ringwood, A.: Garbage collecting the internet: A survey of distributed garbage collection. ACM Computing Surveys 30(3), 330–373 (1998)CrossRefGoogle Scholar
  2. 2.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  3. 3.
    Bevan, D.I.: Distributed garbage collection using reference counting. In: Treleaven, P.C., Nijman, A.J., de Bakker, J.W. (eds.) PARLE 1987. LNCS, vol. 258/259, pp. 176–187. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  4. 4.
    Birrell, A., Evers, D., Nelson, G., Owicki, S., Wobber, E.: Distributed garbage collection for network objects. Technical Report 116, DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301 (December 1993)Google Scholar
  5. 5.
    Blackburn, S.M., Hudson, R.L., Morrison, R., Moss, J.E.B., Munro, D.S., Zigman, J.: Starting with termination: a methodology for building distributed garbage collection algorithms. Aust. Comput. Sci. Commun. 23(1), 20–28 (2001)Google Scholar
  6. 6.
    Chandy, K.M., Lamport, L.: Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems 3(1), 63–75 (1985)CrossRefGoogle Scholar
  7. 7.
    Dickman, P.: Incremental, distributed orphan detection and actor garbage collection using graph partitioning and Euler cycles. In: Babaoğlu, Ö., Marzullo, K. (eds.) WDAG 1996. LNCS, vol. 1151, pp. 256–272. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  8. 8.
    Hewitt, C.: Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence 8(3), 323–364 (1977)CrossRefGoogle Scholar
  9. 9.
    Hudson, R.L., Morrison, R., Moss, J.E.B., Munro, D.S.: Garbage collecting the world: One car at a time. SIGPLAN Not. 32(10), 162–175 (1997)CrossRefGoogle Scholar
  10. 10.
    Hughes, J.: A distributed garbage collection algorithm. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 256–272. Springer, Heidelberg (1985)Google Scholar
  11. 11.
    Kafura, D., Mukherji, M., Washabaugh, D.: Concurrent and distributed garbage collection of active objects. IEEE TPDS 6(4) (April 1995)Google Scholar
  12. 12.
    Kafura, D., Washabaugh, D., Nelson, J.: Garbage collection of actors. In: OOPSLA 1990, pp. 126–134. ACM Press, New York (1990)Google Scholar
  13. 13.
    Ladin, R., Liskov, B.: Garbage collection of a distributed heap. In: International Conference on Distributed Computing Systems, Yokohama (June 1992)Google Scholar
  14. 14.
    Lang, B., Queinnec, C., Piquer, J.: Garbage collecting the world. In: POPL 1992, pp. 39–50. ACM Press, New York (1992)Google Scholar
  15. 15.
    Le Fessant, F.: Detecting distributed cycles of garbage in large-scale systems. In: Principles of Distributed Computing (PODC), Rhodes Island (August 2001)Google Scholar
  16. 16.
    Lermen, C., Maurer, D.: A protocol for distributed reference counting. In: ACM Symposium on Lisp and Functional Programming, ACM SIGPLAN Notices, August 1986, pp. 343–350. ACM Press, Cambridge (1986)Google Scholar
  17. 17.
    Maheshwari, U., Liskov, B.: Collecting cyclic distributed garbage by controlled migration. In: PODC 1995 (1995)Google Scholar
  18. 18.
    Maheshwari, U., Liskov, B.: Collecting cyclic distributed garbage by back tracing. In: PODC 1997, Santa Barbara, CA, pp. 239–248. ACM Press, New York (1997)Google Scholar
  19. 19.
    Matocha, J., Camp, T.: A taxonomy of distributed termination detection algorithms. J. Syst. Softw. 43(3), 207–221 (1998)CrossRefGoogle Scholar
  20. 20.
    Moreau, L.: Tree rerooting in distributed garbage collection: Implementation and performance evaluation. Higher-Order and Symbolic Computation 14(4), 357–386 (2001)CrossRefMATHGoogle Scholar
  21. 21.
    Piquer, J.M.: Indirect reference counting: A distributed garbage collection algorithm. In: Aarts, E.H.L., Rem, M., van Leeuwen, J. (eds.) PARLE 1991. LNCS, vol. 505. Springer, Heidelberg (1991)Google Scholar
  22. 22.
    Puaut, I.: A distributed garbage collector for active objects. In: OOPSLA 1994, pp. 113–128. ACM Press, New York (1994)Google Scholar
  23. 23.
    Rodrigues, H., Jones, R.: A cyclic distributed garbage collector for Network Objects. In: Babaoğlu, Ö., Marzullo, K. (eds.) WDAG 1996. LNCS, vol. 1151, pp. 123–140. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  24. 24.
    Schelvis, M.: Incremental distribution of timestamp packets — a new approach to distributed garbage collection. ACM SIGPLAN Notices 24(10), 37–48 (1989)CrossRefGoogle Scholar
  25. 25.
    Shapiro, M., Dickman, P., Plainfossé, D.: SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapports de Recherche 1799, INRIA (November 1992)Google Scholar
  26. 26.
    Vardhan, A.: Distributed garbage collection of active objects: A transformation and its applications to java programming. Master’s thesis, UIUC, Urbana Champaig, Illinois (1998)Google Scholar
  27. 27.
    Vardhan, A., Agha, G.: Using passive object garbage collection algorithms. In: ISMM 2002, ACM SIGPLAN Notices, Berlin, June 2002, pp. 106–113. ACM Press, New York (2002)Google Scholar
  28. 28.
    Varela, C.A., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. ACM SIGPLAN Notices. OOPSLA 2001 Intriguing Technology Track Proceedings 36(12), 20–34 (2001)Google Scholar
  29. 29.
    Veiga, L., Ferreira, P.: Asynchronous complete distributed garbage collection. In: Babaoglu, O., Marzullo, K. (eds.) IPDPS 2005, Denver, Colorado, USA (April 2005)Google Scholar
  30. 30.
    Venkatasubramanian, N., Agha, G., Talcott, C.: Scalable distributed garbage collection for systems of active objects. In: Bekkers, Y., Cohen, J. (eds.) IWMM-GIAE 1992. LNCS, vol. 637, pp. 134–138. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  31. 31.
    Vestal, S.C.: Garbage collection: An exercise in distributed, fault-tolerant programming. PhD thesis, University of Washington, Seattle, WA (1987)Google Scholar
  32. 32.
    Wang, W., Varela, C.A.: Distributed garbage collection for mobile actor systems: The pseudo root approach. Technical Report 06-04, Dept. of Computer Science, R.P.I, Extended Version of the GPC 2006 Paper (February 2006)Google Scholar
  33. 33.
    Watson, P., Watson, I.: An efficient garbage collection scheme for parallel computer architectures. In: Treleaven, P.C., Nijman, A.J., de Bakker, J.W. (eds.) PARLE 1987. LNCS, vol. 259, pp. 432–443. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  34. 34.
    Worldwide Computing Laboratory. The SALSA Programming Language (2002), http://www.cs.rpi.edu/wwc/salsa/ (Work in Progress)

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Wei-Jen Wang
    • 1
  • Carlos A. Varela
    • 1
  1. 1.Department of Computer ScienceRensselaer Polytechnic InstituteTroyUSA

Personalised recommendations