达到最大加速

时间:2017-04-16 07:00:22

标签: cpu-architecture cpu-speed parallelism-amdahl

如果应用程序的执行时间只有80%可以并行运行,那么您可以实现的最大加速时间是多少?

我做了类似的事,

1-.8 = .2 
overall speedup = 1/0.2 = 5

我不确定我尝试过的天气是对还是错?请澄清。

1 个答案:

答案 0 :(得分:0)

你需要将20%作为常量,因为它需要连续执行。

还要记住Sp取决于处理器的数量。总是。我们可以做理论,因为N处理器是已知的'变量。但是更多的处理器也带来了更少的理想性。当您增加处理器数量时,会导致更高的错误。理想是线性函数(Sp / p),实际上它不是。

所有并行程序包含:

  • 平行部分
  • 序列部分

串行部分限制了并行效果

阿姆达尔法律正式陈述: 多处理器对加速的影响

Sp = Ts/Tp <= 1/(fs + (fp/p))
  • Sp:secuential算法的执行时间
  • Tp:并行算法的执行时间
  • fs:代码的连续部分
  • fp:代码的并行部分
  • p:处理器数量

所以在你的情况下

Sp将是次要或等于:

1 /(0.2 + 0.8 / p)

最大Sp中的内容:

2个进程: 1,666

4个处理器: 2,5 ...