Adaptive, Application-specific Garbage Collection

Sunil Soman, Chandra Krintz, and David Bacon
UCSB Technical Report 2003-07, March 21st, 2003


(Gzipped pdf)

Abstract

In this paper, we describe a novel execution environment that can dynamically switch between garbage collection systems. As such, it enables selection of the most appropriate allocator and collector for a given application and underlying resource availability. Our system is novel in that it is able to switch between a wide range of diverse collection systems. It uses program annotations to guide selection of the collection system. In addition, it can automatically identify when to switch collectors when program execution behavior warrants it, i.e., it is adaptive. Our system introduces little overhead and accurately identifies the best collector for a wide range of benchmarks and heap sizes.