Aluno: Charles Cardoso de Oliveira
Orientador: Prof. Dr. Antonio Carlos Schneider Beck Filho
Título: Odin: Online, Non-Intrusive and Self-Tuning DCT and DVFS to Optimize OpenMP Applications
Linha de Pesquisa: Sistemas Embarcados
Local: Sala 218 no prédio 43412 do Instituto de Informática da UFRGS
Prof. Dr. André Grahl Pereira (UFRGS)
Prof. Dr. Gabriel Luca Nazar (UFRGS)
Prof. Dr. Matthias Diener (UIUC – por videoconferência)
Presidente da Banca: Prof. Dr. Antonio Carlos Schneider Beck Filho
Abstract: Modern applications have pushed multithreaded processing to another level of performance and energy requirements. However, in most cases using the maximum number of available cores running at the highest possible operating frequency will not deliver the best Energy-Delay Product (EDP), since there are many aspects that prevent linear improvements when exploiting them. Moreover, the many parallel regions that compose an application may vary in behavior depending on characteristics that can be only known at run-time: input set, microarchitecture, and number of available cores. To solve this problem, we propose Odin: an online and lightweight self-tuning approach that optimizes OpenMP applications for EDP. While its dynamic nature makes it capable of adapting to the changing environment, it is totally transparent to both designer and end-user. Therefore, Odin does not need any source or binary code modifications, so potentially any dynamically linked parallel OpenMP executable file can be optimized with zero effort. By implementing different online strategies, we show that Odin can transparently improve EDP, on average, in 37.6% when compared to the regular OpenMP execution with DVFS set to ondemand. Additionally, we implement an alternative offline approach that uses a genetic algorithm for optimizing the parallel applications, showing that Odin can achieve similar results to it. Finally, we evaluate Odin’s learning overhead and solution quality by comparing it to an exhaustive local search.
Keywords: Thread-level parallelism exploitation, DVFS, OpenMP, energy and performance optimization, runtime environments.