多核集羣上行的混合模型筆記01

集羣系統:

利用網絡將計算機按照某種結構連接起來,在並行計算環境下支持統一調度的並行系統。


多核技術:

一個處理器中集成兩個或更多完整的計算引擎(核),使用多線程充分執行多個執行內核。


並行編程模型(針對SMP?):

數據並行,消息傳遞,共享存儲三種。


消息傳遞模型:

底層爲一組處理器,每個處理器有自己的內存且只能訪問本地的指令和數據(MPI爲標準例子)。


MPI的優缺點:

MPI可移植到分佈式和共享存儲系統結構上,允許靜態任務調度,使用於粗粒度的並行。

MPI對於細粒度並行會引發大量通信,動態負載平衡困難,並行改進需要大量修改原有串行代碼,調試難度大。


共享存儲:

底層硬件爲一系列處理器,所有處理器訪問同一個共享存儲器(OpenMP爲標準例子)。


MPIOpenMP混合編程模型:

MPI分解問題,劃分任務,使得各部分(每部分分配到一個多核節點上)之間的通信較少,OpenMP將每個節點上的部分進一步分解,分配到不同核心上,由多個線程通過共享存儲通信來並行執行。


混合編程模型優分析:

優點:

1:有效改善MPI代碼可擴展性,實現更好的並行粒度(MPI僅負責通信,實行粗粒度並行,OpenMP纔是真正實現節點內部的並行,不存在負載均衡問題)

2:更少的通信開銷(減少進程數,讓線程完成任務,減少進程間通信)

3:空閒CPU可以被派生的線程利用(某個線程可以通過派生線程搶佔其他線程空閒的CPU

4:帶寬沒有影響,延遲減少了(發送的消息減少,每個消息長度增加)

缺點:

1:純MPI應用匯導致CPU無法飽和結點間的帶寬

2:增加系統開銷(如線程fork/join




 

以上總結純屬參考,總結來自張軍、萬劍怡的《多核集羣系統上的混合編程模型》,介紹一下混合編程模型的大概,不代表個人觀點。

發佈了86 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章