【发布时间】:2016-04-26 22:06:31
【问题描述】:
我知道阿姆达尔定律和并行程序的最大加速。但我无法正确研究古斯塔夫森定律。什么是古斯塔夫森定律,阿姆达尔定律和古斯塔夫森定律有什么区别?
【问题讨论】:
我知道阿姆达尔定律和并行程序的最大加速。但我无法正确研究古斯塔夫森定律。什么是古斯塔夫森定律,阿姆达尔定律和古斯塔夫森定律有什么区别?
【问题讨论】:
阿姆达尔定律
假设您有一个顺序代码,其计算的一部分f 被并行化并在并行工作的N 处理单元上运行,而剩余部分1-f 无法改进,即无法并行化. Amdahl 定律指出,并行化实现的加速是
古斯塔夫森定律
Amdahl 的观点侧重于固定的计算问题大小,因为它处理的代码占用固定的顺序计算时间。 Gustafson 的反对意见是大规模并行机器允许以前不可行的计算,因为它们可以在固定的时间内对非常大的数据集进行计算。换句话说,并行平台不仅仅可以加快代码的执行速度:它还可以处理更大的问题。
假设您有一个应用程序花费时间ts 在N 处理单元上执行。在该计算时间中,一部分(1-f) 必须按顺序运行。因此,此应用程序将在完全顺序的机器上运行 t 等于
如果我们增加问题大小,我们可以增加处理单元的数量,以保持代码并行执行的时间比例等于f·ts。在这种情况下,顺序执行时间随着N 的增加而增加,这现在成为问题大小的衡量标准。然后加速变为
效率会是
因此效率趋于 f 增加N。
这些相当乐观的加速和效率评估的缺陷与这样一个事实有关,即随着问题规模的增加,通信成本会增加,但古斯塔夫森定律并未考虑到通信成本的增加。
参考文献
G. Barlas,多核和 GPU 编程:一种集成方法,Morgan Kaufmann
医学博士Hill, M.R. Marty,多核时代的阿姆达尔定律,计算机,第一卷。 41,名词。 7,第 33-38 页,2008 年 7 月。
GPGPU
关于适用于通用图形处理单元的阿姆达尔定律有一些有趣的讨论,请参阅
Amdahl's law and GPU Amdahl's Law for GPU Is Amdahl's law accepted for GPUs too?
【讨论】:
我们从不同的角度看待同一个问题。 Amdahl 定律说,如果你有 100 个以上的 CPU,你能以多快的速度解决同样的问题?
古斯塔夫森定律是说,如果一台有 100 个 CPU 的并行计算机可以在 30 分钟内解决这个问题,那么一台只有一个 CPU 的计算机需要多长时间才能解决同样的问题?
古斯塔夫森定律更好地反映了这种情况。例如,我们不能使用 20 年前的 PC 玩当今的大多数视频游戏,因为它们太慢了。
【讨论】:
阿姆达尔定律
一般来说,如果一个工作的一小部分 f 不可能分成并行的部分,那么整个事情并行只能提高 1/f 倍。这就是阿姆达尔定律。
古斯塔夫森定律
一般来说,对于 p 个参与者,一个不可并行的部分 f 整个事情可以得到 p+(1−p)f 倍的速度。这就是古斯塔夫森定律
【讨论】: