Method-Specific Dynamic Compilation using Logistic Regression |
Method-Specific Dynamic Compilation using Logistic RegressionResearch Paper Wednesday, Oct 25, from 13:30 to 15:00
Determining the best set of optimizations to apply to a program has been a long standing problem for compiler writers. To reduce the complexity of this task, existing approaches typically apply the same set of optimizations passes to all procedures within a program, without regard to their particular structure. This paper develops a new method-specific approach that automatically selects the best optimizations on a per method basis within a dynamic compiler. Our approach uses the machine learning technique of logistic regression to automatically derive a predictive model which determines what optimizations to apply based on the features of a method. This technique is implemented in the Jikes RVM Java JIT compiler. Using this approach we reduce the average total execution time of the SPECjvm98 benchmarks by 29%. When the same heuristic is applied to the DaCapo+ benchmark suite, we obtain an average 33% reduction over the default level O2 setting. John Cavazos, University of Edinburgh Michael O'Boyle, University of Edinburgh
|