Skip to main content

Distributed garbage collection using reference counting

  • Conference paper
  • First Online:
PARLE Parallel Architectures and Languages Europe (PARLE 1987)

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

Abstract

We describe here an elegant algorithm for the real-time garbage collection of distributed memory. This algorithm makes use of reference counting and is simpler than distributed mark-scan algorithms. It is also truly real-time unlike distributed mark-scan algorithms. It requires no synchronisation between messages and only sends a message between nodes when a reference is deleted. It is also relatively space efficient using at most five bits per reference.

Research partially funded by ESPRIT project 415: Parallel Architectures and Languages for AIP — A VLSI Directed Approach.

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. Aertes J.P.H., "Implementing SASL Without Garbage Collection", EUT-Report 81-WSK-05, Eindhoven University of Technology, 1981.

    Google Scholar 

  2. Bobrow D.G., "Managing Reentrant Structures Using Reference Counts", ACM Transactions on Programming Languages and Systems 2(3), 1980, pp 269–273.

    Article  Google Scholar 

  3. Brownbridge D.R., "Cyclic Reference Counting for Combinator Machines", in [7], pp 273–288.

    Google Scholar 

  4. Darlington J., Reeve M., "ALICE — A Multiprocessor Reduction Machine for the Parallel Evaluation of Applicative Languages", Proc. ACM Conference on Functional Programming Languages and Computer Architecture, New Hampshire 1981.

    Google Scholar 

  5. Dijkstra E.W., Lamport L., Martin A.J., Scholten C.S., Steffens E.F.M., "On-the-Fly Garbage Collection: An Exercise in Cooperation", Comm. ACM 21(11), 1978, pp 966–975.

    Article  Google Scholar 

  6. Friedman D.P., Wise D.S., "Reference Counting Can Manage the Circular Environments of Mutual Recursion", Information Processing Letters 8 1.

    Google Scholar 

  7. Goos G., Hartmanis J., "Functional Programming Languages and Computer Architecture", Proc. ACM Conference on Functional Programming Languages and Computer Architecture, Nancy, 1985, Springer-Verlag Lecture Notes in Computer Science 201.

    Google Scholar 

  8. Hankin C.L., Osmon,P.E., Shute M.J., "COBWEB: A Combinator Reduction Architecture", in [7], pp 99–112.

    Google Scholar 

  9. Hudak P., Goldberg G., "Experiments in Diffused Combinator Reduction", Proc. ACM Conference on Lisp and Functional Programming, Austin, 1984, pp 167–176.

    Google Scholar 

  10. Hudak P., Keller R.M., "Garbage Collection and Task Deletion in Distributed Applicative Processing Systems", Proc. ACM Conference on Lisp and Functional Programming, 1982, pp 168–178.

    Google Scholar 

  11. Hughes J., "The Design and Implementation of Programming Languages", Technical Monograph PRG-40, Oxford University Computing Laboratory Programming Research Group, 1984, pp 99–115.

    Google Scholar 

  12. Hughes J., "A Distributed Garbage Collection Algorithm", in [7], pp 256–272.

    Google Scholar 

  13. Kung H., Song S., "An Efficient Parallel Garbage Collection System and its Correctness Proof", Technical Note, Department of Computer Science, Carnegie-Mellon University, Pittsburgh, 1977.

    Google Scholar 

  14. Lermen C-W., Maurer D., "A Protocol For Distributed Reference Counting", Proc. ACM Conference on Lisp and Functional Programming, Cambridge, Mass., 1986, pp 343–350.

    Google Scholar 

  15. Lermen C-W., Maurer D., "A Protocol For Distributed Reference Counting and its Correctness Proof", to appear as report SFB 124, Universität des Saarlandes, West Germany, 1986.

    Google Scholar 

  16. Mohamed-Ali K.A., "Object-Oriented Storage Management and Garbage Collection in Distributed Processing Systems", PhD Thesis, Report TRITA-CS-8406, Royal Institute of Technology, Stockholm, 1984.

    Google Scholar 

  17. Steele G.L., "Multiprocessing Compactifying Garbage Collection", Comm. ACM 18(9), 1975, pp 495–508.

    Article  Google Scholar 

  18. Stoye W.R., Clarke T.J.W., Norman A.C., "Some Practical Methods for Rapid Combinator Reduction", Proc. ACM Conference on Lisp and Functional Programming, Austin, 1984, pp 159–166.

    Google Scholar 

  19. Thomas R.E., "A Dataflow Architecture with Improved Asymptotic Performance", Report MIT/LCS/TR-265, Massachusetts Institute Of Technology, 1981.

    Google Scholar 

  20. Wise D.S., Friedman D.P., "The One-Bit Reference Count", BIT 17, 1977, pp 351–359.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bevan, D. (1987). Distributed garbage collection using reference counting. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 259. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17945-3_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-17945-3_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17945-0

  • Online ISBN: 978-3-540-47181-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics