Incremental garbage collection of concurrent objects for real-time applications

The authors show how to perform real-time automatic garbage collection of objects possessing their own thread of control. Beyond its interest as a novel real-time problem, the relevance of automatic management and concurrent objects to real-time applications is briefly discussed. The specific model of concurrent objects used in the paper is explained. A definition of real-time garbage collection is given and an algorithm satisfying this definition is described. An analysis of the relationship between latency, memory overhead and system size shows that this approach is immediately feasible for low-performance real-time systems or multiprocessor real-time systems with a dedicated processor for garbage collection. Future improvements in the collector's performance are outlined.<<ETX>>

[1]  D. Kafura Concurrent object-oriented real-times systems research , 1988, OOPSLA/ECOOP '88.

[2]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[3]  Paul Hudak,et al.  Garbage collection and task deletion in distributed applicative processing systems , 1982, LFP '82.

[4]  J.A. Stankovic,et al.  Misconceptions about real-time computing: a serious problem for next-generation systems , 1988, Computer.

[5]  Andrew W. Appel,et al.  Copying Garbage Collection in the Presence of Ambiguous References , 1988 .

[6]  Dennis G. Kafura,et al.  Garbage collection of actors , 1990, OOPSLA/ECOOP '90.

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

[8]  John A. Stankovic,et al.  Misconceptions About Real-Time Computing , 1988, Computer.

[9]  William B. Nilsson,et al.  Supercritical fluid fractionation of fish oil esters using incremental pressure programming and a temperature gradient , 1989 .

[10]  Larry Carter,et al.  Distrbution and Abstract Types in Emerald , 1987, IEEE Transactions on Software Engineering.

[11]  Stanley B. Zdonik,et al.  Issues in the design of object-oriented database programming languages , 1987, OOPSLA 1987.

[12]  Robert H Halstead Multiple-processor implementations of message-passing systems , 1978 .

[13]  Paul Hudak Distributed task and memory management , 1983, PODC '83.

[14]  Henry G. Baker,et al.  List processing in real time on a serial computer , 1978, CACM.

[15]  Krithi Ramamritham,et al.  The Design of the Spring Kernel , 1987, RTSS.