- Conference Paper
Rights / licenseIn Copyright - Non-Commercial Use Permitted
Scaling a parallel program to modern supercomputers is challenging due to inter-process communication, Amdahl's law, and resource contention. Performance analysis tools for finding such scaling bottlenecks either base on profiling or tracing. Profiling incurs low overheads but does not capture detailed dependencies needed for root-cause analysis. Tracing collects all information at prohibitive overheads. In this work, we design SCALANA that uses static analysis techniques to achieve the best of both worlds - it enables the analyzability of traces at a cost similar to profiling. SCALANA first leverages static compiler techniques to build a Program Structure Graph, which records the main computation and communication patterns as well as the program's control structures. At runtime, we adopt lightweight techniques to collect performance data according to the graph structure and generate a Program Performance Graph. With this graph, we propose a novel approach, called backtracking root cause detection, which can automatically and efficiently detect the root cause of scaling loss. We evaluate SCALANA with real applications. Results show that our approach can effectively locate the root cause of scaling loss for real applications and incurs 1.73parcent overhead on average for up to 2,048 processes. We achieve up to 11.11parcent performance improvement by fixing the root causes detected by SCALANA on 2,048 processes. © 2020 IEEE Show more
Book titleSC20: International Conference for High Performance Computing, Networking, Storage and Analysis
Pages / Article No.
SubjectPerformance analysis; Scalability Bottleneck; Root-Cause Detection; Static Analysis
Organisational unit03950 - Hoefler, Torsten / Hoefler, Torsten
NotesConference lecture held on November 17, 2020. Due to the Corona virus (COVID-19) the conference was conducted virtually.
MoreShow all metadata