And then there were none: A stall-free real-time garbage collector for reconfigurable hardware
Abstract
Researchers have developed a garbage collector synthesized directly to hardware, which is capable of collecting a heap of uniform objects completely concurrently. These uniform heaps are composed entirely of objects of a fixed shape where the size of the data fields and the location of pointers of each object are fixed. The stall-free collector can be used directly with programs hand-written in hardware description languages. It can also be part of a hardware 'runtime system' used by high-level language systems including dynamic memory allocation. Three collectors are compared in terms of memory usage, clock frequency, throughput, and application stalls, using an allocation-intensive application. The researchers also present analytic closed-form worst-case bounds for the minimum heap size required for 0-stall real-time behavior, which are empirically validated.