Non-blocking Object Copy for Real-Time Garbage Collection

Martin Schoeberl, Wolfgang Puffitsch

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

72 Downloads (Pure)

Abstract

A real-time garbage collector has to fulfill two conflicting properties: avoid heap fragmentation and provide short blocking time. The heap needs to be compacted to avoid probably unbounded fragmentation. During compaction all objects are copied; copying is usually performed atomically to avoid interference with mutator threads. Copying of large objects and especially large arrays introduces long blocking times that are unacceptable for real-time systems.

In this paper an interruptible copy unit is presented that implements non-blocking object copy. The unit intercepts object and array field access and redirects the access either to the source or destination part of the moving object. The unit can be interrupted after a single word move. The resulting maximum blocking time is the time for a memory word read and write. We have implemented the proposed non-blocking copy unit in the Java processor JOP and are able to run high priority real-time tasks at 10 kHz parallel to the garbage collection task on a 100 MHz system.
Original languageEnglish
Title of host publicationProceedings of the 6th International Workshop on Java Technologies for Real-time and Embedded Systems (JTRES 2008)
Publication date2008
Pages77-84
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 Sept 200826 Sept 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
Country/TerritoryUnited States
CitySanta Clara, CA
Period24/09/200826/09/2008
Internet address

Fingerprint

Dive into the research topics of 'Non-blocking Object Copy for Real-Time Garbage Collection'. Together they form a unique fingerprint.

Cite this