- Abstract:
-
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 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 that determines which 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.
- Copyright:
- 2006 by The University of Edinburgh. All Rights Reserved
- Links To Paper
- 1st Link
- Bibtex format
- @InProceedings{EDI-INF-RR-0950,
- author = {
John Cavazos
and Michael O'Boyle
},
- title = {Method-Specific Dynamic Compilation using Logistic Regression},
- book title = {International Conference on Object-Oriented Programming, Systems, Languages, and Applications, Portland, WA},
- publisher = {ACM Press},
- year = 2006,
- month = {Oct},
- volume = {41 (10)},
- pages = {12},
- doi = {10.1145/1167473.1167492},
- url = {http://homepages.inf.ed.ac.uk/jcavazos/oopsla-2006.pdf},
- }
|