Abstract
State of the art performance analysis tools, such as Score-P, record performance profoles on a per-thread basis. However, for exascale systems the number of threads is expected to be in the order of a billion threads, and this would result in extremely large performance profioles. In most cases the user almost never inspects the individual per-thread data. In this paper, we propose to aggregate per-thread performance data in each process to reduce its amount to a reasonable size. Our goal is to aggregate the threads such that the thread-level performance issues are still visible and analyzable. Therefore, we implemented four aggregation strategies in Score-P: (i) SUM-aggregates all threads of a process into a process profile; (ii) SET-calculates statistical key data as well as the sum; (iii) KEY-identifies three threads (i.e., key threads) of particular interest for performance analysis and aggregates the rest of the threads; (iv) CALLTREE-clusters threads that have the same call-tree structure. For each one of these strategies we evaluate the compression ratio and how they maintain thread-level performance behavior information. The aggregation does not incur any additional performance overhead at application run-time.
Author supplied keywords
Cite
CITATION STYLE
Lorenz, D., Shudler, S., & Wolf, F. (2015). Preventing the explosion of exascale profile data with smart thread-level aggregation. In Proceedings of ESPT 2015: 4th Workshop on Extreme Scale Programming Tools - Held in conjunction with SC 2015: The International Conference for High Performance Computing, Networking, Storage and Analysis. Association for Computing Machinery, Inc. https://doi.org/10.1145/2832106.2832107
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.