我瞭解Amdahl定律和並行程序的最大加速比。但我無法正確研究古斯塔夫森的法律。什麼是古斯塔夫森定律?Amdahl和Gustafson定律有什麼區別?Gustafson定律與Amdahl定律
回答
Amdahl定律
假設有一個順序代碼和一小部分的計算f
被並行化和並行工作N
處理單元運行,而其餘部分1-f
不能得到改善,也就是說,它不能並行化。 Amdahl定律指出,通過並行化實現的加速是
古斯塔夫森定律
來看阿姆達爾點集中在一個固定的計算問題的大小,因爲它有一個代碼涉及以固定量順序計算時間。 Gustafson的反對意見是,大規模並行機器允許以前不可行的計算,因爲它們能夠在固定時間內對非常大的數據集進行計算。換句話說,並行平臺不僅能夠加速代碼的執行,還能夠處理更大的問題。
假設有一個時間爲ts
的應用程序在N
處理單元上執行。在這個計算時間內,一部分(1-f)
必須按順序運行。因此,這個應用程序將在一個時間完全時序機上運行t
等於
如果我們增加問題大小,我們可以增加處理單元的數量,以保持的時間部分代碼平行執行等於f·ts
。在這種情況下,順序執行時間會隨着N
的增加而增加,現在它成爲問題大小的度量。該加速就變成
那麼效率會
,這樣的效率往往到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?
我們正在從不同的角度同樣的問題。 Amdahl的定律說,如果你有100多個CPU,你能解決同樣的問題能多快?
Gustafson定律說,如果一臺具有100個CPU的並行計算機可以在30分鐘內解決這個問題,那麼只有一臺這樣的CPU才能解決同樣的問題需要多長時間?
古斯塔夫森法則更好地反映了這種情況。例如,我們不能用20年前的電腦玩今天的大部分電子遊戲,因爲它們太慢了。
- 1. Amdahl定律的例子
- 2. Amdahl定律:矩陣乘法
- 3. C#中的Amdahl定律示例#
- 4. Amdahl定律「C++併發在行動」
- 5. -XX:parallelGCThreads = 8是否涉及與Amdahl定律相關的核心數量?
- 6. 提取一定的規律與Oracle SQL
- 7. Demeter在ABAP中的定律
- 8. bcrypt - 跟上摩爾定律
- 9. 爲什麼比較和交換操作受到Amdahl定律的限制?
- 10. LiquidHaskell:沒有,我有麻煩證明下列法律與LiquidHaskell德·摩根定律
- 11. 得墨忒耳定律 - 數據對象
- 12. bcrypt如何跟上摩爾定律?
- 13. 執行阿姆達爾定律
- 14. 鉛電池實驗室 - Peukert定律
- 15. 得墨忒耳定律和返回值
- 16. VB.net中餘弦定律的優化
- 17. 本福德定律中的R
- 18. 如何在MATLAB中實現Benford定律
- 19. 布爾代數和德摩爾定律
- 20. 和DAO得墨忒耳定律模式
- 21. 編寫一個餘弦定律計算
- 22. 龍虎鬥(大數定律)的LLN
- 23. 餘弦公式的精確定律
- 24. 在C++ visual studio中的cos定律
- 25. 餘弦的錯誤定律java
- 26. 如何遵循一定的規律
- 27. 法律dynamic_cast
- 28. μ律放大
- 29. sox:A律到PCM
- 30. vec.erase(vec.end());法律?