QUICK REVIEW
[论文解读] Towards Autotuning of OpenMP Applications on Multicore Architectures
Jakub Katarzynski, Maciej Cytowski|arXiv (Cornell University)|Jan 16, 2014
Parallel Computing and Optimization Techniques参考文献 4被引用 7
一句话总结
本文提出 PdtTagger,一种自动调优工具,可自动对 OpenMP 源代码进行插桩以测量硬件性能计数器和执行时间,从而实现对每个并行区域最优线程数的动态选择。通过将性能计数器数据与线程可扩展性相关联,该工具支持在 IBM Power775 系统上的混合 MPI+OpenMP 工作负载中实现自动、应用感知的线程优化。
ABSTRACT
In this paper we describe an autotuning tool for optimization of OpenMP applications on highly multicore and multithreaded architectures. Our work was motivated by in-depth performance analysis of scientific applications and synthetic benchmarks on IBM Power 775 architecture. The tool provides an automatic code instrumentation of OpenMP parallel regions. Based on measurement of chosen hardware performance counters the tool decides on the number of parallel threads that should be used for execution of chosen code fragments.
研究动机与目标
- 解决在高度多核架构上 OpenMP 应用中线程数选择不理想的问题。
- 克服现有二进制插桩工具(如 hpctInst)缺乏源级控制且受限于特定编译器的局限性。
- 基于运行时性能反馈,实现混合 MPI+OpenMP 应用中每个区域的自动线程数优化。
- 开发一个可扩展的自动调优框架,利用 POWER 架构上的硬件性能计数器支持详细的性能分析。
- 通过自动插桩和运行时决策,促进科学 HPC 工作负载中自适应线程管理的部署。
提出的方法
- 使用程序数据库工具包(PDT)解析源代码,并构建程序结构的结构化表示。
- 通过在选定的 OpenMP 并行区域的开始和结束处插入库调用,对源代码进行插桩以标记区域边界。
- 将插桩后的应用程序与自定义库链接,通过 IBM 的 libhpm 接口测量执行时间和硬件性能计数器。
- 收集包括事件计数(如缓存未命中、指令吞吐量)和每个线程及区域的执行时间在内的性能数据。
- 通过环境变量(如 HPM_VIZ_OUTPUT)支持多种输出格式(例如 hpm、viz),以供后续处理和可视化。
- 通过 pmapi 库与运行时性能监控集成,支持基于实时计数器分析的动态线程数自适应决策。
实验结果
研究问题
- RQ1在 POWER 架构上的 OpenMP 应用中,哪些硬件性能计数器与线程可扩展性相关性最强?
- RQ2能否基于运行时性能计数器数据,构建一个数据驱动的启发式方法(例如决策树),以自动推荐每个 OpenMP 区域的最优线程数?
- RQ3在 IBM Power775 系统上,科学和合成基准程序在不同 SMT 模式(SMT2、SMT4)下的性能表现如何?
- RQ4在自动调优方面,源级插桩在灵活性和控制力方面相较于二进制级插桩有多大优势?
- RQ5与全局 OMP_NUM_THREADS 设置相比,基于区域特定性能数据的自动调优能否显著提升混合 MPI+OpenMP 工作负载的整体应用性能?
主要发现
- SMT 模式带来的性能提升因应用类型而异,吞吐量导向的工作负载在较高 SMT 级别下受益最大。
- 内存密集型应用在 SMT4 下常因内存带宽竞争和缓存压力而性能下降。
- PdtTagger 工具成功对 C 代码中的 OpenMP 区域进行了插桩,并准确收集了执行时间和硬件性能计数器数据。
- 通过 PdtTagger 插桩可实现对单个 OpenMP 区域的详细剖析,包括每个线程的执行时间与事件计数。
- 该工具通过为每个 MPI 进程和每个 OpenMP 区域生成独立的性能分析报告,支持混合 MPI+OpenMP 应用。
- 该框架具有可扩展性,可未来与决策库(如 pmapi)集成,以支持基于实时性能反馈的运行时线程数自适应。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。