Periodic Reporting for period 2 - READEX (Runtime Exploitation of Application Dynamism for Energy-efficient eXascale computing)
Reporting period: 2017-03-01 to 2018-08-31
The READEX project, funded by the European Union‘s Horizon 2020 research and innovation programme under grant agreement No 671657, targets the energy efficiency of HPC systems. The project partners come from different fields: embedded systems and HPC, academia and industry.
The rising power consumption of HPC systems increases costs for operators of HPC centres. However, a manual optimization of program codes and an analysis of energy-efficient software and hardware configurations for parallel applications is a time-consuming and ineffective task. Hence, software that automatizes this process is preferable. The READEX project implements such a process with scalability and runtime efficiency in mind.
While the average performance of HPC systems increases over time, their power consumption also rises. This increases the air pollution and contributes to global warming. Furthermore, the power bill of HPC systems hosted at academia sites is paid via taxes. Here, taxpayers’ money can be saved, when energy efficiency is increased. Likewise, energy savings on computing simulations executed at industry-sites can reduce product-costs or increase the competitiveness of European manufacturers.
Objective 1: Static Energy Efficiency Tuning
With the newly implemented software, developed during the READEX project, the project partners were able to save 12.6% energy with static tuning of hardware and system software parameters in average.
Objective 2: Manual Energy Efficiency Tuning
The project partners achieved an additional energy saving of up to 18.4 percentage points for the application BEM4I, resulting in a total saving of 34.1%.
Objective 3: Integrated Tool Suite for Dynamic Auto-Tuning
The project partners developed the integrated tool suite and published it under liberal Open Source licenses on github and the project homepage. Using the integrated tool suite without the READEX programming paradigm (see Objective 4) on a set of test applications reached more than 70% of the manual performance tuning results.
Objective 4: Novel Programming Paradigm
The project partners defined and published the READEX Domain-level Knowledge Specification Interface (DKSI), which re-uses Score-P instrumentation methods, but also defines new features. With the usage of Score-P interfaces, the programming paradigm can also be exploited for other purposes, like performance debugging. The project partners also defined and implemented a way to expose application-internal data (application Tuning Parameters).Optimizing these on an application, which uses the ESPRESO library, resulted in energy savings of 50-66%.
Objective 5: Use of READEX Technologies
The project partners collaborated with research groups of different HPC centres and supported the installation and application of READEX. The software is installed at more than 4% of the European systems in the Top500 from June 2014.
The READEX tool suite consists of several software packages, which are published under Open Source licenses and available for download at the project website and https://github.com/readex-eu. The tool suite enables users to exploit intra-phase and inter-phase for optimizing the energy efficiency of HPC programs. It supports various common interfaces for energy measurement, which makes it applicable to most HPC systems. For intra-phase dynamism, different regions of a code have different characteristics. READEX exploits these by toggling hardware, system software and application parameters to increase the energy efficiency, as visualized in Figure 1. Alternatively, for inter-phase dynamism, the characteristic of program phases changes over time. READEX supports this by clustering phases and predicting upcoming phases, as visualized in Figure 2. Usually, the Periscope Tuning Framework (PTF) performs an offline optimization. However, READEX also supports online mechanisms, which simplify the application of the tool suite, as shown in Figure 3. Using READEX on selected applications reached 80% of the energy savings that could be achieved manually, as shown in Table 1.
After the end of the READEX project, the project partners will use READEX technology in running and upcoming projects to increase energy efficiency of HPC applications and continue their collaboration with other HPC sites. Furthermore, they will include it in tutorials to train users and keep a high level of awareness. Finally, the open interfaces between the single components also enable research in other areas, i.e. for the online optimization and validation of HPC programs. Moreover, there are several scientific papers to be published after the project ends.
With READEX, the HPC community has now a valuable tool for energy efficiency optimization. Compared to previous approaches, it is much more applicable and supports more systems and areas of applications. Given that the target audience of the READEX project is the HPC community, there are only indirect effects to the general public. These are described above.