کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
495260 | 862821 | 2015 | 10 صفحه PDF | دانلود رایگان |
• A strategy and tool for tuning compilations by multiobjective optimization are proposed.
• Multiple criteria satisfaction is based on NSGA-II algorithm.
• The tool has been tested using a case of study based on Apache web server.
• Overall Apache improvement achieved up to 8.5% assuming 4 criteria of interest.
• 30.1% of improvement when a single criterion (minimize L2 cache misses) is selected.
Modern compilers present a great and ever increasing number of options which can modify the features and behavior of a compiled program. Many of these options are often wasted due to the required comprehensive knowledge about both the underlying architecture and the internal processes of the compiler. In this context, it is usual, not having a single design goal but a more complex set of objectives. In addition, the dependencies between different goals are difficult to be a priori inferred. This paper proposes a strategy for tuning the compilation of any given application. This is accomplished by using an automatic variation of the compilation options by means of multi-objective optimization and evolutionary computation commanded by the NSGA-II algorithm. This allows finding compilation options that simultaneously optimize different objectives. The advantages of our proposal are illustrated by means of a case study based on the well-known Apache web server. Our strategy has demonstrated an ability to find improvements up to 7.5% and up to 27% in context switches and L2 cache misses, respectively, and also discovers the most important bottlenecks involved in the application performance.
Figure optionsDownload as PowerPoint slide
Journal: Applied Soft Computing - Volume 29, April 2015, Pages 461–470