MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for Java (2003) [21 citations — 4 self]

Download:
pdf | ps
by David F. Bacon, Perry Cheng, V. T. Rajan
In Proceedings of the Conference on Languages, Compilers, and Tools for Embedded Systems
http://researchweb.watson.ibm.com/people/d/dfb/papers/Bacon03Controlling.ps
Add To MetaCart

Abstract:

Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds. Our previous work [3] presented the Metronome, a mostly noncopying real-time collector. The Metronome achieves worst-case pause times of 6 milliseconds while maintaining consistent mutator CPU utilization rates of 50 % with only 1.5--2.1 times the maximum heap space required by the application, which is comparable with space requirements for stop-the-world collectors. However, that algorithm assumed a constant collection rate, ignored program-dependent characteristics, and lacked a precise specification for when to trigger collection or how much defragmentation to perform. This paper refines the model by taking into account program properties such as pointer density, average object size, and locality of object size. This allows us to bound both the time for collection and consequently the space overhead required much more tightly. We show experimentally that most parameters usually are not subject to large variation, indicating that a small number of parameters will be sufficient to predict the time and space requirements accurately. Our previous work also did not present the details of our approach to avoiding and undoing fragmentation. In this paper we present a more detailed analysis of fragmentation than in previous work, and show how our collector is able to bound fragmentation to acceptable limits.

Citations

136 Real-time concurrent collection on stock multiprocessors – Appel, Ellis, et al. - 1988
81 A real-time garbage collector with low overhead and consistent utilization – Bacon, Cheng, et al. - 2003
76 List processing in real-time on a serial computer – Baker - 1978
76 Trading data space for reduced time and code space in real-time garbage collection on stock hardware – Brooks - 1984
71 Implementing Jalapeño in Java – Alpern, Attanasio, et al. - 1999
70 The Treadmill: Real-time garbage collection without motion sickness – Baker - 1992
57 A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks – Dieckmann, Hölzle - 1999
56 A parallel, real-time garbage collector – Cheng, Belloch - 2001
50 Hoard: A scalable memory allocator for multithreaded applications – Berger, McKinley, et al. - 2000
26 The Real-Time Specification for Java. The Java Series – Bollella, Gosling, et al. - 2000
3 Non-stop Haskell – CHEADLE, FIELD, et al. - 2000