阿姆达尔定律

阿姆达尔定律

阿姆达尔定律(英语:Amdahl’s law,Amdahl’s argument),一个计算机科学界的经验法则,因吉恩·阿姆达尔(Gene Amdahl)而得名。它代表了处理器平行运算之后效率提升的能力。
1967年计算机体系结构专家吉恩.阿姆达尔提出过一个定律阿姆达尔定律,说:在并行计算中用多处理器的应用加速受限于程序所需的串行时间百分比。譬如说,你的程序50%是串行的,其他一半可以并行,那么,最大的加速比就是2。不管你用多少处理器并行,这个加速比不可能提高。在这种情况下,改进串行算法可能比多核处理器并行更有效。

公式1

公式2

公式

Gustafson定律说明在许多实际的应用程序中得到接近线性的加速效果是可能的。
阿姆达尔定律的问题出在它的前提过于理想化。因为并行算法通常能处理比串行算法更大规模的问题,即使算法仍然存在着串行部分,但由于问题规模的不断扩大,往往会导致算法中串行部分所占比例的持续减少。