Real-time Garbage Collection is the process of collecting data that is no longer in use by an application at the same time that the application continues to run, while keeping the interruptions by the collector (also called pause times) short and evenly spaced. The goal of the Metronome project is to produce a garbage collector with pause times that are below 1 millisecond in the worst case while providing highly uniform CPU utilization, low memory overhead, and low garbage collection cost.
To date we have achieved these goals with a maximum pause time of 2 milliseconds. The results rely on:
Current research focuses on driving maximum pause times down to 250 microseconds, reducing space overhead with real-time generational collection, extending the system to work on multiprocessors, and defining a comprehensive set of interfaces and real-time services for a garbage collected virtual machine.
University collaborations are under way with the University of California, Berkeley, the Universität Salzburg, and Cambridge University.
Previous work on multiprocessor concurrent garbage collection demonstrated the feasibility of building a very low-latency, multiprocessor garbage collector based on reference counting with cycle collection. The result was the Recycler, which combined reference counting with a novel scheme for deferred reference count updates that are pipelined to a garbage collection processor, along with a sophisticated concurrent cycle collection algorithm.
|About IBM | Privacy | Legal | Contact|