Hierarchical Real-Time Garbage Collection

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

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},
  address = {San Diego, California},
  doi = {10.1145/1254766.1254784},
  acm = {http://dl.acm.org/authorize?N93661},
  gscholar = {14}
}