深入探索 STAPL pView:特性、优化与性能分析
1. 引言
在并行编程领域,如何在保证代码表达性的同时提升性能是一个关键问题。pView 作为一种高级概念,为程序员提供了更具表达性的编程方式,同时隐藏了部分并行编程的细节。本文将详细介绍 pView 的特性、优化方法以及通过实验对比其与传统 C++ MPI 程序的性能表现。
2. pView 基础特性
- 平衡分区 :平衡 pView 可将数据集划分为用户指定数量的块,各块大小差异至多为 1。这种分区方式有助于在并行计算中平衡工作量。例如,若有一个包含 10 个元素的数据集,要将其划分为 3 块,那么可能的划分是 3、3、4。
- 优化策略
- 减少间接引用链 :pView 的重复组合可能导致间接数据引用链增加。但在某些情况下,如映射函数 F 是静态已知且具有相对简单的封闭形式表达式时,可将间接引用链减少为 1。例如,组合恒等函数会得到另一个恒等函数,将任意函数 F 与恒等函数组合仍为 F。
- 内存引用本地化 :pView 能确定连续引用的哪些部分是本地的(在同一地址空间内),从而使用更简单、更快的机制引用本地数据。
3. 实验设置
为了研究 pView 的表达性与性能之间的权衡,进行了一系列实验。实验在两种架构上进行:
- 德克萨斯 A&M 大学的 832 处理器 IBM 集群(P5
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



