Amdahl定律和Gustafson定律

Amdahl定律指出,系统优化的加速比受到串行部分比例的限制,强调了并行化的重要性。Gustafson定律则提出,随着处理器数量增加,加速比与处理器个数成正比,只要任务足够并行。通过对一个串行化程序的部分步骤优化,计算出加速比1.25,进一步解释了这两个定律的实际应用。
摘要由CSDN通过智能技术生成

1. Amdahl定律

  • 主要思想:当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。
  • 定义了串行系统并行优化后的加速比的计算公式和理论上限
  • 加速比定义:加速比(k) = 优化前系统耗时/优化后系统耗时= Told/Tnew
  • 增加CPU处理器数量并不一定能起到有效的作用,提高系统内可并行化的模块比重,合理增加并行化的模块比重,合理增加并行处理器数量,才能以最小的投入,得到最大的加速比。

若某系统执行某应用需要时间为Told。假设系统某部分所需要执行时间与该时间的比例为α,而该部分性能提升比例为k。即该部分初始所需时间为αTold,现在所需时间为(αTold)/k。因此,总执行时间应为:

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

所以,加速比S= Told/ Tnew为:

S = 1 ( 1 − α ) + α / k \frac{1}{(1-α)+α/k} (1α)+α/k1

如果k趋向于∞,我们可以取系统的某一部分将其加速到一个点,在这个点上,这部分花费的时间可以忽略不计。所以可以得到:
S = 1 1 − α \frac{1}{1-α} 1α1

实际问题

一个串行化程序部分步骤优化为并行后加速比,如下原本每个步骤耗时100,优化其中的2个步骤,使其加速50,求加速比。(其中Tnew为优化后时间,Told为优化前,F为串行比例,n为处理器个数)
解:
由题得 Tnew = Told(F+ 1 n \frac{1}{n} n1(1-F))
根据加速比定义得 S = Told/Tnew = T o l d T o l d ( F + 1 n ( 1 − F ) ) \frac{ T _ {old} }{T _ {old}(F+\frac{1}{n}(1-F))} Told(F+n1(1F))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值