## Hierarchical Real-Time Garbage Collection

#### Abstract

Memory management is a critical issue for correctness and performance in real-time embedded systems. Recent work on real-time garbage collectors has shown that it is possible to provide guarantees on worst-case pause times and minimum mutator utilization time. This paper presents a new hierarchical real-time garbage collection algorithm for mixed-priority and mixed-criticality environments. With hierarchical garbage collection, real-time programmers can partition the heap into a number of heaplets and for each partition choose to run a separate collector with a schedule that matches the allocation behavior and footprint of the real-time task using it. This approach lowers worst-case response times of real-time applications by 26%, while almost doubling mutator utilization — all with only minimal changes to the application code.

@inproceedings{Pizlo+2007LCTES,
author = {Pizlo, Filip and Hosking, Antony L. and Vitek, Jan},
title = {Hierarchical Real-Time Garbage Collection},
booktitle = {ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and
Tools for Embedded Systems},
series = {LCTES},
year = {2007},
pages = {123--133},
month = {June},