SC21 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Controlling the Runtime Overhead of Python Monitoring with Selective Instrumentation


Workshop:ProTools 2021: Workshop on Programming and Performance Visualization Tools

Authors: Andreas Gocht-Zech, Alexander Grund, and Robert Schöne (Technical University Dresden; Center for Information Services and High Performance Computing, Germany)


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.





Back to ProTools 2021: Workshop on Programming and Performance Visualization Tools Archive Listing



Back to Full Workshop Archive Listing