这个定义对我来说有点不清楚。像维基百科这样的消息来源说,Amdahl测量的是固定工作负载执行任务的延迟加速,可以预期资源得到改善的系统。对我而言,加速基本上是一项任务比其他任务更快的速度。在这种情况下的加速以不同的方式使用。您能否以更简单的方式澄清Amdahl法律的衡量标准以及实际加速的速度是什么?
答案 0 :(得分:1)
这里加速的定义是:
Speedup
= Baseline Running Time
/ New Running Time
这意味着如果运行时间是BRT且可并行化部分是P,那么:
BRT = (1 - P) * BRT + P * BRT
现在,如果在运行时间的P部分获得S的加速,则新的改进运行时间(IRT)为:
IRT = (1 - P) * BRT + P * (BRT / S)
= (1 - P) * BRT + (P / S) * BRT
= ((1 - P) + (P / S)) * BRT
因此:
BRT / IRT = 1 / ((1 - P) + (P / S))
这是整体加速。这是阿姆达尔定律。
对我而言,加速基本上是一项任务比其他任务更快的速度。
是的,可以用不同的方式定义加速。这可能有点令人困惑。
答案 1 :(得分:0)
阿姆达尔定律测量的是理论上的最大速度,这几乎是不可能实现的,一旦您知道不同部分的含义,该公式就很容易理解了,
好的,公式为Speedup = 1/ 1-f + f/p
因此,如果我们说有10个处理器,并且我们有40%的代码可以并行化。
公式是加速比= 1 / 1-40%(0.4)+ 40%(0.4)/ 10
不是专业人士,您可能需要检查一下,但是如果我没记错的话,这应该是这样的:)