并行程序的性能分析与通信时间建模
1. 并行程序性能指标
1.1 并行程序的成本
并行程序的成本 $C_p(n)$ 定义为参与执行的每个处理器执行程序所花费的运行时间总和,即 $C_p(n) = p · T_p(n)$,其中 $p$ 是处理器数量,$T_p(n)$ 是并行执行时间。若 $C_p(n) = T^ (n)$($T^ (n)$ 是最快顺序程序的运行时间),则该并行程序为成本最优。用渐近执行时间表示,即 $T^*(n)/C_p(n) \in \Theta(1)$ 时为成本最优。
1.2 加速比
加速比 $S_p(n)$ 用于衡量并行程序相对于顺序程序的性能提升,定义为 $S_p(n) = \frac{T^ (n)}{T_p(n)}$,其中 $T^ (n)$ 是解决相同问题的最佳顺序实现的执行时间。理论上,$S_p(n) \leq p$ 总是成立。若 $S_p(n) > p$,可构造一个比用于计算加速比的顺序算法更快的新顺序算法,这与使用最佳顺序算法的假设矛盾。
然而,计算加速比时可能难以确定最佳顺序算法,原因如下:
- 最佳顺序算法可能未知,可能仅能确定问题解决方案执行时间的下限,但尚未构造出具有该渐近执行时间的算法。
- 存在具有最优渐近执行时间的算法,但在实际中,根据特定输入集的大小和特征,其他算法可能导致更低的执行时间。
- 导致最小执行时间的顺序算法实现起来需要很大的努力。
因此,加速比通常使用并行实现的顺序版本而非最佳顺序算法来计算。在实践中,有时会观察到超线性加速比($S_p(n) > p$),这通常是由于缓
并行程序性能与通信建模
超级会员免费看
订阅专栏 解锁全文
2498

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



