Application-specific Garbage Collection

Sunil Soman and Chandra Krintz
Elsevier Journal of Systems and Software, Volume 80, Issue 7, pp. 1037-1056, July, 2007


(PDF)

Abstract

Prior work, including our own, shows that application performance in garbage collected languages is highly dependent upon the application behavior and on underlying resource availability. We show that given a wide range of diverse garbage collection (GC) algorithms, no single system performs best across programs and heap sizes.

We present a Java Virtual Machine extension for dynamic and automatic switching between diverse, widely used GCs for application-specific garbage collection selection. We describe annotation-guided, and automatic GC switching. We also describe a novel extension to extant on-stack replacement (OSR) mechanisms for aggressive GC specialization that is readily amenable to compiler optimization.