With the steaming out of Moore's law and the end of Dennard's scaling the pace dictated on the performance increase of High Performance Computing Systems among generations has led to power constrained architectures and systems. In addition power consumption represents a significant cost factor in the overall HPC system economy. For this reasons in the recent years researchers, supercomputing centers and major vendors have developed new tools and methodologies to measure and optimize the energy consumption of large scale high performance system installation. Due to the link between energy consumption, power consumption and execution time of the application executed by the final user it is important for these tools and methodology to consider all these aspects empowering the final user and the system administrator with the capability of finding the best configuration given different high level objectives.
The school will give an introductory course on the fundamental concept of power consumption and energy efficiency in HPC systems. Then it will focuses on the mechanisms that today computing elements and systems provide in terms of monitoring and control the power and energy dissipation. Finally it will introduce and give hand ons on a set of tools for reducing the energy consumption in HPC devices. The school is organized in four main sessions driving the audience from the physical and engineering principles underlying power consumption in supercomputing systems to the practical usage of state-of-the-art tools for monitoring and controlling the energy efficiency of supercomputing machines and workloads. The tools that will be covered are the MSR-SAFE (LLNL), MERIC (IT4I), COUNTDOWN (UNIBO), GEOPM (Intel) libraries.
By the end of the course, participants will be expected to:
- have a good understanding of the principles underlying the power consumption, energy dissipation in high performance computing nodes
- recognize trade-offs and implications of changing the power consumption in scientific computing systems during the execution of scientific computing applications
- have a clear view on the state-of-the-art and of practice in controlling the power consumption and energy efficiency of supercomputing nodes and processors.
- learn the internals and the usage of a set of user-space run-time libraries for controlling/optimizing the power consumption and energy efficiency in x86 computing nodes while executing user's applications.
- learn how to use these tools for optimize the energy consumption of your codes.
Researchers, student, system administrator, application developers who may wish to limit the environmental impact of their computations, as well as reducing the cost of energy provisioning in supercomputing system - promoting a more sustainable supercomputing ecosystem.
Knowledge of Fortran or C/C++. Elementary notions of Linux/Unix.
Knowledge of computing architecture
Experience in running HPC applications or systems Basic knowledge of parallel programming OpenMP and/or MPI.