Parallel processing 古斯塔夫森';s定律vs阿姆达尔';s定律
我知道阿姆达尔定律和并行程序的最大加速比。但是我不能正确地研究古斯塔夫森定律。什么是古斯塔夫森定律?阿姆达尔定律和古斯塔夫森定律有什么区别?阿姆达尔定律 假设您有一个顺序代码,并且其计算的一部分Parallel processing 古斯塔夫森';s定律vs阿姆达尔';s定律,parallel-processing,cuda,Parallel Processing,Cuda,我知道阿姆达尔定律和并行程序的最大加速比。但是我不能正确地研究古斯塔夫森定律。什么是古斯塔夫森定律?阿姆达尔定律和古斯塔夫森定律有什么区别?阿姆达尔定律 假设您有一个顺序代码,并且其计算的一部分f被并行化,并在并行工作的N处理单元上运行,而剩余部分1-f无法改进,即无法并行化。阿姆达尔定律指出,通过并行化实现的加速是 古斯塔夫森定律 Amdahl的观点集中在一个固定的计算问题上,因为它处理的代码占用固定的顺序计算时间。Gustafson的反对意见是,大规模并行计算机允许以前不可行的计算,因为它
f
被并行化,并在并行工作的N
处理单元上运行,而剩余部分1-f
无法改进,即无法并行化。阿姆达尔定律指出,通过并行化实现的加速是
古斯塔夫森定律
Amdahl的观点集中在一个固定的计算问题上,因为它处理的代码占用固定的顺序计算时间。Gustafson的反对意见是,大规模并行计算机允许以前不可行的计算,因为它们可以在固定的时间内对非常大的数据集进行计算。换句话说,并行平台的作用不仅仅是加速代码的执行:它能够处理更大的问题
假设应用程序在N
处理单元上执行的时间ts
。在计算时间中,必须按顺序运行一部分(1-f)
。因此,此应用程序将在一台完全顺序的机器上运行,时间t
等于
如果我们增加问题的大小,我们可以增加处理单元的数量,以使代码并行执行的时间部分等于f·ts
。在这种情况下,顺序执行时间随着N
的增加而增加,这现在成为问题大小的度量。然后,加速变为
这样效率就会提高
因此,随着N
的增加,效率趋于f。
这些相当乐观的加速和效率评估的缺陷与这样一个事实有关:随着问题规模的增加,通信成本将增加,但古斯塔夫森定律并未考虑通信成本的增加
参考资料
G.Barlas,《多核和GPU编程:综合方法》,Morgan Kaufmann
M.D.希尔,M.R.马蒂,《多核时代的阿姆达尔定律》,计算机,第41卷,n。2008年7月,第33-38页
GPGPU
对于应用于通用图形处理单元的阿姆达尔定律,有一些有趣的讨论,请参见
我们从不同的角度看待同一个问题。阿姆达尔定律说,如果你有,比如说,100多个CPU,你能以多快的速度解决同样的问题 古斯塔夫森定律是说,如果一台拥有100个CPU的并行计算机可以在30分钟内解决这个问题,那么一台只有一个CPU的计算机解决同样的问题需要多长时间
古斯塔夫森定律更好地反映了这种情况。例如,我们不能用一台20年前的电脑来玩今天的大多数视频游戏,因为它们太慢了。阿姆达尔定律 一般来说,如果一个作业的一小部分f不可能分成平行的部分,那么整个作业的并行速度只能提高1/f。这就是阿姆达尔定律 古斯塔夫森定律 一般来说,对于p参与者,以及不可并行的分数f,整个事情可以得到p+(1)−p) f快几倍。这就是古斯塔夫森定律