Intelligent selection of application-specific garbage collectors

  • Authors:
  • Jeremy Singer;Gavin Brown;Ian Watson;John Cavazos

  • Affiliations:
  • University of Manchester, Manchester, England UK;University of Manchester, Manchester, England UK;University of Manchester, Manchester, England UK;University of Edinburgh, Edinburgh, Scotland UK

  • Venue:
  • Proceedings of the 6th international symposium on Memory management
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java program execution times vary greatly with different garbage collection algorithms. Until now, it has not been possible to determine the best GC algorithm for aparticular program without exhaustively profiling that program for all available GC algorithms. This paper presents a new approach. We use machine learning techniques to build a prediction model that, given asingle profile run of a previously unseen Java program,can predict a good GC algorithm for that program. We implement this technique in Jikes RVM and test it onseveral standard benchmark suites. Our techniqueachieves 5% speedup in overall execution time (averagedacross all test programs for all heap sizes) compared with selecting the default GC algorithm in every trial. We present further experiments to show that an oracle predictor could achieve an average 17% speedup on the same experiments. In addition, we provide evidence to suggest that GC behaviour is sometimes independent of program inputs. These observations lead us to propose that intelligent selection of GC algorithms is suitably straight forward, efficient and effective to merit further exploration regarding its potential inclusion in the general Java software deployment process.