Modeling, analysis and throughput optimization of a generational garbage collector

  • Authors:
  • David Vengerov

  • Affiliations:
  • Sun Microsystems Laboratories, Menlo Park, CA, USA

  • Venue:
  • Proceedings of the 2009 international symposium on Memory management
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the garbage collectors in Sun's HotSpot "Java" Virtual Machine is known as the generational throughput collector, which 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 in a custom Java Virtual Machine (JVM) based on the HotSpot sources currently shipped in JDK" 6, and its performance was evaluated on multiple benchmark workloads. A consistent improvement in throughput was demonstrated when the ThruMax algorithm was enabled in this JVM. More importantly, the ThruMax algorithm was shown to actually converge the collector's parameters to the optimal values that resulted in the highest benchmark throughput.