Skip to main content

Incremental multi-threaded garbage collection on virtually shared memory architectures

  • Parallelism I
  • Conference paper
  • First Online:
Memory Management (IWMM 1992)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 637))

Included in the following conference series:

Abstract

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. W. Appel, Simple Generational Garbage Collection and Fast Allocation, Software Practice and Experience 19(2): 171–183, February 1988

    Google Scholar 

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

    Google Scholar 

  3. B. Berthomieu, LCS: une implantation de CCS, In A. Arnold, editor, Troisième colloque C-cube, Angoulème, France, Décembre 1988

    Google Scholar 

  4. 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. B. Berthomieu, D. Giralt, and J.-P. Gouyon, LCS Users Manual, LAAS Report 91226, CNRS-LAAS, June 1991

    Google Scholar 

  6. 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. J. Cohen, Garbage Collection of Linked Data Structures, Computing Surveys, 13(3), September 1981

    Google Scholar 

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

    Google Scholar 

  9. R. H. Halstead Jr., Implementation of Multilisp: Lisp on a Multiprocessor, In 1984 ACM Symposium on LISP and Functional Programming, August 1984

    Google Scholar 

  10. 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 1989

    Google Scholar 

  11. 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. 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. K. Li, and P. Hudak, Memory Coherence in Shared Virtual Memory Systems, ACM Transactions on Computer Systems, 7(4):321–359, November 1989

    Article  Google Scholar 

  14. R. Milner, A Calculus of Communicating System, LNCS volume 64, Springer-Verlag, 1980

    Google Scholar 

  15. R. Milner, M. Tofte, and R. Harper, The Definition of Standard ML, The MIT Press, 1990

    Google Scholar 

  16. M. Rudalics, Distributed Copying Garbage Collection, In 1986 ACM Conference on LISP and Functional Programming, August 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yves Bekkers Jacques Cohen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sergent, T.L., Berthomieu, B. (1992). Incremental multi-threaded garbage collection on virtually shared memory architectures. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017190

Download citation

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

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55940-5

  • Online ISBN: 978-3-540-47315-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics