Abstract
An asynchronous garbage collector for a message-passing multiprocessor (multicomputer) is described. This combines Weighted Reference Counting (WRC) interprocessor collection and tracing intraprocessor collection to permit individual processors to reclaim local storage independently. A novel feature is the integration of Weighted Reference Counting collection and the communication algorithms required to support a global address space in a single assignment language. This significantly reduces communication overhead and space requirements attributable to garbage collection. In addition, techniques are described that avoid the creation of cyclic structures that cannot be reclaimed using WRC. Experimental studies performed in a concurrent logic programming system that incorporates the collector confirm its efficiency and the benefits of integrating garbage collector and language implementation.
Similar content being viewed by others
References
J. Cohen, Garbage Collection of Linked Data Structures,Computing Surveys 13(3):341–367 (September 1981).
K. Ali and S. Haridi, Global Garbage Collection for Distributed Heap Storage Systems,Intl Journal of Parallel Programming 15(5):339–388 (October 1986).
S. Taylor,Parallel Logic Programming Techniques, Prentice-Hall, Englewood Cliffs, New Jersey (June 1989).
K. Weng, An Abstract Implementation for a Generalized Data Flow Language, MIT Laboratory for Computer Science TR-228 (February 1980).
D. Bevan, Distributed Garbage Collection using Reference Counting,Proc. PARLE Conf. pp. 176–197 (June 1987).
P. Watson and I. Watson, An Efficient Garbage Collection Algorithm for Parallel Computer Architectures,Proc. PARLE Conf. pp. 432–443 (June 1987).
I. Foster and S. Taylor,Strand: New Concepts in Parallel Programming, Prentice-Hall, Englewood Cliffs, New Jersey (January 1990).
K. Clark and S. Gregory, A Relational Language for Parallel Programming,Proc. 1981 ACM Conf. on Functional Programming Languages and Computer Architectures, ACM, pp. 171–178 (1981).
I. Foster and S. Taylor, Strand: a Practical Parallel Programming Tool,Proc. North American Conf. on Logic Programming, MIT Press (October 1989).
F. Morris, A Time-and Space-Efficient Garbage Collection Algorithm,CACM 21(8):662–665 (1978).
J. Baker, List-Processing in Real Time on a Serial Computer,CACM 21(4):280–294 (1978).
J. Crammond, A Garbage Collector for Shared Memory Parallel Processors,Intl Journal of Parallel Programming 17(6):497–522 (December 1988).
P. Bishop,Computer Systems with a Very Large Address Space and Garbage Collection, PhD thesis, MIT/LCS/TR-176 (1977).
I. Foster,Systems Programming in Parallel Logic Languages, Prentice-Hall, London (January 1990).
N. Ichiyoshi, K. Rokusawa, K. Nakajima, and Y. Inamura, A New External Reference Management and Distributed Unification for KL1,Proc. 5th Gen. Comp. Systems Conf., Tokyo, pp. 904–913 (December 1988).
I. Foster, An Asynchronous Parallel Garbage Collector for a Single-Assignment Language, Technical Report, Department of Computing, Imperial College, London (May 1988).
T. Chikayam and Y. Kimura, Multiple Reference Management in Flat GHC,Logic Programming: Proc. 4th Intl Conf., MIT Press, pp. 276–283 (May 1987).
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Foster, I. A multicomputer garbage collector for a single-assignment language. Int J Parallel Prog 18, 181–203 (1989). https://doi.org/10.1007/BF01407898
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01407898