A Parameter Selection Process by Data Analysis for Tuning Multi-threaded Time-Stepping Algorithms
Thomas Rauber, Gudula Rünger · 2020
Many applications from science and engineering can be simulated by time-stepping algorithms. Due to a possibly large number of simulation time steps and an expensive loop body in each time step, the execution of such algorithms can be quite time consuming and may also require a high amount of energy and power for the computation. Execution time, energy, and power can vary for varying application specific and architecture specific parameters. Also, the lowest execution time does not necessarily leads to a low power consumption or energy consumption. In this article, we are concerned with the selection of specific parameter values which lead to a low time and/or energy and/or power consumption. Specifically, we propose an energy-aware parameter selection process that is the basis for a software-defined support of an energy and power efficient execution. The process includes a data gathering phase, a parameter selection phase based on the data sets and a parameter adaption phase at run-time combining data tabulation and data monitoring. A multi-threaded scientific algorithm solving a partial differential equation is chosen as an illustrating example.