Modeling, Analysis and Throughput Optimization of a Generational Garbage Collector

Modeling, Analysis and Throughput Optimization of a Generational Garbage Collector

David Vengerov

16 January 2009

One of the garbage collectors in Sun's HotSpot Java(TM)Virtual Machine is known as the generational throughput collector, as it was designed to have a large throughput (fraction of time spent on application's work rather than on garbage collection). This paper derives an analytical expression for the throughput of this collector in terms of the following key parameters: the sizes of the "Young" and "Old" memory spaces and the value of the tenuring threshold. Based on the derived throughput model, a practical algorithm ThruMax is proposed for tuning the collector's parameters so as to formally maximize its throughput. This algorithm was implemented as an optional feature in an early release of JDK(TM)7, and its performance was evaluated for various settings of the SPECjbb2005 workload. A consistent improvement in throughput was demonstrated when the ThruMax algorithm was enabled in JDK.


Venue : N/A