Design and analysis of a hard real‐time garbage collector for a Java chip multi‐processor

Wolfgang Puffitsch

Research output: Contribution to journalJournal articleResearchpeer-review

Abstract

Garbage collection is a well‐known technique to increase program safety and developer productivity. Within the past few years, it has also become feasible for uniprocessor hard real‐time systems. However, garbage collection for multi‐processors does not yet meet the requirements of hard real‐time systems. In this paper, we present a hard real‐time garbage collector for a Java chip multi‐processor that provides non‐disruptive and analyzable behavior. For retrieving the references in local variables of threads, we propose a protocol that minimizes disruptions for high‐priority tasks while still providing good bounds on the time until stack scanning finishes. Also, we developed a hardware unit that enables transparent, preemptible copying of objects, which eliminates the need to block tasks while copying objects. Evaluation of the hardware shows that the copy unit introduces only little overhead and does not limit the critical path. Analyses for different aspects of the system are presented, which indicate that comprehensive analysis of the presented system is indeed possible. Measurements resulted in release jitter for high‐priority tasks of 362 μs or less on an embedded multi‐processor with eight cores clocked at 100 MHz. This indicates that with the proposed garbage collector, high scheduling quality and garbage collection do not contradict each other on chip multi‐processors.
Original languageEnglish
JournalConcurrency and Computation: Practice & Experience
Volume25
Issue number16
Pages (from-to)2269-2289
ISSN1532-0626
DOIs
Publication statusPublished - 2013
Externally publishedYes

Fingerprint Dive into the research topics of 'Design and analysis of a hard real‐time garbage collector for a Java chip multi‐processor'. Together they form a unique fingerprint.

Cite this