The importance of energy efficiency is constantly increasing in High Performance Computing (HPC). While systems can be adapted to individual applications in order to reduce energy consumption, manual tuning of platform parameters is a tedious and often neglected task. The READEX projects automates this by developing a tools-aided methodology for dynamic auto-tuning that combines technologies from two ends of the computing spectrum: system scenario methodology from the embedded world and auto-tuning from the field of HPC.
READEX Tools-Aided Methodology
The READEX methodology has been designed for exploiting the dynamic behaviour of software. At design time different runtime situations (RTS) are detected and optimized system configurations are determined. RTSs with the same configuration are grouped into scenarios, forming the tuning model. At runtime, the tunining model is used to switch system configurations dynamically.
Design Time Analysis
Design time analysis (DTA) is carried out with the Periscope Tuning Framework (PTF). It uses a multi-agent based approach to identify RTSs and to determine optimized system configurations. These are settings for tuning parameters, e.g., core and uncore frequencies. It also provides means for the specification of domain knowledge (DK) to improve the automatic tuning results. Part of the DK is the specification of application tuning parameters, which allows users to offload computation to accelerated devices. The result of DTA is a tuning model that guides runtime tuning
During production runs of the user’s application, the READEX Runtime Library takes control. It is designed to apply the different configuration in a lightweight manor.
Moreover the READEX Runtime Library will be able to adapt to a changing application behaviour. The latter is to be implemented by state-of-the-art machine learning mechanisms, which are currently under development.