Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdullahi, S.E., Ringwood, A.: Garbage collecting the internet: A survey of distributed garbage collection. ACM Computing Surveys 30(3), 330–373 (1998)
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
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)
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)
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)
Chandy, K.M., Lamport, L.: Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems 3(1), 63–75 (1985)
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)
Hewitt, C.: Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence 8(3), 323–364 (1977)
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)
Hughes, J.: A distributed garbage collection algorithm. In: Jouannaud, J.-P. (ed.) FPCA 1985. LNCS, vol. 201, pp. 256–272. Springer, Heidelberg (1985)
Kafura, D., Mukherji, M., Washabaugh, D.: Concurrent and distributed garbage collection of active objects. IEEE TPDSÂ 6(4) (April 1995)
Kafura, D., Washabaugh, D., Nelson, J.: Garbage collection of actors. In: OOPSLA 1990, pp. 126–134. ACM Press, New York (1990)
Ladin, R., Liskov, B.: Garbage collection of a distributed heap. In: International Conference on Distributed Computing Systems, Yokohama (June 1992)
Lang, B., Queinnec, C., Piquer, J.: Garbage collecting the world. In: POPL 1992, pp. 39–50. ACM Press, New York (1992)
Le Fessant, F.: Detecting distributed cycles of garbage in large-scale systems. In: Principles of Distributed Computing (PODC), Rhodes Island (August 2001)
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)
Maheshwari, U., Liskov, B.: Collecting cyclic distributed garbage by controlled migration. In: PODC 1995 (1995)
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)
Matocha, J., Camp, T.: A taxonomy of distributed termination detection algorithms. J. Syst. Softw. 43(3), 207–221 (1998)
Moreau, L.: Tree rerooting in distributed garbage collection: Implementation and performance evaluation. Higher-Order and Symbolic Computation 14(4), 357–386 (2001)
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)
Puaut, I.: A distributed garbage collector for active objects. In: OOPSLA 1994, pp. 113–128. ACM Press, New York (1994)
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)
Schelvis, M.: Incremental distribution of timestamp packets — a new approach to distributed garbage collection. ACM SIGPLAN Notices 24(10), 37–48 (1989)
Shapiro, M., Dickman, P., Plainfossé, D.: SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapports de Recherche 1799, INRIA (November 1992)
Vardhan, A.: Distributed garbage collection of active objects: A transformation and its applications to java programming. Master’s thesis, UIUC, Urbana Champaig, Illinois (1998)
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)
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)
Veiga, L., Ferreira, P.: Asynchronous complete distributed garbage collection. In: Babaoglu, O., Marzullo, K. (eds.) IPDPS 2005, Denver, Colorado, USA (April 2005)
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)
Vestal, S.C.: Garbage collection: An exercise in distributed, fault-tolerant programming. PhD thesis, University of Washington, Seattle, WA (1987)
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)
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)
Worldwide Computing Laboratory. The SALSA Programming Language (2002), http://www.cs.rpi.edu/wwc/salsa/ (Work in Progress)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, WJ., Varela, C.A. (2006). Distributed Garbage Collection for Mobile Actor Systems: The Pseudo Root Approach. In: Chung, YC., Moreira, J.E. (eds) Advances in Grid and Pervasive Computing. GPC 2006. Lecture Notes in Computer Science, vol 3947. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11745693_36
Download citation
DOI: https://doi.org/10.1007/11745693_36
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-33809-3
Online ISBN: 978-3-540-33810-9
eBook Packages: Computer ScienceComputer Science (R0)