ParLoT: Efficient Whole-Program Call Tracing for HPC Applications

ParLoT: Efficient Whole-Program Call Tracing for HPC Applications
复制标题

ParLoT:HPC 应用程序的高效全程序调用跟踪

DOI:
10.1007/978-3-030-17872-7_10
复制
发表时间:
2017
期刊:
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
影响因子:
--
通讯作者:
Martin Burtscher
Martin Burtscher
中科院分区:
--
文献类型:
--
作者:
Saeed Taheri;Sindhu Devale;G. Gopalakrishnan;Martin Burtscher

文献摘要

被引文献

相似文献

HPC软件和硬件的复杂性正在迅速增加。结果,有效执行追踪以深入了解HPC应用行为的需求正在稳步增长。不幸的是,可用的工具要么没有产生带有足够细节的轨迹,要么会产生大型开销。因此,迫切需要一种有效的跟踪方法,可以克服最大信息和最小开销之间的权衡。本文提出了一种称为Parlot的方法和工具,并具有以下关键功能。 (1)它描述了一种使整个程序呼叫轨迹的高空压缩可行的技术。 (2)它提出了一种新的,有效的,增量的痕量压缩方法,该方法动态地降低了痕量体积,这不仅降低了所需的带宽,还可以降低示意图的开销。 (3)它收集所有呼叫者/callee关系,调用频率,呼叫堆栈以及每个线程执行的所有呼叫和返回的完整跟踪,包括库代码。 (4)它在现有的动态二进制仪器工具之上起作用,因此不需要源代码修改也不需要重新编译。 (5)它支持线程,线程组和程序级别的程序分析和调试。本文确定可比较的功能目前不可用。我们对在彗星超级计算机上运行的NAS并行基准测试的实验,最多1,024个核心表明,parlot可以以平均图形带宽为每核56 kb/s,以收集全程函数曲线。
The complexity of HPC software and hardware is quickly increasing. As a consequence, the need for efficient execution tracing to gain insight into HPC application behavior is steadily growing. Unfortunately, available tools either do not produce traces with enough detail or incur large overheads. An efficient tracing method that overcomes the tradeoff between maximum information and minimum overhead is therefore urgently needed. This paper presents such a method and tool, called ParLoT, with the following key features. (1) It describes a technique that makes low-overhead on-the-fly compression of whole-program call traces feasible. (2) It presents a new, efficient, incremental trace-compression approach that reduces the trace volume dynamically, which lowers not only the needed bandwidth but also the tracing overhead. (3) It collects all caller/callee relations, call frequencies, call stacks, as well as the full trace of all calls and returns executed by each thread, including in library code. (4) It works on top of existing dynamic binary instrumentation tools, thus requiring neither source-code modifications nor recompilation. (5) It supports program analysis and debugging at the thread, thread-group, and program level. This paper establishes that comparable capabilities are currently unavailable. Our experiments with the NAS parallel benchmarks running on the Comet supercomputer with up to 1,024 cores show that ParLoT can collect whole-program function-call traces at an average tracing bandwidth of just 56 kB/s per core.