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.
Preview
Unable to display preview. Download preview PDF.
References
Aertes J.P.H., "Implementing SASL Without Garbage Collection", EUT-Report 81-WSK-05, Eindhoven University of Technology, 1981.
Bobrow D.G., "Managing Reentrant Structures Using Reference Counts", ACM Transactions on Programming Languages and Systems 2(3), 1980, pp 269–273.
Brownbridge D.R., "Cyclic Reference Counting for Combinator Machines", in [7], pp 273–288.
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.
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.
Friedman D.P., Wise D.S., "Reference Counting Can Manage the Circular Environments of Mutual Recursion", Information Processing Letters 8 1.
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.
Hankin C.L., Osmon,P.E., Shute M.J., "COBWEB: A Combinator Reduction Architecture", in [7], pp 99–112.
Hudak P., Goldberg G., "Experiments in Diffused Combinator Reduction", Proc. ACM Conference on Lisp and Functional Programming, Austin, 1984, pp 167–176.
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.
Hughes J., "The Design and Implementation of Programming Languages", Technical Monograph PRG-40, Oxford University Computing Laboratory Programming Research Group, 1984, pp 99–115.
Hughes J., "A Distributed Garbage Collection Algorithm", in [7], pp 256–272.
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.
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.
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.
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.
Steele G.L., "Multiprocessing Compactifying Garbage Collection", Comm. ACM 18(9), 1975, pp 495–508.
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.
Thomas R.E., "A Dataflow Architecture with Improved Asymptotic Performance", Report MIT/LCS/TR-265, Massachusetts Institute Of Technology, 1981.
Wise D.S., Friedman D.P., "The One-Bit Reference Count", BIT 17, 1977, pp 351–359.
Author information
Authors and Affiliations
Editor information
Rights 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