Controlling the Runtime Overhead of Python Monitoring with Selective Instrumentation

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung

Abstract

Within the last years, Python became more prominent in the scientific community and is now used for simulations, machine learning, and data analysis. All these tasks profit from parallelism and offloading. In the domain of High Performance Computing (HPC), we can look back to decades of experience exploiting the different levels of parallelism. By using performance analysis tools like Score-P, we support tuning applications and their parallelism for performance. The HPC community developed approaches to make this analysis as efficient as possible and reduce the overhead these tools introduced. However, the overhead introduced is still significant for complex Python applications, and the traditional compile-time filtering is not available in Python. Therefore, we come up with a selective instrumentation approach. Using some of Pythons concepts, we designed a powerful and intuitive alternative to compile-time filtering for Python. We finish with a small use case from a real-world machine learning application.

Details

OriginalspracheEnglisch
Titel2021 IEEE/ACM International Workshop on Programming and Performance Visualization Tools (ProTools)
Seitenumfang9
ISBN (elektronisch)9781665411103
PublikationsstatusVeröffentlicht - Nov. 2021
Peer-Review-StatusJa

Externe IDs

Scopus 85124484757
ORCID /0009-0003-0666-4166/work/151475586

Schlagworte

Schlagwörter

  • HPC, Instrumentation, Performance Analysis, Python