古斯塔夫森的法律与阿姆达尔定律

时间:2016-01-20 21:10:06

标签: parallel-processing cuda

我知道Amdahl定律和并行程序的最大加速。但我无法正确研究古斯塔夫森定律。什么是Gustafson定律,Amdahl和Gustafson定律之间有什么区别?

3 个答案:

答案 0 :(得分:20)

Amdahl定律

假设您有一个顺序代码,并且其计算的一小部分f被并行化并在并行工作的N处理单元上运行,而剩余的分数1-f无法改进,即,它不能并行化。 Amdahl定律指出并行化实现的加速是

enter image description here

Gustafson定律

Amdahl的观点主要集中在固定计算问题的大小上,因为它处理的代码占用了固定数量的连续计算时间。 Gustafson的反对意见是大规模并行机器允许以前不可行的计算,因为它们能够在固定的时间内对非常大的数据集进行计算。换句话说,并行平台不仅可以加速代码的执行,还可以处理更大的问题。

假设您有一个应用程序需要在ts处理单元上执行时间N。在该计算时间内,必须按顺序运行分数(1-f)。因此,此应用程序将在时间t等于

的时间内在完全顺序的机器上运行

enter image description here

如果我们增加问题大小,我们可以增加处理单元的数量,以保持代码并行执行的时间部分等于f·ts。在这种情况下,顺序执行时间随N增加,现在成为问题大小的度量。然后加速成为

enter image description here

效率将是

enter image description here

因此效率往往会增加N。 这些相当乐观的加速和效率评估的缺陷与以下事实有关:随着问题规模的增加,通信成本将增加,但通信成本的增加不是由Gustafson定律解释的。

<强>参考

-G。 Barlas,多核和GPU编程:综合方法,Morgan Kaufmann

M.D。 Hill,M.R。Marty,Amdahl在多核时代的定律,计算机,第一卷。 41,n。 7,pp.33-38,2008年7月。

<强> GPGPU

关于适用于通用图形处理单元的Amdahl定律,有一些有趣的讨论,见

Amdahl's law and GPU Amdahl's Law for GPU Is Amdahl's law accepted for GPUs too?

答案 1 :(得分:2)

我们从不同的角度看待同样的问题。 Amdahl的法律规定,如果你有100多个CPU,你能解决同样的问题多快多少?

Gustafson的法律规定,如果一台拥有100个CPU的并行计算机可以在30分钟内解决这个问题,那么只有一个这样的CPU的计算机需要多长时间才能解决同样的问题?

古斯塔夫森的法律更好地反映了情况。例如,我们不能使用20年前的PC来播放今天的大部分电视游戏,因为它们太慢了。

答案 2 :(得分:1)

阿姆达尔定律

通常,如果不可能将一小部分f划分为多个平行部分,则整个事物的并行速度只能提高 1 / f 倍。那就是阿姆达尔定律。

古斯塔夫森定律

通常,对于p个参与者和不可比的分数f,整个过程可以快 p +(1-p)f 倍。那是古斯塔夫森定律