[英]Gustafson's law vs Amdahl's law
我知道Amdahl定律和並行程序的最大加速。 但我無法正確研究古斯塔夫森定律。 什么是Gustafson定律,Amdahl和Gustafson定律之間有什么區別?
阿姆達爾定律
假設你有一個順序代碼,並且它的計算的一小部分f
被並行化並在並行工作的N
處理單元上運行,而剩余的分數1-f
不能被改進,即它不能被並行化。 Amdahl定律指出並行化實現的加速是
古斯塔夫森定律
Amdahl的觀點主要關注固定計算問題的大小,因為它處理的代碼采用固定數量的連續計算時間。 Gustafson的反對意見是大規模並行機器允許以前不可行的計算,因為它們能夠在固定的時間內對非常大的數據集進行計算。 換句話說,並行平台不僅可以加速代碼的執行,還可以處理更大的問題。
假設您有一個應用程序花費時間ts
在N
處理單元上執行。 在該計算時間中,必須按順序運行分數(1-f)
。 因此,該應用程序將在等於的時間t
內在完全順序的機器上運行
如果我們增加問題大小,我們可以增加處理單元的數量,以保持代碼並行執行的時間部分等於f·ts
。 在這種情況下,順序執行時間隨N
增加,現在成為問題大小的度量。 然后加速成為
那么效率就是
因此,增加N
的效率趨向於f。 這些相當樂觀的加速和效率評估的缺陷與以下事實有關:隨着問題規模的增加,通信成本將增加,但通信成本的增加不是由Gustafson定律解釋的。
參考
G. Barlas,多核和GPU編程:綜合方法,Morgan Kaufmann
MD Hill,MR Marty,Amdahl在多核時代的定律,計算機,第一卷。 41,n。 7,pp.33-38,2008年7月。
GPGPU
關於適用於通用圖形處理單元的Amdahl定律,有一些有趣的討論,請參閱
我們從不同的角度看待同樣的問題。 Amdahl定律說,如果你有100多個CPU,你能解決同樣的問題多快多少?
Gustafson定律說,如果一台有100個CPU的並行計算機可以在30分鍾內解決這個問題,那么只有一個這樣的CPU的計算機需要多長時間才能解決同樣的問題?
古斯塔夫森定律更好地反映了情況。 例如,我們不能使用20年前的PC來玩今天的大部分電視游戲,因為它們太慢了。
阿姆達爾定律
通常,如果作業的分數f不可能分成平行部分,則整個事物只能平行地快1 / f倍。 那是阿姆達爾定律。
古斯塔夫森定律
通常,對於p個參與者,以及不可並行化的分數f,整個事物可以更快地獲得p +(1-p)f倍。 這就是古斯塔夫森定律
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.