arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2009.01692cs.PF
收藏

ScalAna:使用图形分析自动化缩放损失检测

ScalAna: Automating Scaling Loss Detection with Graph Analysis

Yuyang Jin, Haojie Wang, Teng Yu, Xiongchao Tang, Torsten Hoefler, Xu Liu, Jidong Zhai

摘要:

由于进程间通信、Amdahl定律和资源争用,将并行程序扩展到现代超级计算机具有挑战性。性能分析工具可以基于分析或跟踪来发现这种扩展瓶颈。性能分析的开销很低,但无法捕获根本原因分析所需的详细依赖关系。追踪以高昂的开销收集所有信息。在这项工作中,我们设计了ScalAna,它使用静态分析技术来实现两全其美-它以类似于分析的成本实现了跟踪的可分析性。ScalAna首先利用静态编译器技术来构建程序结构图,它记录了主要的计算和通信模式以及程序的控制结构。在运行时,我们采用轻量级的技术来收集性能数据,根据图的结构,并生成一个程序性能图。有了这个图,我们提出了一种新的方法,称为回溯根本原因检测,它可以自动有效地检测缩放损失的根本原因。我们用实际应用程序来评估ScalAna。结果表明,我们的方法可以有效地找到真正的应用程序的伸缩损失的根本原因,并产生高达2,048个进程的平均1.73%的开销。通过修复ScalAna在2,048个进程上检测到的根本原因,我们实现了高达11.11%的性能提升。

英文摘要:

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.73% overhead on average for up to 2,048 processes. We achieve up to 11.11% performance improvement by fixing the root causes detected by ScalAna on 2,048 processes.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑