Low memory overhead real-time garbage collection for Java
Yang Chang, Andy Wellings
Abstract
Yang Chang, Andy Wellings
Abstract
Current real-time garbage collection algorithms are usually criticised for their high memory requirements. Even when consuming nearly 50% of cpu time, some garbage collectors ask for at least twice the memory as really needed. This paper explores the fundamental reason for this problem and proposes a new performance indicator for better design of real-time garbage collection algorithms. Use of this indicator motivates an algorithm that combines both reference counting and mark-and-sweep techniques. The implementation of this algorithm for jRate is described and its performance reviewed. The use of dual priority scheduling of the garbage collection tasks allows spare capacity in the system to be reclaimed whilst guaranteeing deadlines.
OpenAlex reports 2 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Current real-time garbage collection algorithms are usually criticised for their high memory requirements. Even when consuming nearly 50% of cpu time, some garbage collectors ask for at least twice the memory as really needed. This paper explores the fundamental reason for this problem and proposes a new performance indicator for better design of real-time garbage collection algorithms. Use of this indicator motivates an algorithm that combines both reference counting and mark-and-sweep techniques. The implementation of this algorithm for jRate is described and its performance reviewed. The use of dual priority scheduling of the garbage collection tasks allows spare capacity in the system to be reclaimed whilst guaranteeing deadlines.
Key concepts: Garbage collection, Manual memory management, Memory leak, Computer science, Garbage, Java, Spare part, Memory management