A Real-time Garbage Collector for Java

A. Maeda, Y. Tanaka, and Y. Yamaguchi (Japan)


resource allocation, real-time systems, processing, dynamic memory management


Garbage collection is a technique to automatically re claim unused memory areas for future use. Garbage collection liberates programmers from common memory management errors such as dangling pointers or memory leaks. Although languages with built-in garbage collection facilities, e.g. Java, can potentially improves productivity, unbounded pause time caused by garbage collector prevents those languages from being used in real-time applications. We present a real-time garbage collector for Java to-C translator. The collector is based on Yuasa’s Snapshot-at-the-Beginning incremental collection algorithm and exploits Return Barrier mechanism to detect root modification. We added an allocator which can allocate arbitrary length memory blocks in bounded time. Preliminary measurement of prototype implementation based on this technique is presented. The measurement shows that maximum pause time is drastically reduced.

Important Links:

Go Back