School of Computing

Scheduling real-time garbage collection on uniprocessors

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

ACM Transactions on Computer Systems, 29(3):182-196, August 2011 [doi].


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.

Download publication 826 kbytes (PDF)

Bibtex Record

author = {Tomas Kalibera and Filip Pizlo and Antony L. Hosking and Jan Vitek},
title = {Scheduling real-time garbage collection on uniprocessors},
month = {August},
year = {2011},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {10.1145/2003690.2003692},
url = {},
    publication_type = {article},
    submission_id = {22718_1316265473},
    journal = {ACM Transactions on Computer Systems},
    volume = {29},
    number = {3},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014