Title :
Static Prediction of Loop Iteration Counts Using Machine Learning to Enable Hot Spot Optimizations
Author :
Tetzlaff, Dirk ; Glesner, Sabine
Author_Institution :
Dept. of oftware Eng. for Embedded Syst., Tech. Univ. Berlin, Berlin, Germany
Abstract :
In general, program execution spends most of the time in a small fraction of code called hot spots of the program. These regions where optimization would be most beneficial are mainly composed of loops and must be identified to enable hot spot optimizations. Consequently, identifying hot spots involves determining loop iteration counts arising at run-time of the program, which is often not knowable in advance at run-time and even less statically knowable at compile time of the application by using only static analyses. In this paper we present a sophisticated approach using machine learning techniques to automatically generate heuristics that provide the compiler with knowledge of this run-time behavior, hence yielding more precise heuristics than those generated by pure static analyses. Our experimental results demonstrate the accuracy of our approach and show the general applicability to a wide range of programs with different behavior as we have used 175 programs of 12 benchmark suites in total from different real-world application domains for our experiments. Among others, our approach eliminates the need for manual annotations of run-time information, which automates and facilitates the development of complex software, thus improving the software engineering process.
Keywords :
learning (artificial intelligence); optimising compilers; program control structures; program diagnostics; application compile time; automatic heuristics generation; benchmark suites; complex software development; hot-spot optimizations; machine learning; program execution; program run-time behavior; run-time information annotation; software engineering process improvement; static analysis; static loop iteration count prediction; Accuracy; Benchmark testing; Optimization; Program processors; Software engineering; Training; compiler optmization; machine learning; system analysis;
Conference_Titel :
Software Engineering and Advanced Applications (SEAA), 2013 39th EUROMICRO Conference on
Conference_Location :
Santander
DOI :
10.1109/SEAA.2013.12