并行减速

并行减速(Parallel slowdown)是并行计算中的一种现象,当中并行算法的并行化超过一定程度后,会导致运行变慢(需要更多时间运行)。[1]

采用次优并行化的实际程序的运行时间(蓝)与程序加速(红)示意图。虚线表示最优并行化,速度线性增加,程序运行时间线性减少。注意,最终运行时间实际上会随处理器数量增加(速度提升会减少),这就是并行减速。

并行减速通常是通信瓶颈造成的。处理器节点花费在通信上的时间将随处理器数量的增加,逐渐超过有效的处理时间。增加处理器节点产生的通信开销一旦超过节点的处理能力,就产生了并行减速。

算法若需要大量通信、特别是中间结果的通信时,就会出现并行减速。有些问题(称作过易并行问题)不需要这类通信,因此不会受到并行减速影响。

参考文献

  1. ^ Kukanov, Alexey. Why a simple test can get parallel slowdown. 2008-03-04 [2015-02-15]. (原始内容存档于2017-02-15). 

另见