并行程序性能分析与能耗测量
1 并行程序性能指标
1.1 强缩放与弱缩放
在并行程序性能分析中,强缩放和弱缩放是两个重要的概念。强缩放是指在固定问题规模的情况下,研究并行程序的性能表现。例如,对于公式 (Sp(n) = \frac{T_{seq}(n)}{T_{seq}(n)/p + a \cdot n \cdot \log p})(固定 (n = 10000)),通信时间对加速比饱和有很大影响。当通信开销系数 (a) 较大时,加速比饱和现象会较早出现;而当通信时间与处理器数量呈对数依赖关系时,饱和现象出现较晚。这表明可以通过将昂贵的通信操作(与 (p) 呈线性关系)替换为较便宜的通信操作(与 (p) 呈对数关系)来显著影响加速比行为。
弱缩放则是在问题规模随使用的资源数量成比例增加的情况下,研究并行程序的性能。在这种情况下,每个资源的工作量保持不变,理想情况下,即使问题规模增加,并行执行时间也保持不变。由于顺序执行时间也会因问题规模增加而增加,加速比可能会随使用的资源数量线性增加。然而,根据通信组织方式的不同,增加资源数量可能会增加通信开销,导致加速比不再线性增长,出现饱和现象,但通常不如强缩放情况下显著。
1.2 古斯塔夫森定律
阿姆达尔定律假设顺序部分的比例在问题规模增加时保持不变,因此无法准确描述问题规模或工作量增加时的加速比。古斯塔夫森定律是对阿姆达尔定律的扩展,用于表达工作量增加时的加速比。该定律基于并行执行时间由顺序部分 (f_{seq}) 和并行部分 (f_{par}) 组成((f_{seq} + f_{par} = 1))的假设。
假设问题规模为 (n) 时的计算工作量为 (W(n)),单位计算
超级会员免费看
订阅专栏 解锁全文

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



