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.
Keywords
- Garbage Collection
- Collection Rate
- Allocation Region
- Garbage Collector
- Live Data
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.
This is a preview of subscription content, access via your institution.
Preview
Unable to display preview. Download preview PDF.
References
Joe Armstrong and Robert Virding. One pass real-time generational mark-sweep garbage collection. Submitted to IWMM95.
Joe Armstrong, Robert Virding, and Mike Williams. Concurrent Programming in ERLANG. Prentice Hall, 1993.
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.
Mats Bengtsson. Real-Time compacting garbage collection algorithms. PhD thesis, Department of Computer Science, Lund University, 1990.
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.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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