Optimizing the energy consumption is a major challenge in the current HPC landscape. The EU Horizon 2020 project READEX provides an auto-tuning framework to improve the energy-efficiency of HPC applications. It leverages the variation in the application behavior between individual time loop iterations, or phases as well as changing control flow within a single phase.
READEX uses a two-step methodology, consisting of Design-Time Analysis and Runtime Application Tuning. At design-time, fine-granular instrumented program regions are filtered, and significant regions that have a tuning potential are determined. Then, the readex_interphase tuning plugin, performs three tuning steps, i.e., cluster analysis, default execution and verification to exploit the inter-loop dynamism. During cluster analysis, it creates a search space of system configurations using a random search strategy. It executes experiments to request for measurements for the phases as well as instances (rts's) of the significant regions. It uses DBSCAN with parameters minPts and eps, which is automatically determined using the elbow method to cluster phases. Normalized PAPI metrics - compute intensity and conditional branch instructions are used as features to group phases with similar behavior. Cluster-best tuning parameter settings are determined for each phase cluster. During default execution, the plugin executes using the default settings of the batch system.
In the verification step, the actual savings with the switching overhead are verified against the computed theoretical savings. Finally, the static and dynamic savings are determined. The plugin was evaluated for miniMD and INDEED, and the obtained energy savings highlight the effectiveness of this methodology.
Prof. Dr. rer. nat. habil. Hans Michael Gerndt
M.Sc. Madhura Kumaraswamy