2016-01-20 131 views
1

我瞭解Amdahl定律和並行程序的最大加速比。但我無法正確研究古斯塔夫森的法律。什麼是古斯塔夫森定律?Amdahl和Gustafson定律有什麼區別?Gustafson定律與Amdahl定律

回答

7

Amdahl定律

假設有一個順序代碼和一小部分的計算f被並行化和並行工作N處理單元運行,而其餘部分1-f不能得到改善,也就是說,它不能並行化。 Amdahl定律指出,通過並行化實現的加速是

enter image description here

古斯塔夫森定律

來看阿姆達爾點集中在一個固定的計算問題的大小,因爲它有一個代碼涉及以固定量順序計算時間。 Gustafson的反對意見是,大規模並行機器允許以前不可行的計算,因爲它們能夠在固定時間內對非常大的數據集進行計算。換句話說,並行平臺不僅能夠加速代碼的執行,還能夠處理更大的問題。

假設有一個時間爲ts的應用程序在N處理單元上執行。在這個計算時間內,一部分(1-f)必須按順序運行。因此,這個應用程序將在一個時間完全時序機上運行t等於

enter image description here

如果我們增加問題大小,我們可以增加處理單元的數量,以保持的時間部分代碼平行執行等於f·ts。在這種情況下,順序執行時間會隨着N的增加而增加,現在它成爲問題大小的度量。該加速就變成

enter image description here

那麼效率會

enter image description here

,這樣的效率往往到f增加N。 這些相當樂觀的加速和效率評估的缺陷與這樣一個事實有關,隨着問題規模的增加,通信成本將會增加,但通信成本的增加不會被古斯塔夫森定律所解釋。

參考

G.巴爾拉斯,多核和GPU編程:綜合辦法,摩根考夫曼

醫學博士山,M.R.馬蒂,阿姆達爾在多核時代的法律,計算機,第一卷。 41,n。 7,第33-38頁,2008年7月。

GPGPU

上有Amdahl定律有趣的討論適用於通用圖形處理單元,看到

Amdahl's law and GPU Amdahl's Law for GPU Is Amdahl's law accepted for GPUs too?

2

我們正在從不同的角度同樣的問題。 Amdahl的定律說,如果你有100多個CPU,你能解決同樣的問題能多快?

Gustafson定律說,如果一臺具有100個CPU的並行計算機可以在30分鐘內解決這個問題,那麼只有一臺這樣的CPU才能解決同樣的問題需要多長時間?

古斯塔夫森法則更好地反映了這種情況。例如,我們不能用20年前的電腦玩今天的大部分電子遊戲,因爲它們太慢了。