并行计算(三):并行计算效能的评估

一、加速比(speedup factor):S§=Ts/Tp
Ts为最优顺序算法的执行时间;Tp为使用p个处理器并行计算所花费的时间。
不能达到最佳效果(理论值)的原因:
1.不是每一部分的计算都能够并行优化
2.在并行化的过程在可能需要额外的计算或操作(如同步造成的开销)
3.进程间通信需要时间(这常常是主要原因)

二、系统效率(system efficiency)
为了将处理器的数量纳入评估,对加速比进行改进:E§ = Ts/(p*Tp) = (S§/p)*100%绘制如下图形:
并行计算(三):并行计算效能的评估

三、strong scaling & weak scaling
1.strong scaling: 使问题规模保持不变,增加处理器数量,用于找到解该问题最合适的处理器数量。即所用时间尽可能短而又不产生太大的开销。绘制如下图形:
并行计算(三):并行计算效能的评估
2.weak scaling: 让问题规模(计算量)随处理器数量增加而增加。理想情况:
并行计算(三):并行计算效能的评估
strong scaling的结果较难达到,因为随着处理器数量的增加通信开销成比例上升;而weak scaling的结果较容易达到。

四、时间复杂度分析
并行计算(三):并行计算效能的评估
计算Tcomp 时只要考虑一台计算机或一个处理器的计算时间。