Title
Phase-based adaptive recompilation in a JVM
Abstract
Modern JIT compilers often employ multi-level recompilation strategies as a means of ensuring the most used code is also the most highly optimized, balancing optimization costs and expected future performance. Accurate selection of code to compile and level of optimization to apply is thus important to performance. In this paper we investigate the effect of an improved recompilation strategy for a Java virtual machine. Our design makes use of a lightweight, low-level profiling mechanism to detect high-level, variable length phases in program execution. Phases are then used to guide adaptive recompilation choices, improving performance. We develop both an offline implementation based on trace data and a self-contained online version. Our offline study shows an average speedup of 8.7% and up to 21%, and our online system achieves an average speedup of 4.4%, up to 18%. We subject our results to extensive analysis and show that our design achieves good overall performance with high consistency despite the existence of many complex and interacting factors in such an environment.
Year
DOI
Venue
2008
10.1145/1356058.1356062
CGO
Keywords
Field
DocType
adaptive recompilation choice,average speedup,offline implementation,multi-level recompilation strategy,phase-based adaptive recompilation,online system,improved recompilation strategy,future performance,optimization cost,offline study,good overall performance,adaptive optimization,java,virtual machine
Virtual machine,Adaptive optimization,Profiling (computer programming),Computer science,Parallel computing,Real-time computing,Compiler,Java,Operating system,Java virtual machine,Speedup
Conference
ISSN
Citations 
PageRank 
2164-2397
12
0.67
References 
Authors
37
2
Name
Order
Citations
PageRank
Dayong Gu1352.43
Clark Verbrugge241139.15