Abstract
Large-scale distributed computing applications require concurrent programming models that support modular and compositional software development. The actor model supports the development of independent software components with its asynchronous message-passing communication and state encapsulation properties. Automatic actor garbage collection is necessary for high-level actor-oriented programming, but identifying live actors is not as intuitive and easy as identifying live passive objects in a reference graph. However, a transformation method can turn an actor reference graph into a passive object reference graph, which enables the use of passive object garbage collection algorithms and simplifies the problem of actor garbage collection. In this paper, we formally define potential communication by introducing two binary relations - the may-talk-to and the may-transitively-talk-to relations, which are then used to define the set of live actors. We also devise two vertex-preserving transformation methods to transform an actor reference graph into a passive object reference graph. We provide correctness proofs for the proposed algorithms. The experimental results also show that the proposed algorithms are efficient.
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
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
Hewitt, C.: Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence 8(3), 323–364 (1977)
Varela, C.A., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. In: ACM SIGPLAN Notices. OOPSLA 2001 ACM Conference on Object-Oriented Systems, Languages and Applications, December 2001, vol. 36(12), pp. 20–34 (2001)
Karmani, R.K., Shali, A., Agha, G.: Actor frameworks for the jvm platform: a comparative analysis. In: PPPJ 2009: Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, pp. 11–20. ACM, New York (2009)
Moors, A., Piessens, F., Odersky, M.: Generics of a higher kind. In: OOPSLA 2008, pp. 423–438. ACM, New York (2008)
ERights.org: The E Programming Language (2009), http://ERights.org/
Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)
Kafura, D., Washabaugh, D., Nelson, J.: Garbage collection of actors. In: OOPSLA 1990 ACM Conference on Object-Oriented Systems, Languages and Applications, October 1990, pp. 126–134. ACM Press, New York (1990)
Vardhan, A., Agha, G.: Using passive object garbage collection algorithms for garbage collection of active objects. In: ISMM 2002. ACM SIGPLAN Notices, Berlin, June 2002, pp. 106–113. ACM Press, New York (2002)
Wang, W., Varela, C.A.: Distributed garbage collection for mobile actor systems: The pseudo root approach. In: Chung, Y.-C., Moreira, J.E. (eds.) GPC 2006. LNCS, vol. 3947, pp. 360–372. Springer, Heidelberg (2006)
Jones, R.E.: Garbage Collection: Algorithms for Automatic Dynamic Memory Management. In: Lins, R. (ed.) Distributed Garbage Collection, July 1996. Wiley, Chichester (1996)
Abdullahi, S.E., Ringwood, A.: Garbage collecting the internet: A survey of distributed garbage collection. ACM Computing Surveys 30(3), 330–373 (1998)
Halstead, R.H.: Reference Tree Networks: Virtual Machine and Implementation. PhD thesis, MIT Laboratory for Computer Science, Technical report MIT/LCS/TR–222 (July 1979)
Baker, H.G.: List processing in real-time on a serial computer. Communications of the ACM 21(4), 280–294 (1978)
Lieberman, H., Hewitt, C.: A real-time garbage collector based on the lifetimes of objects. Commun. ACM 26(6), 419–429 (1983)
Washabaugh, D.: Real-time garbage collection of actors in a distributed system. Master’s thesis, Virginia Tech, Blacksburg, VA (February 1990)
Nelson, J.: Automatic, incremental, on-the-fly garbage collection of actors. Master’s thesis, Virginia Tech, Blacksburg, VA (February 1989)
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. 141–158. Springer, Heidelberg (1996)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: 21. In: Introduction to Algorithms, 2nd edn., pp. 498–522. MIT Press/McGraw-Hill (2001)
Worldwide Computing Laboratory: The SALSA Programming Language (2009), http://wcl.cs.rpi.edu/salsa/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, WJ., Varela, C., Hsu, FH., Tang, CH. (2010). Actor Garbage Collection Using Vertex-Preserving Actor-to-Object Graph Transformations. In: Bellavista, P., Chang, RS., Chao, HC., Lin, SF., Sloot, P.M.A. (eds) Advances in Grid and Pervasive Computing. GPC 2010. Lecture Notes in Computer Science, vol 6104. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13067-0_28
Download citation
DOI: https://doi.org/10.1007/978-3-642-13067-0_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13066-3
Online ISBN: 978-3-642-13067-0
eBook Packages: Computer ScienceComputer Science (R0)