Computer Architecture and High Performance Computing, Symposium on (2010)
Oct. 27, 2010 to Oct. 30, 2010
The question addressed in this paper is what subset of code transformations should be attempted for a given method in a Just-in-Time compilation environment. The solution proposed is to use a Support Vector Machine (SVM) to learn a model based on method features and on the measured compilation and execution times of the methods. An extensive exploration phase collects a set of example compilations to be used by the SVM to train the model. This paper reports on a work in progress. So far, linear-SVM models, applied to benchmarks from the SPECjvm98 suite, have not outperformed the compilation plans engineered by the development team over many years. However the models almost match that performance for the javac benchmark.
Testarossa, Java, Just-in-Time compiler, Method-specific compilation, Machine learning, Support Vector Machines
Ricardo Nabinger Sanchez, José Nelson Amaral, Duane Szafron, Marius Pirvu, Mark Stoodley, "Using Support Vector Machines to Learn How to Compile a Method", Computer Architecture and High Performance Computing, Symposium on, vol. 00, no. , pp. 223-230, 2010, doi:10.1109/SBAC-PAD.2010.35