Skip to main content
Log in

Conservative snapshot-based actor garbage collection for distributed mobile actor systems

  • Published:
Telecommunication Systems Aims and scope Submit manuscript

Abstract

A mobile agent system consists of mobile agents, each of which can transport its state and code to any computing host in the system. The system is able to perform dynamic network reconfiguration and user customization to keep it flexible and effective. A mobile agent system can be theoretically depicted by the mobile actor model, in which a mobile actor is an autonomous computing entity and communicates with other actors by using asynchronous messages. Automatic distributed actor garbage collection, one of the important issues of lifetime management of mobile actors, can help high-level programming and efficient resource management in such a mobile actor system. Therefore, it is beneficial to design an intelligent management strategy to automatically detect and collect mobile actor garbage. In this paper, we propose a mechanism for mobile actor garbage collection using a novel conservative snapshot-based algorithm. Compared with prior similar work, the proposed mechanism is more flexible because it does not assume FIFO communication and any network topology. Moreover, it can perform actor garbage collection in a partial set of computing nodes, and thus can reduce the synchronization overhead while taking a global snapshot on a particular distributed application. In addition, the proposed mechanism does not restrict mutation operations such as actor creation and actor migration while taking a global snapshot. We have conducted experiments to evaluate the overhead of the proposed mechanism, and the results showed that the proposed mechanism is practical.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Lange, D. B., & Oshima, M. (1999). Seven good reasons for mobile agents. Communications of the ACM, 42, 88–89.

    Article  Google Scholar 

  2. Worldwide Computing Lab., (2011). SALSA language. http://wcl.cs.rpi.edu/salsa/.

  3. Spanoudakis, N., & Moraitis, P. (2006). The Gaia2JADE process for multi-agent systems development. Applied Artificial Intelligence Journal, 20(2), 251–273.

    Google Scholar 

  4. Amoretti, M., Laghi, M. C., Tassoni, F., & Zanichelli, F. (2010). Service migration within the cloud: Code mobility in SP2A. In 2010 International conference on high performance computing and simulation, June 2010 (pp. 196–202).

    Chapter  Google Scholar 

  5. Jung, J. J. (2009). Consensus-based evaluation framework for cooperative information retrieval systems. Knowledge and Information Systems, 18(2), 199–211.

    Article  Google Scholar 

  6. Jung, J. J. (2009). Knowledge distribution via shared context between blog-based knowledge management systems: a case study of collaborative tagging. Expert Systems with Applications, 36(7), 10627–10633.

    Article  Google Scholar 

  7. Maghraoui, K. E., Desell, T. J., Szymanski, B. K., & Varela, C. A. (2006). The Internet operating system: Middleware for adaptive distributed computing. The International Journal of High Performance Computing Applications, 20(4), 467–480.

    Article  Google Scholar 

  8. Wang, W., Maghraoui, K. E., Cummings, J., Napolitano, J., Szymanski, B., & Varela, C. (2006). A middleware framework for maximum likelihood evaluation over dynamic grids. In Proceedings of the second IEEE international conference on e-science and grid computing, Amsterdam, Netherlands, December 2006 (p. 8).

    Google Scholar 

  9. Varela, C. A., & Agha, G. (2001). Programming dynamically reconfigurable open systems with SALSA. In ACM SIGPLAN notices. OOPSLA 2001 ACM conference on object-oriented systems, languages and applications, Dec. 2001 (vol. 36, pp. 20–34).

    Google Scholar 

  10. Agha, G. (1986). Actors: a model of concurrent computation in distributed systems. Cambridge: MIT Press.

    Google Scholar 

  11. Hewitt, C. (1977). Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8, 323–364.

    Article  Google Scholar 

  12. Wang, W., & Varela, C. A. (2006). Distributed garbage collection for mobile actor systems: The pseudo root approach. In Lecture notes in computer science: Vol. 3947. Advances in grid and pervasive computing, first international conference, GPC 2006 (pp. 360–372). Berlin: Springer.

    Google Scholar 

  13. Wang, W., Varela, C. A., Hsu, F., & Tang, C. (2010). Actor garbage collection using vertex-preserving actor-to object graph transformations. In Lecture notes in computer science: Vol. 6104. Advances in grid and pervasive computing (pp. 244–255). Berlin: Springer.

    Chapter  Google Scholar 

  14. Kafura, D., Mukherji, M., & Washabaugh, D. (1995). Concurrent and distributed garbage collection of active objects. IEEE TPDS, 6, 1995.

    Google Scholar 

  15. Kafura, D., Washabaugh, D., & Nelson, J. (1990). Garbage collection of actors. In OOPSLA ’90 ACM conference on object-oriented systems, languages and applications, October 1990 (pp. 126–134). New York: ACM.

    Google Scholar 

  16. Venkatasubramanian, N., Agha, G., & Talcott, C. (1992). Scalable distributed garbage collection for systems of active objects. In Lecture notes in computer science: Vol. 637. IWMM ’92. Berlin: Springer.

    Google Scholar 

  17. Puaut, I. (1994). A distributed garbage collector for active objects. In OOPSLA’94 ACM conference on object-oriented Systems, languages and applications (pp. 113–128). New York: ACM.

    Google Scholar 

  18. Vardhan, A., & Agha, G. (2002). Using passive object garbage collection algorithms. In ISMM’02, ACM SIGPLAN notices, Berlin (pp. 106–113). New York: ACM.

    Google Scholar 

  19. Armstrong, J., Virding, R., Wikström, C., & Williams, M. (1996). Concurrent programming in Erlang (2nd edn.). New York: Prentice Hall.

    Google Scholar 

  20. Dickman, P. (1996). Incremental, distributed orphan detection and actor garbage collection using graph partitioning and Euler cycles, Bologna. In Lecture notes in computer science: Vol. 1151. WDAG’96. Berlin: Springer.

    Google Scholar 

  21. Abdullahi, S. E., & Ringwood, A. (1998). Garbage collecting the Internet: A survey of distributed garbage collection. ACM Computing Surveys, 30(3), 330–373.

    Article  Google Scholar 

  22. Veiga, L., & Ferreira, P. (2005). Asynchronous complete distributed garbage collection. In O. Babaoglu & K. Marzullo (Eds.), IPDPS 2005 (Denver, Colorado, USA), Apr. 2005.

    Google Scholar 

  23. Misra, J. (1983). Detecting termination of distributed computations using markers. In 2nd ACM SIGACT-SIGOPS symposium on principles of distributed computing (pp. 290–294).

    Google Scholar 

  24. Bronevetsky, G., Marques, D., Pingali, K., & Stodghill, P. (2003). Automated application-level checkpointing of MPI programs. In Proceedings of the 2003 ACM SIGPLAN symposium on principles of parallel programming, (PPoPP-03) (pp. 84–94). New York: ACM.

    Chapter  Google Scholar 

  25. Sato, Y., Inoue, M., Masuzawa, T., & Fujiwara, H. (1996). A snapshot algorithm for distributed mobile systems. In ICDCS ’96: proceedings of the 16th international conference on distributed computing systems (ICDCS ’96) (pp. 734–743). Los Alamitos: IEEE Computer Society.

    Chapter  Google Scholar 

  26. Chandy, K. M., & Lamport, L. (1985). Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems, 3(1), 63–75.

    Article  Google Scholar 

  27. Strom, R. E., & Yemini, S. (1985). Optimistic recovery in distributed systems. ACM Transactions on Computer Systems, 3(3), 204–226.

    Article  Google Scholar 

  28. Mattern, F. (1989). Virtual time and global states of distributed systems. In International workshop on parallel and distributed algorithms (pp. 215–226) (Chateau de Bonas), October 1989.

    Google Scholar 

  29. Yuasa, T. (1990). Real-time garbage collection on general purpose machines. Journal of Software and Systems, 11(3), 181–198.

    Article  Google Scholar 

  30. Lermen, C., & Maurer, D. (1986). A protocol for distributed reference counting. In ACM symposium on lisp and functional Programming, ACM SIGPLAN Notices (pp. 343–350) (Cambridge, MA), Aug. 1986. New York: ACM Press.

    Google Scholar 

  31. Birrell, A., Evers, D., Nelson, G., Owicki, S., & Wobber, E. (1993). Distributed garbage collection for network objects. Tech. Rep. 116, DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301, Dec. 1993.

  32. Moreau, L. (2001). Tree rerooting in distributed garbage collection: Implementation and performance evaluation. Higher-Order and Symbolic Computation, 14(4), 357–386.

    Article  Google Scholar 

  33. Piquer, J. M. (1991). Indirect reference counting: A distributed garbage collection algorithm. In Lecture notes in computer science: Vol. 505. PARLE’91 (Eindhoven, The Netherlands), June 1991. Berlin: Springer.

    Google Scholar 

  34. Bevan, D. I. (1987). Distributed garbage collection using reference counting. In Lecture notes in computer science: Vol. 258/259. PARLE’87 (pp. 176–187) (Eindhoven, The Netherlands), June 1987. Berlin: Springer.

    Google Scholar 

  35. Watson, P., & Watson, I. (1987). An efficient garbage collection scheme for parallel computer architectures. In Lecture notes in computer science: Vol. 258/259. PARLE’87 (pp. 432–443) (Eindhoven, The Netherlands), June 1987. Berlin: Springer.

    Google Scholar 

  36. Shapiro, M., Dickman, P., & Plainfossé, D. (1992). SSP chains: Robust, distributed references supporting acyclic garbage collection. Rapports de Recherche 1799, INRIA, Nov. 1992.

  37. Hughes, J. (1985). A distributed garbage collection algorithm. In LNCS: Vol. 201. Record of the 1985 conference on functional programming and computer architecture (pp. 256–272) (Nancy, France), Sept. 1985. Berlin: Springer.

    Chapter  Google Scholar 

  38. Ladin, R., & Liskov, B. (1992). Garbage collection of a distributed heap. In International conference on distributed computing systems (Yokohama), June 1992.

    Google Scholar 

  39. Vestal, S. C. (1987) Garbage collection: An exercise in distributed, fault-tolerant programming. PhD thesis, University of Washington, Seattle, WA.

  40. Maheshwari, U., & Liskov, B. (1995). Collecting cyclic distributed garbage by controlled migration. In PODC’95 principles of distributed computing

    Google Scholar 

  41. Maheshwari, U., & Liskov, B. (1997). Collecting cyclic distributed garbage by back tracing. In PODC’97 principles of distributed computing (Santa Barbara, CA) (pp. 239–248). New York: ACM Press.

    Google Scholar 

  42. Le Fessant, F. (2001). Detecting distributed cycles of garbage in large-scale systems. In Principles of distributed computing, (PODC) (Rhodes Island), Aug. 2001.

    Google Scholar 

  43. Lang, B., Queinnec, C., & Piquer, J. (1992). Garbage collecting the world. In POPL’92 ACM SIGPLAN-SIGACT symposium on principles of programming languages (pp. 39–50). New York: ACM Press.

    Google Scholar 

  44. Rodrigues, H., & Jones, R. (1996). A cyclic distributed garbage collector for network objects. In Lecture notes in computer science: Vol. 1151. WDAG’96 (pp. 123–140) (Bologna), Oct. 1996. Berlin: Springer.

    Google Scholar 

  45. Hudson, R. L., Morrison, R., Moss, J. E. B., & Munro, D. S. (1997). Garbage collecting the world: One car at a time. ACM SIGPLAN Notices, 32(10), 162–175.

    Article  Google Scholar 

  46. Bacon, D. F., Cheng, P., & Rajan, V. T. (2003). Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for Java. In Proceedings of the conference on languages, compilers, and tools for embedded systems (pp. 81–92) (San Diego, California), June 2003.

    Google Scholar 

  47. Vardhan, A. (1998). Distributed garbage collection of active objects: A transformation and its applications to Java programming. Master’s thesis, UIUC, Urbana Champaign, Illinois.

  48. Schelvis, M. (1989). Incremental distribution of timestamp packets—a new approach to distributed garbage collection. ACM SIGPLAN Notices, 24(10), 37–48.

    Article  Google Scholar 

  49. Kim, W. THAL: An actor system for efficient and scalable concurrent computing. PhD thesis, University of Illinois at Urbana-Champaign, May 1997.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wei-Jen Wang.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wang, WJ. Conservative snapshot-based actor garbage collection for distributed mobile actor systems. Telecommun Syst 52, 647–660 (2013). https://doi.org/10.1007/s11235-011-9509-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11235-011-9509-1

Keywords

Navigation