Scheduling garbage collector for embedded real-time systems

This paper proposes a new scheduling method for multiple mutators and a garbage collector running on embedded real-time systems with a single processor and no virtual memory. The hard real-time tasks should reserve a certain amount of heap memory to prevent memory starvation and/or deadline miss. Since the memory requirement depends on the worst-case response time of a garbage collector, the traditional approach in which garbage collection is performed in the background demands large memory space. The proposed scheduling algorithm is based on an aperiodic scheduling technique, sporadic server. This paper also presents a modified copying garbage collection algorithm with hardware support. In order to minimize the worst-case response time of a garbage collector thus reducing the memory requirement, the garbage collector runs as the highest priority task with a preset bandwidth. This paper also investigates the schedulability of a garbage collector and mutator tasks as well as the worst-case memory requirement. Performance analysis shows that the proposed algorithm can provide a considerable reduction in the worst-case memory requirement compared with the background policy. Simulation results demonstrate that the proposed algorithm can produce the feasible memory requirement comparable to the complex on-line scheduling algorithm such as slack stealing.

[1]  Chung Laung Liu,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[2]  T. Başar,et al.  A New Approach to Linear Filtering and Prediction Problems , 2001 .

[3]  John P. Lehoczky,et al.  An optimal algorithm for scheduling soft-aperiodic tasks in fixed-priority preemptive systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

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

[5]  Taiichi Yuasa,et al.  Real-time garbage collection on general-purpose machines , 1990, J. Syst. Softw..

[6]  Ben Zorn,et al.  Barrier Methods for Garbage Collection , 1990 .

[7]  A BarrettDavid,et al.  Using lifetime predictors to improve memory allocation performance , 1993 .

[8]  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.

[9]  Andrew W. Appel,et al.  Garbage Collection can be Faster than Stack Allocation , 1987, Inf. Process. Lett..

[10]  Roger Henriksson,et al.  Scheduling Garbage Collection in Embedded Systems , 1998 .

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

[12]  Benjamin G. Zorn,et al.  Using lifetime predictors to improve memory allocation performance , 1993, PLDI '93.

[13]  John P. Lehoczky,et al.  The rate monotonic scheduling algorithm: exact characterization and average case behavior , 1989, [1989] Proceedings. Real-Time Systems Symposium.

[14]  Benjamin G Zorn Barrier Methods for Garbage Collection ; CU-CS-494-90 , 1990 .

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

[16]  Leslie Lamport,et al.  On-the-fly garbage collection: an exercise in cooperation , 1975, Language Hierarchies and Interfaces.