Implementing online performance modelling in OpenMP — Adding an energy aware scheduler for increased energy efficiency - Alexandersson, Thomas; Nilsson, Olle (My University, 2022)
OpenMP is the staple and foundation of many HPC applications. With the recent increase in heterogeneous computing platforms, it lacks the ability to utilise the architecture to its fullest potential. This new hardware allows for more advanced techniques than dynamic voltage and frequency scaling (DVFS) when minimising energy consumption. In this project, we have implemented ERASE (EneRgy Aware SchedulEr) into the LLVM’s OpenMP run-time. Mainly intended for heterogeneous compute platforms, it schedules the task and taskloop pragmas, with the goal of their execution being to use the least amount of energy. This is achieved by a mix of online and offline classification of tasks. By storing previous execution times, it is adaptable to an ever-changing computing environment. In addition, we also evaluated different interpolation models to predict missing performance data and untested system configurations. Compared to the default OpenMP, we show that ERASE can reduce energy consumption by up to 17% in realistic scenarios using a heterogeneous compute platform. Adding interpolation can further decrease the energy consumption by 25% depending on task granularity and compute platform.
Keywords: energy efficient computing; online performance modeling; OpenMP; heterogeneous architectures