2017-04-16 40 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 ... 。