Skip to main content

Distributed cyclic reference counting

  • Conference paper
  • First Online:
Parallel and Distributed Computing Theory and Practice (CFCP 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 805))

Included in the following conference series:

  • 154 Accesses

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K.A.M.Ali. Object-oriented storage management and garbage collection in distributed processing systems. PhD thesis, Royal Institute of Technology, Stockholm, December 1984.

    Google Scholar 

  2. M.Ben-Ari. Algorithms for on-the-fly garbage collection. ACM Transactions on Programming Languages and Systems, 6(3):333–344, July 1984.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. D.G. Bobrow. Managing reentrant structures using reference counts. ACM Transactions on Programming Languages and Systems, 2(3): 269–273, March 1980.

    Google Scholar 

  5. J.Cohen. Garbage collection of linked data structures. ACM Computing Surveys, 13(3):341–367, September 1981.

    Google Scholar 

  6. G.E. Collins, A method for overlapping and erasure of lists Communications of the ACM, 3(12):655–657, 1960.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. D.Gries. An exercise in proving parallel programs correct. Communications of ACM, 20(12):921–930, December 1977.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. R.J.M.Hughes. Managing reduction graphs with reference counts. Departmental Research Report CSC/87/R2, University of Glasgow, March 1987.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. R.D.Lins. Cyclic reference counting with lazy mark-scan. Information Processin Letters 44:215–220. 1992.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. A.D.Martinez, R.Wachenchauzer and R.D.Lins. Cyclic reference counting with local mark-scan. Information Processing Letters, 34:31–35, 1990.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. G.L.Steele. Multiprocessing compactifying garbage collection. Communications of A CM, 18(09):495–508, September 1975.

    Google Scholar 

  23. 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.

    Google Scholar 

  24. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Michel Cosnard Afonso Ferreira Joseph Peters

Rights and permissions

Reprints 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

Publish with us

Policies and ethics