我的問題可能是微不足道的。我使用MPI庫對一個CFD代碼進行了並行處理,現在我正試圖調查我的並行效率。首先,我創建了一個案例,它將提供行列中相同的負載和對傳輸數據的計算量的恆定比率。因此,我的期望是,當我增加等級時,任何運行時變化都將僅歸因於通信延遲。然而,我意識到不調用等級通信的子程序(因此它們只執行域計算,因此它們處理所有等級的相同負載)顯着貢獻 - 實際上是最大運行時增加。我在這裏錯過了什麼?這甚至有意義嗎?並行效率下降不一致
1
A
回答
0
這是否有意義?
是!
您創建的進程越多(every process has a rank),越能達到系統以真正並行方式執行進程的能力的限制。
您的系統(例如您的計算機)可以並行運行一定數量的進程,當超過此限制時,某些進程將等待執行(因此並非所有進程都並行運行),這會損害性能。
例如,假設一臺計算機有4個內核,並且您創建了4個進程,那麼每個內核都可以執行一個進程,因此進程之間的通信會損害您的性能(如果有的話)。
現在,在同一臺計算機上,您將創建8個進程。會發生什麼?
4個進程將開始並行執行,但其他4個將等待使內核可用,以便它們也可以運行。這不是一個真正的並行執行(某些進程將以線性方式執行)。而且,根據操作系統調度策略,某些進程可能會交織,導致每臺交換機都會產生開銷。
相關問題
- 1. 多線程 - 效率降低,可能是`虛假共享'所致[
- 2. SleepEx()期間CPU使用率不下降()
- 3. 在效率下降之前可以產生多少個線程?
- 4. 遞歸下降vs.生成的解析器 - 效率
- 5. jQuery效率低下?
- 6. 編碼效率VS執行效率
- 7. 以下哪一項會更有效率?
- 8. 費率限制急劇下降
- 9. 從morningstar.com上拉/下降捕捉比率
- 10. Adblock Plus動畫幀率下降
- 11. 這不會使varchar2效率低下?
- 12. 降低幀率
- 13. MySQL使用文件排序,並導致性能下降
- 14. 如何在不降低分辨率的情況下降低UIImage的質量?
- 15. 何時執行速率降至queue.xml以下?
- 16. JavaScript Slider效果不一致
- 17. struts 2標籤導致性能下降
- 18. setMinimumLoggingLevel爲詳細導致性能下降
- 19. glBindFramebuffer導致OpenGLES性能下降
- 20. TCP保持活躍頻率不一致
- 21. 下拉菜單不下降
- 22. 引導下拉不下降
- 23. 使用FFMPEG進行HLS編碼導致DTS下降
- 24. 無法挑選從降一值下降
- 25. 的ffmpeg卡 - 無效的下降ST
- 26. Scala的等效下降時間
- 27. W3WP.exe - CPU峯值達到100%,然後下降到0%,導致性能下降
- 28. Android:橫向模式下的幀速率下降
- 29. 導入「不相關」的dll是否會導致性能下降?
- 30. 登錄不工作(或似乎下降了一些行)
可能應該發佈代碼來重現您的問題。你可以將它編輯成你的問題。 –
如果您的應用程序受內存限制,則同一套接字上的所有隊列將共享相同的內存帶寬。這將解釋效率下降 –
對不起科迪格雷,但我不能分享代碼由於工業產權問題 – makmarios