SOCRATES ‐ A Seamless Online Compiler and System Runtime AutoTuning Framework for Energy-Aware Applications
Davide Gadioli1, Ricardo Nobre3, Pedro Pinto3, Emanuele Vitali1, Amir H. Ashouri2, Gianluca Palermo1, Joao Cardoso3 and Cristina Silvano1
1Politecnico di Milano, Italy
2University of Toronto, Canada
3University of Porto, Portugal
ABSTRACT
Configuring program parallelism and selecting optimal compiler options according to the underlying platform architecture is a difficult task. Tipically, this task is either assigned to the programmer or done by a standard one‐fitsall policy generated by the compiler or runtime system. A runtime selection of the best configuration requires the insertion of a lot of glue code for profiling and runtime selection. This represents a programming wall for application developers. This paper presents a structured approach, called SOCRATES, based on an aspect‐oriented language (LARA) and a runtime autotuner (mARGOt) to mitigate this problem. LARA has been used to hide the glue code insertion, thus separating the pure functional application description from extra‐functional requirements. mARGOT has been used for the automatic selection of the best configuration according to the runtime evolution of the application.