Abstract

SUMMARYGarbage 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. Copyright © 2012 John Wiley & Sons, Ltd.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.