Skip to main content
Log in

A multicomputer garbage collector for a single-assignment language

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. J. Cohen, Garbage Collection of Linked Data Structures,Computing Surveys 13(3):341–367 (September 1981).

    Google Scholar 

  2. K. Ali and S. Haridi, Global Garbage Collection for Distributed Heap Storage Systems,Intl Journal of Parallel Programming 15(5):339–388 (October 1986).

    Google Scholar 

  3. S. Taylor,Parallel Logic Programming Techniques, Prentice-Hall, Englewood Cliffs, New Jersey (June 1989).

    Google Scholar 

  4. K. Weng, An Abstract Implementation for a Generalized Data Flow Language, MIT Laboratory for Computer Science TR-228 (February 1980).

  5. D. Bevan, Distributed Garbage Collection using Reference Counting,Proc. PARLE Conf. pp. 176–197 (June 1987).

  6. P. Watson and I. Watson, An Efficient Garbage Collection Algorithm for Parallel Computer Architectures,Proc. PARLE Conf. pp. 432–443 (June 1987).

  7. I. Foster and S. Taylor,Strand: New Concepts in Parallel Programming, Prentice-Hall, Englewood Cliffs, New Jersey (January 1990).

    Google Scholar 

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

  9. I. Foster and S. Taylor, Strand: a Practical Parallel Programming Tool,Proc. North American Conf. on Logic Programming, MIT Press (October 1989).

  10. F. Morris, A Time-and Space-Efficient Garbage Collection Algorithm,CACM 21(8):662–665 (1978).

    Google Scholar 

  11. J. Baker, List-Processing in Real Time on a Serial Computer,CACM 21(4):280–294 (1978).

    Google Scholar 

  12. J. Crammond, A Garbage Collector for Shared Memory Parallel Processors,Intl Journal of Parallel Programming 17(6):497–522 (December 1988).

    Google Scholar 

  13. P. Bishop,Computer Systems with a Very Large Address Space and Garbage Collection, PhD thesis, MIT/LCS/TR-176 (1977).

  14. I. Foster,Systems Programming in Parallel Logic Languages, Prentice-Hall, London (January 1990).

    Google Scholar 

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

  16. I. Foster, An Asynchronous Parallel Garbage Collector for a Single-Assignment Language, Technical Report, Department of Computing, Imperial College, London (May 1988).

    Google Scholar 

  17. T. Chikayam and Y. Kimura, Multiple Reference Management in Flat GHC,Logic Programming: Proc. 4th Intl Conf., MIT Press, pp. 276–283 (May 1987).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01407898

Key Words

Navigation