This Article 
 Bibliographic References 
 Add to: 
Concurrent and Distributed Garbage Collection of Active Objects
April 1995 (vol. 6 no. 4)
pp. 337-350

Abstract—This paper shows how to perform concurrent and distributed automatic garbage collection of objects possessing their own thread of control. The relevance of garbage collection and active objects to distributed applications is briefly discussed and the specific model of active objects used in the paper is explained. The collector is comprised of independent local collectors, one per node, and a distributed global collector. The mutator (application), the local collectors and the global collector run concurrently. An important part of this paper is the detailed presentation of the algorithms necessary to achieve correct concurrent operation among the collectors and between the collectors and the mutator. The collector builds on previous algorithms for taking snapshots in distributed systems and for detecting termination.

[1] G. Agha, ACTORS: A Model of Concurrent Computation in Distributed Systems, MIT Press, Cambridge, Mass., 1986.
[2] A. W. Appel and D. R. Hanson,“Copying garbage collection in the presence of ambigous references,”Princeton Univ., Dep. Comput. Sci., Tech. Rep. CS-TR-162-88, June 1988.
[3] A. Birrell, D. Evers, G. Nelson, S. Owicki, and E. Woober,“Distributed garbage collection for network objects,”Syst. Res. Center, Digital Equipment Corp., Tech. Rep. 116, Dec. 15, 1993.
[4] A. Black, N. Hutchinson, E. Jul, H. Levy, and L. Carter, "Distribution and Abstract Types in Emerald," IEEE Trans. Software Eng., vol. 13, no. 1, pp. 65-76, Jan. 1987.
[5] T. Bloom and S. Zdonick,“Issues in the design of an object-oriented database programming language,”inProc. OOPSLA'87,Oct. 1987, pp. 441–451.
[6] K.M. Chandy and L. Lamport, "Distributed Snapshots: Determining Global States of Distributed Systems," ACM Trans. Computer Systems, Feb. 1985.
[7] P. Dickman,Distributed Object Management in a Non-Small Graph of Autonomous Networks with Few Failures,Ph.D. dissertation, Cambridge Univ. Comput. Lab., 1992.
[8] E. Dijkstra and C.S. Scholten,“Termination detection for diffusing computatons,”Inform. Process. Lett.,vol. 11, no. 1, pp. 1–4, Aug. 1980.
[9] E. Dijkstra, W. H. J. Feijen, and A. J. M. van Gasteren,“Derivations of a termination detection algorithm for distributed computations,”Inform. Process. Lett.,vol. 16, no. 5, pp. 217–219, June 1983.
[10] R. H. Halstead, Jr.,“Multiple-processor implementations of message-passing systems,”M.I.T. Lab. Comput. Sci., Tech. Rep. 198, Apr. 1978.
[11] P. Hudak and R. Keller,“Garbage collection and task deletion in distributed applicative processing systems,”Symp. Lisp Functional Programm.,1982, pp. 168–178.
[12] P. Hudak,“Distributed task and memory management,”2nd Annu. ACM Symp. Princip. Distribut. Comput.,1983, pp. 277–289.
[13] E. Jul, H. Levy, N. Hutchinson, and A. Black, “Fine-Grained Mobility in the Emerald System,” ACM Trans. Computer Systems, vol. 6, no. 1, pp. 109–133, Feb. 1988.
[14] D. Kafura, D. Washabaugh, and J. Nelson,“Garbage collection of actors,”inProc. Joint OOPSLA/ECOOP'90 Conf.,Ottawa, Ont., Canada, Oct., 1990.
[15] D. G. Kafura and G. Lavender,“The application of concurrent object-oriented techniques to reactive systems,”presented atNATO Defense Research Group Workshop Object-Oriented Model. Distribut. Syst.,P. Q., Canada, May 12–15, 1992.
[16] D. Kafura, M. Mukherji, and G. Lavender ,“ACT++ 2.0: A class library for concurrent programming in C++ using actors,”J. Object-Orient. Programm.,vol. 6, no. 6, Oct. 1993.
[17] J. Nelson,“Automatic, Incremental, On-the-fly Garbage Collection of Actors,”M.S. thesis, Dep. Comput. Sci., Virginia Tech, Blacksburg, VA, Feb. 1989.
[18] I. Puaut,“Distributed garbage collection of active objects with no global synchronization,”inProc. Int. Workshop Memory Manage.,Sept. 17–19, 1992, pp. 148–164.
[19] M. Schelvis,“Incremental distribution of timestamp packests: A new approach to distributed garbage collection,”ACM SIGPLAN Notices, vol. 24, no. 10, Oct. 1989.
[20] M. Shapiro, P. Dickman, and D. Plainfosse,“Robust, distributed references and acyclic garbage collection,”inProc. 11th ACM Symp. Princip. Distribut. Comput.,1992, pp. 135–146.
[21] N. Venkatasubramanian, G. Agha, and C. Talcott,“Scalable distributed garbage collection for systems of active objects,”inProc. Int. Workshop Memory Manage.,Sept. 1992, pp. 134–147.
[22] D. Washabaugh,“Real-time garbage collection of actors in a distributed systems,”M.S. thesis, Dep. Comput. Sci., Virginia Tech., Blacksburg, VA, Feb. 1990.
[23] D. Washabaugh and D. Kafura,“Real-time garbage collection of actors,”inProc. 11th Real-Time Syst. Symp.,Lake Buena Vista, FL, Dec. 5–7, 1990, pp. 21–30.

Dennis Kafura, Manibrata Mukherji, Douglas M. Washabaugh, "Concurrent and Distributed Garbage Collection of Active Objects," IEEE Transactions on Parallel and Distributed Systems, vol. 6, no. 4, pp. 337-350, April 1995, doi:10.1109/71.372788
Usage of this product signifies your acceptance of the Terms of Use.