Garbage Collection for Control Systems

This paper describes a scheme for garbage collection suitable for hard real-time applications. The approach supports both periodic high-priority processes and low-priority processes. Garbage collection work is done exclusively during execution of low-priority processes. A prototype garbage collector has been implemented for a C++ real-time kernel. The results confirms that high-priority processes can be guaranteed sub-millisecond response times and meet tight deadlines.

[1]  Karl Johan Åström,et al.  Computer-Controlled Systems: Theory and Design , 1984 .

[2]  D. H. Mellor,et al.  Real time , 1981 .

[3]  Paul R. Wilson,et al.  Uniprocessor Garbage Collection Techniques , 1992, IWMM.

[4]  J. Eliot B. Moss,et al.  Incremental Collection of Mature Objects , 1992, IWMM.

[5]  S. L. Graham,et al.  List Processing in Real Time on a Serial Computer , 1978 .

[6]  George E. Collins,et al.  A method for overlapping and erasure of lists , 1960, CACM.

[7]  Steffen Grarup,et al.  Incremental Mature Garbage Collection Using the Train Algorithm , 1995, ECOOP.

[8]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[9]  David M. Ungar,et al.  Generation Scavenging: A non-disruptive high performance storage reclamation algorithm , 1984, SDE 1.

[10]  LiebermanHenry,et al.  A real-time garbage collector based on the lifetimes of objects , 1983 .

[11]  Marvin Minsky,et al.  A LISP Garbage Collector Algorithm Using Serial Secondary Storage , 1963 .

[12]  Lars-Erik Thorelli A fast compactifying garbage collector , 1976 .

[13]  Henry G. Baker,et al.  The treadmill: real-time garbage collection without motion sickness , 1992, SIGP.

[14]  Wade Hennessey Real-Time Garbage Collection in a Multimedia Programming Language , 1993 .

[15]  Willis W. Myers How Real Is Real Time? , 1976, Other Conferences.

[16]  Philip Wadler,et al.  Analysis of an algorithm for real time garbage collection , 1976, CACM.

[17]  Robert Fenichel,et al.  A LISP garbage-collector for virtual-memory computer systems , 1969, CACM.

[18]  Frank Jackson,et al.  Tenuring policies for generation-based storage reclamation , 1988, OOPSLA '88.

[19]  Leif Andersson,et al.  A Real-Time Programming Environment and a Real-Time Kernel , 1991 .

[20]  Daniel G. Bobrow,et al.  An efficient, incremental, automatic garbage collector , 1976, CACM.

[21]  Henry Lieberman,et al.  A real-time garbage collector based on the lifetimes of objects , 1983, CACM.

[22]  Rodney A. Brooks,et al.  Trading data space for reduced time and code space in real-time garbage collection on stock hardware , 1984, LFP '84.

[23]  Leslie Lamport,et al.  On-the-fly garbage collection: an exercise in cooperation , 1975, CACM.

[24]  Mike Williams,et al.  Implementing a functional language for highly parallel real time applications , 1992 .