Leveraging Graph Analysis to Pinpoint Root Causes of Scalability Issues for Parallel Applications
It is challenging to scale parallel applications to modern supercomputers because of load imbalance, resource contention, and communications between processes. Profiling and tracing are two main performance analysis approaches for detecting these scalability bottlenecks. Profiling is low-cost but lacks detailed dependence for identifying root causes. Tracing records plentiful information but incurs significant overheads. To address these issues, we present <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">ScalAna</small>, which employs static analysis techniques to combine the benefits of profiling and tracing - it enables tracing's analyzability with overhead similar to profiling. <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">ScalAna</small> uses static analysis to capture program structures and data dependence of parallel applications, and leverages lightweight profiling approaches to record performance data during runtime. Then a parallel performance graph is generated with both static and dynamic data. Based on this graph, we design a backtracking detection approach to automatically pinpoint the root causes of scaling issues. We evaluate the efficacy and efficiency of <sc xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">ScalAna</small> using several real applications with up to 704K lines of code and demonstrate that our approach can effectively pinpoint the root causes of scaling loss with an average overhead of 5.65% for up to 16,384 processes. By fixing the root causes detected by our tool, it achieves up to 33.01% performance improvement.
Authors
- Xiongchao Tang (ORCID: https://orcid.org/0000-0002-1692-3964)
- Torsten Hoefler (ORCID: https://orcid.org/0000-0002-1333-9797)
- Zhenhua Guo (ORCID: https://orcid.org/0000-0002-1303-6681)
- Yuyang Jin (ORCID: https://orcid.org/0000-0003-2358-3395)
- Jidong Zhai (ORCID: https://orcid.org/0000-0002-7656-6428)
- Xu Liu (ORCID: https://orcid.org/0000-0002-8984-5485)
- Tao Liu (ORCID: https://orcid.org/0000-0002-9653-4108)
- Haojie Wang (ORCID: https://orcid.org/0000-0003-4605-148X)
- Yaqian Zhao (ORCID: https://orcid.org/0000-0002-9170-0090)
Institutions
- North Carolina State University (US)
- Qilu University of Technology (CN)
- ETH Zurich (CH)
- Jingdong (China) (CN)
- Shandong Academy of Sciences (CN)
- Inspur (China) (CN)
- Tsinghua University (CN)
Publication Details
- Journal
- IEEE Transactions on Parallel and Distributed Systems
- Published
- 2024-10-24
- DOI
- https://doi.org/10.1109/tpds.2024.3485789
- Citations
- 1
- Primary Topic
- Graph Theory and Algorithms
- Type
- article
- Field-Weighted Citation Impact
- 0.25