Non-Blocking Root Scanning for Real-Time Garbage Collection

Wolfgang Puffitsch, Martin Schoeberl

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

84 Downloads (Pure)

Abstract

Root scanning is a well known source of blocking times due to garbage collection. In this paper, we show that root scanning only needs to be atomic with respect to the thread whose stack is scanned. We propose two solutions to utilize this fact: (a) block only the thread whose stack is scanned, or (b) shift the responsibility for root scanning from the garbage collector to the application threads. The latter solution eliminates blocking due to root scanning completely. Furthermore, we show that a snapshot-at-beginning write barrier is sufficient to ensure the consistency of the root set even if local root sets are scanned independently of each other. The impact of solution (b) on the execution time of a garbage collector is shown for two different variants of the root scanning algorithm. Finally, we evaluate the resulting real-time garbage collector in a real system to confirm our theoretical findings.
Original languageEnglish
Title of host publicationProceedings of the 6th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2008)
Publication date2008
Pages68-76
ISBN (Electronic)978-1-60558-337-2
DOIs
Publication statusPublished - 2008
Externally publishedYes
Event6th International Workshop on Java Technologies for Real-time and Embedded Systems - Santa Clara, CA, United States
Duration: 24 Sep 200826 Sep 2008
Conference number: 6
http://www.informatik.uni-trier.de/~ley/db/conf/jtres/index.html

Conference

Conference6th International Workshop on Java Technologies for Real-time and Embedded Systems
Number6
CountryUnited States
CitySanta Clara, CA
Period24/09/200826/09/2008
Internet address

Fingerprint Dive into the research topics of 'Non-Blocking Root Scanning for Real-Time Garbage Collection'. Together they form a unique fingerprint.

Cite this