Scheduling real-time garbage collection on uniprocessors

Tomas Kalibera*, Filip Pizlo, Antony L. Hosking, Jan Vitek

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

11 Citations (Scopus)

Abstract

Managed languages such as Java and C# are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for analysis and implementation of real-time execution environments. This article comprehensively compares leading approaches to hard real-time garbage collection. There are many design decisions involved in selecting a real-time garbage collection algorithm. For time-based garbage collectors on uniprocessors one must choose whether to use periodic, slack-based or hybrid scheduling. A significant impediment to valid experimental comparison of such choices is that commercial implementations use completely different proprietary infrastructures. We present Minuteman, a framework for experimenting with real-time collection algorithms in the context of a high-performance execution environment for real-time Java. We provide the first comparison of the approaches, both experimentally using realistic workloads, and analytically in terms of schedulability.

Original languageEnglish
Article number8
JournalACM Transactions on Computer Systems
Volume29
Issue number3
DOIs
Publication statusPublished - Aug 2011
Externally publishedYes

Fingerprint

Dive into the research topics of 'Scheduling real-time garbage collection on uniprocessors'. Together they form a unique fingerprint.

Cite this