Potential Gains in EDP by Dynamically Adapting the Number of Threads for OpenMP Applications in Embedded Systems - Schwarzrock, Janaána; Lorenzon, Arthur Francisco; Navaux, Philippe O.A.; Beck, Antonio Carlos Schneider; Freitas, Edison Pignaton de (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC), 2017)
Parallel applications usually execute using the maximum number of threads allowed by the available hardware at hand to maximize performance. However, this approach may not be the best when it comes to energy efficiency and may even lead to performance decrease in some particular cases. Even though many solutions have already been proposed to find and adapt the best number of threads of a given parallel application to achieve a specific goal, which may be performance, energy-saving or Energy-Delay Product (EDP), they focus on General Purpose Processors (GPP). Differently from previous works, the current one aims to show that there is also space for EDP optimization when it comes to Embedded Systems, which usually have a lower number of cores compared to GPP, and have different characteristics concerning the micro-architecture and memory hierarchy. Through experiments on a real quad-core embedded processor, this work demonstrates that it is possible to improve the EDP (Energy-Delay Product) by up to 8.13% over the default configuration of 4 threads in OpenMP applications by adapting the number of threads in runtime, without any changes in the hardware or compiler.