Performance-energy trade-offs prediction and runtime selection for parallel applications on heterogeneous multiprocessing systems - Coutinho, Demétrios Araújo Magalhães (2021)
In the multi-core era, the size of the software operation space, i.e. hardware configurations (number of cores and operating frequency) that provide different software performance and energy consumption, is significantly larger. It becomes even more complex to choose a configuration that optimizes heterogeneous processors’ performance and energy consumption. Heterogeneous multi-core architectures offer flexibility in different core types and voltage and frequency pairings, defining a vast design space to explore. Furthermore, energy efficiency solutions are crucial on smaller devices as they can lead to longer battery life and a better user experience, including more complex applications. This thesis proposes a methodology to find performance-energy trade-offs for single parallel applications with dynamically balanced workloads running on Heterogeneous Multicore Processing (HMP) systems with a single instruction-set architecture (ISA). Our method devises novel analytical models for performance and power consumption whose parameters can be fitted using only a few strategically sampled offline measurements. These models are then used to estimate an application’s performance and energy consumption for the whole configuration space. In turn, these offline predictions define the choice of estimated Pareto-optimal configurations of the model, which are used to inform the configuration that the application should execute. The methodology was validated on an ODROID-XU3 board for eight programs from the PARSEC Benchmark, Phoronix Test Suite and Rodinia applications. Energy savings of up to 59.77%, 61.38% and 17.7% were observed compared to the performance, ondemand and powersave Linux governors, respectively, with higher or similar performance. This method aims to provide an optimal start point for a runtime energy manager to make better decisions according to the given application’s performance and energy consumption requirements and running system. Therefore, this thesis also proposes a strategy using the Pareto-optimal configuration selected by our models as an appropriate start point for a runtime support framework called Nornir. This framework performs a local search dynamically for a more desirable configuration of cores and frequency adapting to workload fluctuations and external interference. Also, we extend our power model to predict the whole device’s consumption, i.e. the sum of all internal components’ consumption.This hybrid approach was employed on an ODROID-XU3 board on two multi-thread applications. Preliminary results shows that Nornir starting with Pareto configuration can achieve up to 50% of energy savings compared to random starting configurations. On average, we observed that the default Linux governors consumed up to 1.62× more energy than Nornir using Pareto.