This Article 
 Bibliographic References 
 Add to: 
A Parallel Asynchronous Garbage Collection Algorithm for Distributed Systems
March 1991 (vol. 3 no. 1)
pp. 100-107

The problem of distributed garbage collection is discussed. An algorithm for parallel distributed asynchronous garbage collection is presented. The liveness and safety properties of this method are demonstrated. The algorithm does not require a global clock, complex termination detection methods, or distributed synchronization techniques. A new color code is introduced to distinguish between local cells (black) and those that are exclusively accessible from the remote pointers (gray). The mutator operation is revised to handle a multiple mutator scheme on a given local memory. Simulation results show that the developed distributed and parallel algorithm performs much better than the sequential method as tested on a Balance 8000 computer.

[1] R. Halstead, "Multilisp: A Language for Concurrent Symbolic Computation,"ACM Trans. Programming Languages and Systems, Vol. 7, No. 4, Oct. 1985, pp. 501-538.
[2] J. Darlington and M. Reeve, "Alice--A Multiprocessor Reduction Machine for the Parallel Evaluation of Applicative Languages,"Proc. 1981 ACM Conf. Functional Programming Languages and Computer Architecture, 1981, pp. 65-75.
[3] A. Guzman, E. Krall, P. McGehearty, and N. Bagherzadeh, "Performance of symbolic applications on a parallel architecture,"Int. J. Parallel Programming, vol. 16, no. 3, pp. 183-214, 1987.
[4] N. Bagherzadeh and C. Wu, "Distributed synchronous garbage collection using broadcasting," inProc. 20th Hawaii Int. Conf. Syst. Sci., Jan. 1987, pp. 362-369.
[5] J. Cohen, "Garbage collection of linked data structure,"ACM Comput. Survey, vol. 13, no. 3, pp. 341-367, Sept. 1981.
[6] K.A.M. Ali, "Object-oriented storage management and garbage collection in distributed processing systems," Ph.D. dissertation, Royal Institute of Technology, Stockholm, Dec. 1984.
[7] P.B. Bishop, "Computer systems with a very large address space and garbage collection," Ph.D. dissertation TR-178, Massachusetts Institute of Technology, May 1977.
[8] T. Hickey and J. Cohen, "Performance analysis of on-the-fly garbage collection,"Commun. ACM, vol. 27, no. 11, pp. 1143-1154, Nov. 1984.
[9] M. Ben-Ari, "Algorithm for on-the-fly garbage collection,"ACM Trans. Programming Languages Syst., vol. 6, no. 3, pp. 333-344, July 1984.
[10] E.W. Dijkstra, L. Lamport, A.J. Martin, C.S. Scholten, and E.F.M. Steffens, "On-the-fly garbage collection: An exercise in cooperation,"Commun. ACM, vol. 21, no. 11, pp. 966-975, Nov. 1978.
[11] H.T. Kung and W. Song, "An efficient parallel garbage collection system and its correctness proof," Tech. Rep., Dep. Comput. Sci., CMU, Sept. 1977.
[12] F.J. Pollack, G.W. Cox, D.W. Hammerstein, K.C. Kahn, K.K. Lai, and J. R. Rattner, "Supporting Ada memory management in the iAPX-432," inProc. Symp. Architectural Support for Programming Languages Oper. Syst., ACM SIGPLAN Notes, vol. 17, no. 4, pp. 117-131, 1982.
[13] B. Liskov and R. Ladin, "Highly available services in distributed systems," inProc. Fifth ACM Symp. Principles Distributed Comput., Aug. 1986, pp. 29-39.
[14] K. Kim and J. Yoon, "Approaches to implementation of a reparable distributed recovery block scheme," inDig. Papers, FTCS-18, 1988, pp. 50-55.
[15] H. Richards, "Management of graph storage in a cellular SK machine," Tech. Rep., Burroughs-Austin Research Center, Nov. 1984.
[16] J.L.A. van de Snepscheut, "Algorithm for on-the-fly garbage collection revisited,"Inform. Processing Lett., vol. 24, pp. 211-216, 1987.
[17] H. Schwetman, "PPL reference manual," Microelectronics and Computer Technology Corp., Dec. 1986.
[18] C. Wu, S.C. Lee, and H. Schwetman, "Hypercube parallel programming language," inProc. Third Conf. Hypercube Concurrent Comput. Appl., Jan. 1988.
[19] N. Bagherzadeh, "Distributed resource management: Garbage collection," Ph.D. dissertation, Univ. of Texas at Austin, Aug. 1987.
[20] D. Gries,The Science of Programming. New York: Springer-Verlag, 1981.
[21] S. Owicki and D. Gries, "An axiomatic proof technique for parallel programs--Part I,"Acta Informatica, vol. 6, pp. 319-340, 1976.
[22] H. Fujiwara, "Computational complexity of controllability/observability problems for combinational circuits," inProc. of Fault-Tolerant Computing Symp. (FTCS), 1988, pp. 64-69.
[23] G.C. Steele, "Multiprocessing compactifying garbage collector,"Commun. ACM, vol. 18, no. 9, pp. 495-508, Sept. 1975.

Index Terms:
simulation; parallel asynchronous garbage collection algorithm; distributed systems; liveness; safety properties; color code; mutator operation; Balance 8000 computer; distributed processing; parallel algorithms; storage management
N. Bagherzadeh, S.-l. Heng, C.-l. Wu, "A Parallel Asynchronous Garbage Collection Algorithm for Distributed Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 3, no. 1, pp. 100-107, March 1991, doi:10.1109/69.75893
Usage of this product signifies your acceptance of the Terms of Use.