Amdahl定律

Amdahl's law

  • 对系统某部分加速时,其对系统整体影响取决于该部分重要性和加速程度。
  • 要想显著加速整个系统,必须提升全系统中相当大的部分的速度。

如果有一个应用程序完成一项任务需要时间为Told,该应用程序某部分执行时间与总时间比例为α,

若将该部分性能提升k倍,总的执行时间为:

Tnew = (αTold / k) + (Told - αTold)

    = Told [ (1 - α) + α/k ]

加速比 S = Told / Tnew

特殊情况

  • 当k趋向∞时

k无穷大时,也就是说性能提升到极致,这部分运行所花的时间可以忽略不计。

当一个系统的60%加速到不花时间,获得的加速比只有S = 1 / 0.4 = 2.5X

一个系统要想提升其性能,需要改进该系统的大部分,如果只提升一个部分的性能,就算提升1000倍,如果这个部分不重要,既时间比例a很小,对整个系统性能的提升将毫无用处。

posted @ 2018-06-11 11:51  Ron_White  阅读(1039)  评论(0编辑  收藏  举报