Amdahl 定律

Amdahl 定律

Gene Amdahl,计算机领域的早期先锋之一,对提升系统某一部分性能所带来的效果作出了简单却有见地的观察。这个观察被称为Amdahl 定律(Amdahl.s law)。该定律的主要思想是,当我们对系统的某个部分加速时,其对系统的整体性能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序需要时间为T1(old)。假设系统某部分所需之行的时间与该时间的比例为α,而该部分性能提升比列为k,即该部分初始所需时间为αT1,现在所需时间为(αT1)/k。因此,总的执行时间应为:

T2(new)=(1-α)T1+(αT1)/k=T1[(1-α)+α/k]

由此,可计算计算加速比S=T1/T2:

S=1/((1-α)+α/k)

举个例子,考虑这样一种情况,系统的某个部分初始耗时比例为60%(α=0.6),其加速比例因子为3(k=3)。则我们可以获得的加速比为1/[0.4+0 .6/3]=1.67倍(1.67X)。虽然我们对系统的一个主要部分作出了重大改进,但是获得的系统加速比却明显小于这部分的加速比。这就是Amdahl定律的主要观点–要想显著加速整个系统,必须提升全系统中相当大的部分的速度。


练习题:
1.假设你是卡车司机,要将苹果从安徽的砀山运送到福建的三明市,全程2500公里。在限速范围内,你估计平均速度为100公里/小时,整个行程需要25小时。
A.你听到新闻说浙江省取消了限速,这使得形成中有1500公里卡车饿速度可以为150公里/小时。那么这对整个行程的加速比是多少?
B.你可以在www.taobao.com网站上为自己的卡车买个新的涡轮增压器。网站现提供各种型号,不过速度越快,价格越高。如果想要让整个行程的加速比为1.67X,那么你必须以多块的速度通过浙江省。

2.公司的市场部想你的客户承诺,下一个版本的软件性能将改进2X。这项任务倍分配给你。你已经确认只有80%的系统能够被改进,那么,这部分需要被改进多少(即k取何值)才能达到整体的性能目标?


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值