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