2017-04-16 84 views
1

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

我做了这样的事情,

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

我不知道天气我试图对还是错?请澄清。

回答

0

您需要将20%作为常量,因为它需要串行执行。

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

所有并行程序包含:

  • 并行段
  • 连续切片

串行部分限制平行有效性

Amdahl定律指出这正式:多个处理器的 影响加快

Sp = Ts/Tp <= 1/(fs + (fp/p)) 
  • SP:secuential算法
  • TP的执行时间:并行算法
  • FS的执行时间:代码的串行比
  • FP:编号:代码
  • P的平行部分的处理器

所以你的情况

SP将次要或等于:

1 /(0.2 + 0.8/P)

什么在最大SP resuts:

2 proccessors:

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