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} }