HPCTOOLKIT: tools for performance analysis of optimized parallel programs http://hpctoolkit.org

HPCTOOLKIT: tools for performance analysis of optimized parallel programs http://hpctoolkit.org
复制标题

HPCTOOLKIT:优化并行程序性能分析工具 http://hpctoolkit.org

DOI:
--
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
Nathan R. Tallent
Nathan R. Tallent
中科院分区:
--
文献类型:
--
作者:
L. Adhianto;S. Banerjee;Mike Fagan;Mark W. Krentel;Gabriel Marin;J. Mellor;Nathan R. Tallent

文献摘要

被引文献

相似文献

随着高性能计算向异构、大规模并行系统的演变,并行应用程序开发了新的检查点和重启必需品。无论是由于执行失败,还是由于应用程序进程迁移到不同的机器,检查点工具都必须能够在异类环境中运行。然而,并行应用程序处理的某些数据并不是真正可移植的。这些示例包括不透明状态(例如,用于通信支持的数据结构)或单个特征的接口多样性(例如,通信、I-O)。直接操作底层的即席表示会导致检查点工具无法在不同的环境中工作。可移植的检查点通常以透明度为代价来解决可移植性问题:用户必须提供诸如需要存储什么数据、将它们存储在哪里或在哪里设置检查点等信息。CPPC(可移植检查点编译器)是一个检查点工具,旨在同时具有可移植性和透明性。它由一个库和一个编译器组成。CPPC库包含使用可移植代码和协议的可变级别检查点的例程。CPPC编译器将用户从耗时的任务中解脱出来,例如数据流和通信分析,并添加检测代码,从而帮助实现透明性。本文介绍了CPPC库的操作及其对编译器的支持。文中给出了使用基准测试程序和大型真实应用程序的实验结果,展示了可用性、效率和可移植性。版权所有©2009 John Wiley&Sons,Ltd.
With the evolution of high-performance computing toward heterogeneous, massively parallel systems, parallel applications have developed new checkpoint and restart necessities. Whether due to a failure in the execution or to a migration of the application processes to different machines, checkpointing tools must be able to operate in heterogeneous environments. However, some of the data manipulated by a parallel application are not truly portable. Examples of these include opaque state (e.g. data structures for communications support) or diversity of interfaces for a single feature (e.g. communications, I-O). Directly manipulating the underlying ad hoc representations renders checkpointing tools unable to work on different environments. Portable checkpointers usually work around portability issues at the cost of transparency: the user must provide information such as what data need to be stored, where to store them, or where to checkpoint. CPPC (ComPiler for Portable Checkpointing) is a checkpointing tool designed to feature both portability and transparency. It is made up of a library and a compiler. The CPPC library contains routines for variable level checkpointing, using portable code and protocols. The CPPC compiler helps to achieve transparency by relieving the user from time-consuming tasks, such as data flow and communications analyses and adding instrumentation code. This paper covers both the operation of the CPPC library and its compiler support. Experimental results using benchmarks and large-scale real applications are included, demonstrating usability, efficiency, and portability. Copyright © 2009 John Wiley & Sons, Ltd.