A concurrent generational garbage collector for a parallel graph reducer

  • Niklas Röjemo
Parallelism II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 637)


This paper describes a garbage collector for an implementation of a lazy functional language using parallel graph reduction. The garbage collector is an extension to the Appel-Ellis-Li garbage collector. The extension consists of two parts:

Firstly, generations has been added: this often decreases the garbage collection time with nearly 20%. This shows that generational garbage collection is useful even for a lazy functional language implemented with graph reduction (which performs a lot of updates).

Secondly, the Appel-Ellis-Li garbage collector has been changed so that it cart collect garbage processes (which is essential if we do speculative evaluation).


garbage collection graph reduction concurrent generations 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AEL88]
    Andrew W. Appel John R. Ellis Kai Li Real-time Concurrent Collection on Stock Multiprocessors. Proceedings of SIGPLAN 88Google Scholar
  2. [App89]
    Andrew W. Appel Simple Generational Garbage Collection and Fast Allocation Software — Practice and experience, volume 19, February 171–183Google Scholar
  3. [AJ89]
    Lennart Augustsson and Thomas Johnsson Parallel Graph Reduction with the <v,G>-Machine. Proceedings of the 1989 Conference on Functional Languages and Computer Architecture, 202–213, 1989Google Scholar
  4. [Aug90]
    Lennart Augustsson Garbage Collection in the <v,G>-machine or So much garbage, so little time. PMG memo 73Google Scholar
  5. [Hud82]
    Paul Hudak and Robert M. Keller Garbage collection and task deletion in distributed applicative processing system. ACM Symposium on LISP and Functional Programming, 167–178, 1982Google Scholar
  6. [Hud83]
    Paul Hudak Distributed graph marking. Research report 268, Yale University, January 1983Google Scholar
  7. [Lib83]
    Henry Liberman and Carl Hewit A real-time garbage collector based on the lifetime of objects. Communications of the ACM, 23(6):419–429, 1983CrossRefGoogle Scholar
  8. [Moo84]
    David A. Moon Garbage collection in large LISP system. ACM Symposium on LISP and Functional Programming, 235–246, 1984Google Scholar
  9. [PJ87]
    Simon L. Peyton Jones The Implementation of Functional Programming Languages Prentice-Hall 1987Google Scholar
  10. [Ung86]
    David Ungar The Design and Evaluation of a High Performance Smalltalk System. MIT Press 1986Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Niklas Röjemo
    • 1
  1. 1.Department of Computer ScienceChalmers University of TechnologyGöteborgSweden

Personalised recommendations