非連續(xù)數(shù)據(jù)網絡通信實現(xiàn)方法和性能分析
發(fā)布時間:2021-06-08 15:06
非連續(xù)數(shù)據(jù)通信是指發(fā)送端將位于不同地址的多塊數(shù)據(jù)傳輸?shù)浇邮斩说亩鄠非連續(xù)地址.這種通信模式在科學計算應用中十分常見,如求解計算、FFT計算、流體力學模擬等應用均涉及矩陣的轉置傳輸,多維矩陣的子矩陣傳輸,非結構化數(shù)據(jù)訪問等非連續(xù)數(shù)據(jù)通信.所以,非連續(xù)數(shù)據(jù)的通信性能對眾多科學計算應用有重要的影響.目前,有多種實現(xiàn)非連續(xù)數(shù)據(jù)通信的卸載或者非卸載的方法,但是迄今沒有工作在同一平臺對主流的非連續(xù)數(shù)據(jù)通信實現(xiàn)方法進行評測和分析,也沒有工作對每一種實現(xiàn)方式適用的情況進行總結.本文首先總結了目前非連續(xù)數(shù)據(jù)通信的實現(xiàn)方式,然后,本文使用已有的測試集和自己設計的測試集對不同方式的非連續(xù)數(shù)據(jù)通信性能進行了詳細的對比測試,細粒度地分析了在不同數(shù)據(jù)分布的情況下數(shù)據(jù)拷貝和RDMA通信的開銷,尤其對基于RDMA sglist(scatter-gather list)和UMR(User-mode Memory Registration)功能的卸載性能進行了分析,并總結了各種非連續(xù)數(shù)據(jù)通信方式的適用情況和存在的問題.最后,本文通過實驗驗證了分析結果的正確性,并對于該分析結果相關的技術提出了優(yōu)化的方...
【文章來源】:計算機學報. 2020,43(06)北大核心EICSCD
【文章頁數(shù)】:16 頁
【部分圖文】:
人工打包拆包非連續(xù)數(shù)據(jù)通信示意圖
MPI提供了一種用戶可以自定義衍生數(shù)據(jù)類型(Derived Data Type,DDT)的機制,圖2為OpenMPI中DDT涉及到的層次圖,用戶使用MPI_Type_vector、MPI_Type_indexed、MPI_Type_struct等函數(shù)接口傳入對應的非連續(xù)數(shù)據(jù)分布描述(count,length,stride,old datatype)和要創(chuàng)建的自定義類型名newtype,可以分別創(chuàng)建符合vector、index、struct等數(shù)據(jù)分布的新數(shù)據(jù)類型———newtype,在調用MPI_Type_Commit(newtype)之后,就可以在以后的程序中,將newtype描述的非連續(xù)數(shù)據(jù)視為連續(xù)數(shù)據(jù),完成自定義數(shù)據(jù)類型的數(shù)據(jù)通信.圖3為MPI DDT中常用的類型說明:
(3)struct類型.每個非連續(xù)數(shù)據(jù)塊所包含的數(shù)據(jù)類型和數(shù)據(jù)長度都可以不一致,非連續(xù)數(shù)據(jù)塊之間的間隔可以不一致.以上三種數(shù)據(jù)分布是MPI DDT中常見的三種基本類型,描述復雜度和使用靈活性逐漸增加.此外MPI還提供了其他的DDT類型和操作,如subarray類型用于描述子數(shù)組,MPI_Pack/Unpack函數(shù)用于完成人工打包拆包功能等.新創(chuàng)建的數(shù)據(jù)類型可以直接用于點對點或者集合通信的數(shù)據(jù)傳輸,亦可以作為子類型來創(chuàng)建更加復雜的數(shù)據(jù)類型.
本文編號:3218713
【文章來源】:計算機學報. 2020,43(06)北大核心EICSCD
【文章頁數(shù)】:16 頁
【部分圖文】:
人工打包拆包非連續(xù)數(shù)據(jù)通信示意圖
MPI提供了一種用戶可以自定義衍生數(shù)據(jù)類型(Derived Data Type,DDT)的機制,圖2為OpenMPI中DDT涉及到的層次圖,用戶使用MPI_Type_vector、MPI_Type_indexed、MPI_Type_struct等函數(shù)接口傳入對應的非連續(xù)數(shù)據(jù)分布描述(count,length,stride,old datatype)和要創(chuàng)建的自定義類型名newtype,可以分別創(chuàng)建符合vector、index、struct等數(shù)據(jù)分布的新數(shù)據(jù)類型———newtype,在調用MPI_Type_Commit(newtype)之后,就可以在以后的程序中,將newtype描述的非連續(xù)數(shù)據(jù)視為連續(xù)數(shù)據(jù),完成自定義數(shù)據(jù)類型的數(shù)據(jù)通信.圖3為MPI DDT中常用的類型說明:
(3)struct類型.每個非連續(xù)數(shù)據(jù)塊所包含的數(shù)據(jù)類型和數(shù)據(jù)長度都可以不一致,非連續(xù)數(shù)據(jù)塊之間的間隔可以不一致.以上三種數(shù)據(jù)分布是MPI DDT中常見的三種基本類型,描述復雜度和使用靈活性逐漸增加.此外MPI還提供了其他的DDT類型和操作,如subarray類型用于描述子數(shù)組,MPI_Pack/Unpack函數(shù)用于完成人工打包拆包功能等.新創(chuàng)建的數(shù)據(jù)類型可以直接用于點對點或者集合通信的數(shù)據(jù)傳輸,亦可以作為子類型來創(chuàng)建更加復雜的數(shù)據(jù)類型.
本文編號:3218713
本文鏈接:http://sikaile.net/kejilunwen/xinxigongchenglunwen/3218713.html