Abstract
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.
Original language | English |
---|---|
Pages (from-to) | 55-64 |
Number of pages | 10 |
Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
Volume | 34 |
Issue number | 7 |
DOIs | |
State | Published - 1999 |