Amdahl 定律

Gene Amdahl,计算机领域的早期先锋之一,对提升系统某一部分性能所带来的效果做出来简单却有见地的观察。这个观察被称为 Amdahl 定律(Amdahl’s law)。该定律的主要思想是,当我们对系统的某个部分加速时,起对系统整体性能的影响取决于该部分的重要性和加速程度。
若系统执行某应用持续需要的时间为 T o l d T_{old} Told
假设系统某部分所需执行时间与该时间的比例为 α \alpha α,而该部分性能提升比例为 k k k
即该部分该部分初始所需时间为 α T o l d \alpha T_{old} αTold,现在所需时间为 α T o l d / k \alpha T_{old}/k αTold/k
因此,总的执行时间应为
T n e w = ( 1 − α ) T o l d + α T o l d / k = T o l d [ ( 1 − α ) + α / k ] T_{new} = (1- \alpha )T_{old} + \alpha T_{old}/k = T_{old}[(1-\alpha ) + \alpha /k] Tnew=(1α)Told+αTold/k=Told[(1α)+α/k]

由此,可以计算加速比 S = T o l d / T n e w S = T_{old}/T_{new} S=Told/Tnew为:
S = 1 ( 1 − α ) + α / k S = \frac{1}{(1-\alpha ) + \alpha /k} S=(1α)+α/k1

举个例子:
考虑这样一种情况,系统某个部分初始耗时比例为 60 % ( α = 0.6 ) 60\% (\alpha = 0.6) 60%(α=0.6),其加速比例因子为3( k = 3 k=3 k=3)。则我们可以获得的加速比为 1 / [ 0.4 + 0.6 / 3 ] = 1.67 1/[0.4 + 0.6/3] = 1.67 1/[0.4+0.6/3]=1.67倍。虽然我们对系统的一个主要部分做出来重大改进,但是获得即系统加速比却明显小于这部分的加速比。

这就是 Amdahl 定律的主要观点:要想显著加速整个系统,必须提升全系统中相当大的部分的速度。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值