Tuning compilations by multi-objective optimization: Application to Apache web server
Contribuinte(s) |
Universidad de Alicante. Departamento de Tecnología Informática y Computación Universidad de Alicante. Departamento de Lenguajes y Sistemas Informáticos UniCAD: Grupo de investigación en CAD/CAM/CAE de la Universidad de Alicante Reconocimiento de Formas e Inteligencia Artificial |
---|---|
Data(s) |
09/02/2015
09/02/2015
01/04/2015
|
Resumo |
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. |
Identificador |
Applied Soft Computing. 2015, 29: 461-470. doi:10.1016/j.asoc.2015.01.029 1568-4946 (Print) 1872-9681 (Online) http://hdl.handle.net/10045/44646 10.1016/j.asoc.2015.01.029 |
Idioma(s) |
eng |
Publicador |
Elsevier |
Relação |
http://dx.doi.org/10.1016/j.asoc.2015.01.029 |
Direitos |
© 2015 Elsevier B.V. info:eu-repo/semantics/openAccess |
Palavras-Chave | #Multi-objective optimization #NSGA-II #Compiler #Tuning compilations #Evolutionary search #Arquitectura y Tecnología de Computadores #Lenguajes y Sistemas Informáticos |
Tipo |
info:eu-repo/semantics/article |