Skip to main content
Log in

A garbage collection algorithm for shared memory parallel processors

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

Abstract

This paper describes a technique for adapting the Morris sliding garbage collection algorithm to execute on parallel machines with shared memory. The algorithm is described within the framework of an implementation of the parallel logic language Parlog. However, the algorithm is a general one and can easily be adapted to parallel Prolog systems and to other languages. The performance of the algorithm executing a few simple Parlog benchmarks is analyzed. Finally, it is shown how the technique for parallelizing the sequential algorithm can be adapted for a semi-space copying algorithm.

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.

Institutional subscriptions

Similar content being viewed by others

References

  1. F. L. Morris, A Time- and Space-Efficient Garbage Compaction Algorithm,Communications of the ACM 21(8):662–665 (August 1978).

    Google Scholar 

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

    Google Scholar 

  3. K. Appleby, M. Carlsson, S. Haridi, and D. Sahlin, Garbage Collection for Prolog Based on WAM,Communications of the ACM 31(6):719–741 (June 1988).

    Google Scholar 

  4. H. G. Baker, List Processing in Real Time on a Serial Computer,Communications of the ACM 21(4):280–294 (April 1978).

    Google Scholar 

  5. A. Houri and E. Shapiro, A Sequential Abstract Machine for Flat Concurrent Prolog, Technical Report CS86–20, Department of Applied Mathematics, Weizmann Institute of Science (July 1986).

  6. J. Hughes, A Distributed Garbage Collection Algorithm, inFunctional Programming Languages and Computer Architecture, Springer-Verlag, Nancy, France, pp. 256–272 (September 1985).

    Google Scholar 

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

    Google Scholar 

  8. J. A. Crammond, Implementation of Committed Choice Logic Languages on Shared Memory Multiprocessors, Research Report PAR 88/4, Department of Computing, Imperial College, London (May 1988). Ph.D. Thesis, Heriot-Watt University, Edinburgh.

    Google Scholar 

  9. E. Tick, A Performance Comparison of AND-and OR-Parallel Logic Programming Architectures, inProc. of the Sixth International Conference on Logic Programming, Lisbon, Portugal (June 1989).

  10. A. Okumura and Y. Matsumoto, Parallel Programming with Layered. Streams, inSymposium on Logic Programming, IEEE Computer Society Press, San Francisco, California, pp. 224–232 (September 1987).

    Google Scholar 

  11. R. H. Halstead, Implementation of Multilisp: Lisp on a Multiprocessor, inACM symposium on LISP and Functional Programming, ACM, Austin, Texas, pp. 9–17 (1984).

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Crammond, J. A garbage collection algorithm for shared memory parallel processors. Int J Parallel Prog 17, 497–522 (1988). https://doi.org/10.1007/BF01407816

Download citation

  • Received:

  • Revised:

  • Issue Date:

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

Key Words

Navigation