Improving Profiling Tools for Performance Analysis Using Lightweight Instrumentation
Einleitung
Building upon the foundational work from the previous year, our research continued to evolve, focusing on enhancing tools and methodologies for performance analysis and optimization, particularly in the context of high-performance computing (HPC). Our efforts were driven by the need to ensure that HPC applications can efficiently utilize advanced computing architectures, minimizing their computational footprint and enabling large-scale computations. The core of our research involved advancing several in-house software tools for performance analysis developed at the Institute for Scientific Computing. These tools play a critical role in analyzing and optimizing the performance of complex HPC applications.
Methoden
Our research this year centered on the development and refinement of performance analysis tools, with a particular emphasis on automating instrumentation configuration. Traditionally, generating instrumentation configurations required a manual, iterative process. Our approach leveraged overhead-guided strategies to automate this process, reducing the time and effort involved while improving the accuracy of performance data collection. The development and validation of these tools required access to HPC machines, providing a real-world environment for testing their scalability and effectiveness.
Ergebnisse
The primary outcome of this research is encapsulated in a paper currently under review, titled ”FLIP the Switch: Lightweight Instrumentation for Automatic, Overhead-aware Application Profiling”. The introduction of the paper highlights the importance of performance analysis in ensuring that HPC applications can efficiently utilize hardware resources. It discusses the challenges introduced by continuous feature updates and transitions to new hardware platforms, which can lead to performance regressions. The paper emphasizes the need for automated instrumentation to streamline the performance analysis workflow. We introduce FLIP, a lightweight profiler based on LLVM instrumentation, designed for low-overhead measurements. FLIP’s profiles, while less detailed than those of established HPC profilers, facilitate the creation of survey measurements without the need for configuring a filter list. We demonstrated the practicality of FLIP’s instrumentation by presenting an approach to generate an instrumentation filter for Score-P instrumentation based on a FLIP profile and a static call graph of the target application. We extended the CaPI tool to generate instrumentation filters that maximize measurement coverage and adhere to a user-defined overhead target, without reliance on a full Score-P profile or iterative refinement. Finally, we evaluated FLIP and the instrumentation selection on two large HPC applications, OpenFOAM (C++) and ICON (Fortran), as well as several HPC proxy apps. Our results showed that FLIP profiles provide a comprehensive and accurate representation of an execution, while measurement overhead remains below 10% for all but one benchmark, and demonstrated that our instrumentation selection approach is capable of configuring Score-P measurements so that their profiling overhead lies within a few percent of the user-provided target.
Diskussion
Looking ahead, future research will continue along two main trajectories. First, we aim to further enhance our in-house performance analysis tools, particularly by incorporating features optimized for modern HPC hardware such as GPUs. Second, we plan to expand our applied research collaborations, focusing on performance optimization in emerging scientific applications.