
-
生物通官微
陪你抓住生命科技
跳动的脉搏
高性能计算应用中依赖任务性能的精准测量与分析方法POT工具套件研究
【字体: 大 中 小 】 时间:2025年06月13日 来源:Future Generation Computer Systems 6.2
编辑推荐:
本文针对高性能计算(HPC)应用中依赖任务性能分析工具的缺失问题,提出了POT工具套件。研究人员通过建立OpenMP 6.0任务的转移系统模型,开发了基于离散事件追踪和事后模拟的低干扰分析方法,支持OMPT、PMPI和pthreads事件分析。实验表明,当任务负载超过16μs时测量偏差可忽略,该工具可跨架构和OpenMP运行时系统使用,为MPI+OpenMP混合编程模型分析提供了新方法,填补了依赖任务性能分析工具的空白。
随着超级计算机向大规模并行和异构架构发展,如何有效利用异步执行能力成为关键挑战。混合编程模型通过依赖任务(dependent tasks)实现细粒度工作负载同步,自2013年起被纳入OpenMP标准。然而,这类应用的性能分析面临严峻挑战:现有工具无法准确测量依赖任务下的并行时间分解,导致性能评估和优化缺乏可靠依据。特别是在混合MPI+OpenMP等编程模型时,缺乏标准工具进行综合分析,这严重制约了依赖任务在HPC领域的广泛应用。
针对这一技术瓶颈,研究人员开发了POT(Parallel Object Tracing)工具套件。这项创新性研究通过建立严格的数学定义和编程模型仿真方法,实现了依赖任务环境下工作(work)、空闲(idleness)和开销(overheads)时间的精确分解。相关成果发表在《Future Generation Computer Systems》期刊,为HPC应用性能分析提供了新范式。
研究团队采用了三项关键技术方法:1) 将OpenMP 6.0任务建模为转移系统(transition system),通过OMPT接口捕获10种关键事件;2) 基于离散事件追踪的低干扰记录方法,使用clock_gettime(CLOCK_BOOTTIME)时间戳,单次调用仅16ns开销;3) 事后模拟分析框架,通过15种可组合的分析passes重构执行状态。实验在Intel Xeon Gold 6130和AMD EPYC 7352平台验证,使用BOTS和KASTORS基准测试套件评估。
在"Definitions for idleness and overheads"部分,研究首先形式化定义了处理单元集合P上的并行空闲和开销指标。通过任务有向无环图(V,E)建模,引入δr
(t)和δw
(p,t)函数分别表示就绪任务存在性和处理单元工作状态,将非工作时间分解为公式(3)开销和公式(4)空闲。这种定义克服了现有方法如HPX仅考虑非工作时间的局限。
"POT工具套件"章节详细介绍了其架构设计。系统遵循两大原则:1) 回调仅记录事件;2) 仅执行线程本地操作。内核使用每线程用户空间虚拟内存缓冲(8-64字节/事件)减少页错误。模拟器通过算法1顺序重放事件,支持15种分析passes的有序组合。OpenMP分析特别关注任务状态转换(图2),通过omp pass跟踪①→⑤状态变迁,time-breakdown pass计算δr
和δw
的离散积分。
"评估"部分显示,在负载均衡微基准测试中(图4),当任务粒度g≥16μs时测量误差<3%。LLVM和MPC-OMP运行时在Intel/AMD平台表现一致。LULESH案例研究(图5)展示了21线程88任务/循环的LL(低空闲低开销)最优配置,而HH(双高)情况揭示了任务依赖图发现的性能瓶颈。MPI扩展实验(图7)表明,分区通信(partitioned communications)在P=1024时重叠率达50%以上,优于传统P:1(0%)和P:P(90%)模式。
研究结论指出,POT首次实现了依赖任务程序的精确时间分解,测量偏差在合理任务粒度下可忽略。其创新性体现在:1) 形式化定义了依赖任务环境下的并行指标;2) OpenMP任务转移系统建模方法;3) 可扩展的混合编程模型分析框架。Cholesky分解实验(表5)证明,早期通信调度策略(early-bird)可降低6.62s空闲时间,验证了工具对优化策略的指导价值。
这项工作对HPC性能分析领域具有多重意义:为依赖任务编程提供了首个标准化的性能评估方法;其低干扰设计(平均仅1.02倍减速)支持生产环境使用;模块化架构便于扩展新的编程模型和硬件计数器支持。未来通过添加NIC活动监控和GPU支持,POT有望成为异构计算性能分析的统一平台。
生物通微信公众号
知名企业招聘