Garbage collection (GC) is a well known approach to simplify software development. Recently, it has started to gain acceptance also in the real-time community. Several hard real-time GC algorithms have been proposed for uniprocessors. However, the growing popularity of multi-processors for real-time systems entails that algorithms and techniques have to be developed that allow hard realtime GC on multi-processors as well.
We propose a novel root cache, which aggregates information of the processor-local root sets in multi-processor systems. It allows that the root scanning phase of the garbage collector is decoupled from the root scanning phase of working threads. Thread-local root scanning can be scheduled flexibly, without impeding the garbage collector. Additionally, the new cache lowers both the blocking time and the memory bandwidth consumption due to the root scanning phase of GC.
The proposed solution has been implemented for evaluation in a chip multi-processor system based on the Java Optimized Processor. We show how bounds on the garbage collector period can be extended to take into account the root cache. We also present experimental results, which highlight the advantages and limits of the proposed approach.
|Title of host publication||CASES '08 Proceedings of the 2008 International Conference on Compilers, Architectures and Synthesis for Embedded Systems|
|Number of pages||8|
|Publication status||Published - 2008|
|Event||2008 International Conference on Compilers, Architectures and Synthesis for Embedded Systems - Atlanta, GA, United States|
Duration: 19 Oct 2008 → 24 Oct 2008
|Conference||2008 International Conference on Compilers, Architectures and Synthesis for Embedded Systems|
|Period||19/10/2008 → 24/10/2008|