Skip to main content

Runtime Exploitation of Application Dynamism for Energy-efficient eXascale computing

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

High Performance Computing (HPC) is an indispensable tool for researchers and industry. It is used to simulate and predict climate change, analyse tectonic movements, or create weather forecasts. Like any other computing device (e.g. laptops or smartphones), HPC systems are constantly becoming faster, which enables more fine-grained simulations, e.g. for better weather forecasts. However, another optimization target, energy efficiency, has not been in the focus of HPC for a long time. This changed in recent years. For example, the ETP4HPC Strategic Research Agenda lists energy as a technical research priority.
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.
READEX Objectives

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.
To raise awareness and disseminate the project results, the project partners reached out to the general public, and the scientific communities via website, Twitter, ResearchGate, YouTube, scientific publications, and active participation at workshops and conferences during the whole project period. Furthermore, the project partners contributed to external groups and projects. For example, they collaborated with various European HPC sites to support the installation of READEX. The feedback was included in software and documentation. Furthermore, the project partners collaborated with users, in optimizing their applications, e.g. OptEwe, Alya, and Flexi.

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.
The READEX project enhanced two pre-existing software packages: PTF and Score-P. Based on the idea of System Scenarios, which originates from the Embedded Systems domain, the partners introduced the following functionality: Previous PTF versions were unable to cope with intra-phase and inter-phase dynamism, but were only able to find a static optimal configuration for the whole program run. With READEX, configurations can change at run time based on the dynamism of the program. Furthermore, the project partners extended the list of supported interfaces for parameters and energy monitoring infrastructure. Moreover, they implemented a runtime calibration mechanism, which enhances the previous approach where all optimization was done offline. The project partners validated the software using different HPC applications. Furthermore, the READEX project partners defined interfaces and developed libraries that can be used for purposes beyond energy efficiency tuning. For example, they have also been used for debugging purposes, and to modify existing codes to lower the overhead of performance monitoring.

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.