Generic Library Interception for Improved Performance Measurement and Insight
This work addresses performance analysis challenges for developers and researchers dealing with complex applications, though it appears incremental as it builds on existing Score-P infrastructure.
The paper tackles the difficulty of understanding and debugging application performance due to increasing complexity in libraries and hardware by presenting a generic library interception approach in Score-P, which enables detailed insight into library usage, interactions, and timing.
As applications grow in capability, they also grow in complexity. This complexity in turn gets pushed into modules and libraries. In addition, hardware configurations become increasingly elaborate, too. These two trends make understanding, debugging and analyzing the performance of applications more and more difficult. To enable detailed insight into library usage of applications, we present an approach and implementation in Score-P that supports intuitive and robust creation of wrappers for arbitrary C/C++ libraries. Runtime analysis then uses these wrappers to keep track of how applications interact with libraries, how they interact with each other, and record the exact timing of their functions.