Skip to main content

A garbage collector for the concurrent real-time language Erlang

  • Conference paper
  • First Online:
Memory Management (IWMM 1995)

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

Included in the following conference series:

Abstract

Garbage collection is currently used in many different types of systems, both for high-level languages like ML and Prolog which traditionally have always had implicit memory management, and for languages like C++ which until recently have only had explicit memory management. However garbage collection is seldom used in real-time systems.

This paper describes the implementation of a real-time garbage collector for the programming language Erlang. Erlang is a language that has been designed to program large concurrent robust fault-tolerant real-time systems. We describe how the memory management system for Erlang is implemented and show how the needs of the Erlang language, and the systems in which it is being used, are handled by the collector.

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. Joe Armstrong and Robert Virding. One pass real-time generational mark-sweep garbage collection. Submitted to IWMM95.

    Google Scholar 

  2. Joe Armstrong, Robert Virding, and Mike Williams. Concurrent Programming in ERLANG. Prentice Hall, 1993.

    Google Scholar 

  3. Henry G. Baker, Jr. List processing in real time on a serial computer. Communications of the ACM, 21(4):280–294, April 1978. Originally appeared as MIT Artificial Intelligence Laboratory Working Paper No. 39, February 1977.

    Google Scholar 

  4. Mats Bengtsson. Real-Time compacting garbage collection algorithms. PhD thesis, Department of Computer Science, Lund University, 1990.

    Google Scholar 

  5. Rodney A. Brooks. Trading data space for reduced time and code space in real-time collection on stock hardware. In Conference Record of the 1984 ACM Symposium on LISP and Functional Programming, pages 108–113, Austin, Texas, August 1984. ACM Press.

    Google Scholar 

  6. E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-the-fly garbage collection: An exercise in cooperation. Communications of the ACM, 21(11):966–975, November 1978. Also E. W. Dijkstra Note EWD496, June 1975.

    Google Scholar 

  7. Henry Lieberman and Carl Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419–429, June 1983.

    Google Scholar 

  8. Paul R. Wilson. Uniprocessor garbage collection techniques. In Yves Bekkers and Jacques Cohen, editors, International Workshop on Memory Management, number 637 in Lecture Notes in Computer Science, pages 1–42, St. Malo, France, September 1992. Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Henry G. Baler

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag

About this paper

Cite this paper

Virding, R. (1995). A garbage collector for the concurrent real-time language Erlang. In: Baler, H.G. (eds) Memory Management. IWMM 1995. Lecture Notes in Computer Science, vol 986. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60368-9_33

Download citation

  • DOI: https://doi.org/10.1007/3-540-60368-9_33

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60368-9

  • Online ISBN: 978-3-540-45511-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics