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.
Similar content being viewed by others
References
F. L. Morris, A Time- and Space-Efficient Garbage Compaction Algorithm,Communications of the ACM 21(8):662–665 (August 1978).
J. Cohen, Garbage Collection of Linked Data Structures,Computing Surveys 13(3):341–367 (September 1981).
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).
H. G. Baker, List Processing in Real Time on a Serial Computer,Communications of the ACM 21(4):280–294 (April 1978).
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).
J. Hughes, A Distributed Garbage Collection Algorithm, inFunctional Programming Languages and Computer Architecture, Springer-Verlag, Nancy, France, pp. 256–272 (September 1985).
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).
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.
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).
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).
R. H. Halstead, Implementation of Multilisp: Lisp on a Multiprocessor, inACM symposium on LISP and Functional Programming, ACM, Austin, Texas, pp. 9–17 (1984).
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01407816