Incremental multi-threaded garbage collection on virtually shared memory architectures

  • Thierry Le Sergent
  • Bernard Berthomieu
Parallelism I
Part of the Lecture Notes in Computer Science book series (LNCS, volume 637)


This paper describes a multi-threaded and incremental garbage collector operating on shared memory architectures. The technique was developed for parallel implementations of the language LCS, a high level parallel programming language.

An incremental, page trap based, collection algorithm operates locally on each of the processors. Processors alternatively plays the role of mutator and collector. The processors cooperate for collection and mutation; idling processors perform part of the collection task for the others until they acquire some work. The progress of collectors versus allocations is controlled by a scan credit mechanism that guarantees a responsive execution of the application. There is no static partitioning of the storage among the processors; pages are dynamically allocated to any processor, for specific purposes.

Two implementations are discussed: the first is suitable for operation on a shared memory architecture; the second provides garbage collection services as added functionality to a distributed shared virtual memory service.


Virtual Machine Shared Memory Garbage Collection Address Space Incremental Version 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [App 88]
    A. W. Appel, Simple Generational Garbage Collection and Fast Allocation, Software Practice and Experience 19(2): 171–183, February 1988Google Scholar
  2. [Bak 78]
    H. G. Baker, Jr., List Processing in Real Time on a Serial Computer, Communications of the ACM, 21(4), April 1978Google Scholar
  3. [Ber 88]
    B. Berthomieu, LCS: une implantation de CCS, In A. Arnold, editor, Troisième colloque C-cube, Angoulème, France, Décembre 1988Google Scholar
  4. [BDS 91]
    H-J. Boehm, A. J. Demers, and S. Shenker, Mostly Parallel Garbage Collection, In ACM SIGPLAN'89 Conference on Programming Language Design and Implementation, June 1989.Google Scholar
  5. [BGG 91]
    B. Berthomieu, D. Giralt, and J.-P. Gouyon, LCS Users Manual, LAAS Report 91226, CNRS-LAAS, June 1991Google Scholar
  6. [CBZ 91]
    J. B. Carter, J. K. Bennet, and W. Zwaenepoel, Implementation and Performance of Munin, In Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles, October 1991.Google Scholar
  7. [Coh 81]
    J. Cohen, Garbage Collection of Linked Data Structures, Computing Surveys, 13(3), September 1981Google Scholar
  8. [ELA 88]
    J. R. Ellis, K. Li, and A. W. Appel, Real-time Concurrent Collection on Stock Multiprocessors, In SIGPLAN'88 Conference on Programming Language Design and Implementation, June 1988. Also Digital SRC Research Report number 25Google Scholar
  9. [Hal 84]
    R. H. Halstead Jr., Implementation of Multilisp: Lisp on a Multiprocessor, In 1984 ACM Symposium on LISP and Functional Programming, August 1984Google Scholar
  10. [KHM 89]
    D. A. Kranz, R. H. Halstead Jr., and E. Mohr, Mul-T: A High-Performance Parallel Lisp, In SIGPLAN'89 Conference on Programming Language Design and Implementation, June 1989Google Scholar
  11. [LB 91]
    T. Le Sergent, and B. Berthomieu, Un ramasse miettes distribué incrémental sur une mémoire virtuelle partagée distribuée, LAAS Report 91373, CNRS-LAAS, Novembre 1991.Google Scholar
  12. [LeS 92]
    T. Le Sergent, Méthodes d'exécution, et machines virtuelles parallèles, pour l'implantation distribuée du langage de programmation LCS, PhD. thesis, 1992 (forthcoming).Google Scholar
  13. [LH 89]
    K. Li, and P. Hudak, Memory Coherence in Shared Virtual Memory Systems, ACM Transactions on Computer Systems, 7(4):321–359, November 1989CrossRefGoogle Scholar
  14. [Mil 80]
    R. Milner, A Calculus of Communicating System, LNCS volume 64, Springer-Verlag, 1980Google Scholar
  15. [MTH 90]
    R. Milner, M. Tofte, and R. Harper, The Definition of Standard ML, The MIT Press, 1990Google Scholar
  16. [Rud 86]
    M. Rudalics, Distributed Copying Garbage Collection, In 1986 ACM Conference on LISP and Functional Programming, August 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Thierry Le Sergent
    • 1
  • Bernard Berthomieu
    • 1
  1. 1.Laboratoire d'Automatique et d'Analyse des Systèmes du CNRSToulouse CedexFrance

Personalised recommendations