System self-tuning is a crucial task to lower the energy consumption of computers. Traditional approaches decrease the processor frequency in idle or synchronisation periods. However, in High-Performance Computing (HPC) this is not sufficient: if the executed code is load balanced, there are neither idle nor synchronisation phases that can be exploited. Therefore, alternative self-tuning approaches are needed, which allow exploiting different compute characteristics of HPC programs. The novel notion of application regions based on function call stacks, introduced in the Horizon 2020 Project READEX, allows us to define such a self-tuning approach. In this paper, we combine these regions with the Q-Learning typical state-action maps, which save information about available states, possible actions to take, and the expected rewards. By exploiting the existing processor power interface, we are able to provide direct feedback to the learning process. This approach allows us to save up to 15 energy, while only adding a minor runtime overhead.
@cite_4: In this paper, we propose a novel online-learning algorithm for system-level power management. We formulate both dynamic power management (DPM) and dynamic voltage-frequency scaling problems as one of workload characterization and selection and solve them using our algorithm. The selection is done among a set of experts, which refers to a set of DPM policies and voltage-frequency settings, leveraging the fact that different experts outperform each other under different workloads and device leakage characteristics. The online-learning algorithm adapts to changes in the characteristics and guarantees fast convergence to the best-performing expert. In our evaluation, we perform experiments on a hard disk drive (HDD) and Intel PXA27x core (CPU) with real-life workloads. Our results show that our algorithm adapts really well and achieves an overall performance comparable to the best-performing expert at any point in time, with energy savings as high as 61 and 49 for HDD and CPU, respectively. Moreover, it is extremely lightweight and has negligible overhead.
While self-tuning for energy efficiency is a broadly studied topic, the approaches used by researchers vary. For example, Dhiman et. ,al. @cite_4 use online learning to choose one of two energy-saving strategies (experts) during runtime. They specify two experts: one for Dynamic Power Management (DPM) and one for DVFS. The DPM expert decides whether to shut down a specific device during an idle period. The DVFS expert uses a model based on processor events to estimate the optimal frequency for the CPU. Both experts are evaluate at every OS scheduler tick. However, this approach does not necessarily fit HPC workloads, which are usually long running applications without extended idle times.