Conference paper
Decoupled root scanning in multi-processor systems
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.
Language: | English |
---|---|
Year: | 2008 |
Pages: | 91-98 |
Types: | Conference paper |
DOI: | 10.1145/1450095.1450111 |
Computer systems organization Contextual software domains Dynamic memory Embedded and cyber-physical systems Garbage collection Hardware Integrated circuits Memory management Operating systems Real-time systems Semiconductor memory Software and its engineering Software organization and properties garbage collection multi-processor real-time