Abstract
We present a distributed cyclic reference counting algorithm which incorporates both, the correct management of cyclic data structures and the improvement of lazy mark-scan. The algorithm allows processors to run local mark-scan simultaneously without any need of synchronisation between phases of different local mark-scans either on the same processor or on different processors.
This work was done while the first author was visiting the Universidade Federal de Pernambuco, Brasil.
Research partially supported by the Natural Sciences and Engineering Research Council of Canada.
Research partially supported by CNPq research grant no. 40.9110/88.4.
Preview
Unable to display preview. Download preview PDF.
References
K.A.M.Ali. Object-oriented storage management and garbage collection in distributed processing systems. PhD thesis, Royal Institute of Technology, Stockholm, December 1984.
M.Ben-Ari. Algorithms for on-the-fly garbage collection. ACM Transactions on Programming Languages and Systems, 6(3):333–344, July 1984.
D.I.Bevan. Distributed garbage collection using reference counting. In PARLE Parallel Architectures and Languages Europe, pages 176–187. Springer Verlag, LNCS 259, June 1987.
D.G. Bobrow. Managing reentrant structures using reference counts. ACM Transactions on Programming Languages and Systems, 2(3): 269–273, March 1980.
J.Cohen. Garbage collection of linked data structures. ACM Computing Surveys, 13(3):341–367, September 1981.
G.E. Collins, A method for overlapping and erasure of lists Communications of the ACM, 3(12):655–657, 1960.
E.W.Dijkstra, L.Lamport, A.J.Martin, C.S.Scholten & E.M.F. Steffens. On-the-fly garbage collection: an exercise in cooperation. Communications of ACM, 21(11):966–975, November 1978.
D.P.Friedman and D.S.Wise. Reference counting can manage the circular environment of mutual recursion. Information Processing Letters, 8(1):921–930, January 1979.
B.Goldberg. Generational reference counting: A reduced-communication distributed storage reclamation scheme. In Proceedings of SIGPLAN'89 Conference on Programming Languages Design and Implementation, pages 313–321. ACM Press, June 1989.
D.Gries. An exercise in proving parallel programs correct. Communications of ACM, 20(12):921–930, December 1977.
P.Hudak and R.M.Keller. Garbage collection and task deletion in distributed applicative processing systems. In Proceedings of 1986 ACM Conference on Lisp and Functional Programming, pages 168–178, Pittsburg, August 1982.
R.J.M.Hughes. A distributed garbage collection algorithm. In J. P. Jouannaud (Ed.), Functional Programming Languages and Computer Architecture, Springer-Verlag, LNCS 201, pages 256–272, 1985.
R.J.M.Hughes. Managing reduction graphs with reference counts. Departmental Research Report CSC/87/R2, University of Glasgow, March 1987.
R. Jones and R.D.Lins Cyclic weighted reference counting without delay In In PARLE'93 Parallel Architectures and Languages Europe, Springer Verlag, LNCS 694, Arndt Bode and Mike Reeve and Gottfried Wolf Editors, pp 512–515, June 1993.
H.T.Kung and S.W.Song. An efficient parallel garbage collection system and its correctness proof. In Proc. IEEE Symposium on Foundations of Computer Science, pages 120–131, 1977.
C-W.Lermen and D.Maurer. A protocol for distributed reference counting. In Proceedings of 1986 ACM Conference on Lisp and Functional Programming, pages 343–350, Cambridge, Massachusetts, August 1986.
R.D.Lins. Cyclic reference counting with lazy mark-scan. Information Processin Letters 44:215–220. 1992.
R.D.Lins and R. Jones Cyclic weighted reference counting In K.Boyanov (Ed.), Parallel and Distributed Processing'93 (WP&DP'93), Bulgarian Academy of Sciences, Sofia, 1993, pages 369–382, to be published by North Holland.
A.D.Martinez, R.Wachenchauzer and R.D.Lins. Cyclic reference counting with local mark-scan. Information Processing Letters, 34:31–35, 1990.
D.Plainfossé and M. Shapiro. Experience with a fault-tolerant garbage collector in a distributed Lisp system. in Y. Bekkers and J.Cohen (Eds.) Proceedings of Memory Management — International Workshop, St. Malo, France, 1992, volume LNCS 637, pages 116–133. Springcr-Verlag, 1992.
M.Shapiro, O.Gruber and D.Plainfossé. A garbage detection protocol for a realistic distributed object-support system. Technical Report 1320, Rapports de Recherche, INRIA-Rocqencourt, November 1990.
G.L.Steele. Multiprocessing compactifying garbage collection. Communications of A CM, 18(09):495–508, September 1975.
D.A. Turner. Miranda: a non-strict functional language with polymorphic types. In J. P. Jouannaud (Ed.), Functional Programming Languages and Computer Architecture, Springer-Verlag, LNCS 201, pages 1–16, 1985.
P.Watson and I.Watson. An efficient garbage collection scheme for parallel computer architectures. In In PARLE'87 Parallel Architectures and Languages Europe, Springer Verlag, LNCS 259, pages 432–443, June 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dehne, F., Lins, R.D. (1994). Distributed cyclic reference counting. In: Cosnard, M., Ferreira, A., Peters, J. (eds) Parallel and Distributed Computing Theory and Practice. CFCP 1994. Lecture Notes in Computer Science, vol 805. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58078-6_9
Download citation
DOI: https://doi.org/10.1007/3-540-58078-6_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58078-2
Online ISBN: 978-3-540-48435-6
eBook Packages: Springer Book Archive