NHR PerfLab Seminar: Configuration-Aware Performance Analysis (February 14, online)
Speaker: Florian Sattler, Chair of Software Engineering, Saarland University
Title: Configuration-Aware Performance Analysis
Date and time: Tuesday, February 14, 2:00 p.m. – 3:00 p.m. CET
In high-performance computing, researchers often use feature-rich software frameworks, such as DUNE, to simulate physical, chemical, and biological processes. Users benefit from using such frameworks, since they offer a diverse range of different features, where some are better suited than others for the simulation of the respective process. This means that, although some features might produce the same results for a process, there might be considerable performance differences between alternatives (e.g., using a YaspGrid compared to an UGGrid). Hence, choosing the right feature selection has a prominent impact on how fast a simulation runs. Making matters worse, the performance characteristics of a feature can change over time, so the identified performance-optimal configuration in one release might not be the performance-optimal configuration in another release. Thus, further performance measurements have to be conducted repeatedly for new releases to identify possible performance regressions and find the current performance-optimal configuration.
In this talk, we propose a joint approach that utilizes black-box and white-box performance analysis to identify feature performance changes and help users pinpoint feature-specific performance regressions in their code. In short, our approach starts with coarse-grained black-box analysis, assisted by feature-focused sampling algorithms, to determine feature performance regressions between framework releases. Guided by this information, our white-box analysis can then instrument the potentially regressing feature code in the target application with arbitrary measurement code, enabling the practitioner to get feature-specific performance data. The feature-specific measurements then give insights into what features changed and how this affects the target application.
With these insights developers then can address performance regressions directly, but they can also be utilized by users to find another performance-optimal configuration for the given process or identify feature-specific hotspots in their code.
Florian Sattler is a PhD student at the Chair of Software Engineering at Saarland University, Germany. His research interests include performance analysis, software evolution, and compiler technologies. Florian’s research work is supported by the German Research Foundation DFG within the project Pervolution. In his spare time, he likes to program and hack on compilers like LLVM and V8. Florian, as a member of the C++ committee, is also passionate about teaching C++ and improving the language’s teachability.
For a list of past and upcoming NHR PerfLab seminar events, see: https://hpc.fau.de/research/nhr-perflab-seminar-series/