面向天河互連網(wǎng)絡(luò)的可擴(kuò)展通信框架實(shí)現(xiàn)技術(shù)
發(fā)布時(shí)間:2020-12-10 07:01
開源通信框架在編程模型和互連接口之間定義標(biāo)準(zhǔn)化的通信編程接口,提供了獨(dú)立于互連網(wǎng)絡(luò)特性的高性能通信操作,提高了編程模型在新型互連網(wǎng)絡(luò)上的開發(fā)效率。通過(guò)設(shè)計(jì)與實(shí)現(xiàn)多通道數(shù)據(jù)傳輸協(xié)議,解決了通信框架在天河互連網(wǎng)絡(luò)上實(shí)現(xiàn)時(shí)的性能和擴(kuò)展性問(wèn)題。測(cè)試數(shù)據(jù)表明,天河互連網(wǎng)絡(luò)上的通信框架具有很低的軟件層開銷,提供了接近于互連硬件設(shè)計(jì)指標(biāo)的通信性能,為拓展天河互連網(wǎng)絡(luò)對(duì)各種編程模型和分布式計(jì)算框架的高效支持提供了良好的基礎(chǔ)。
【文章來(lái)源】:計(jì)算機(jī)工程與科學(xué). 2020年10期 第1720-1729頁(yè) 北大核心
【文章頁(yè)數(shù)】:10 頁(yè)
【部分圖文】:
UCX系統(tǒng)結(jié)構(gòu)
OFI由OpenFabrics Alliance發(fā)起,其設(shè)計(jì)目標(biāo)是為多種不同的高速互連定義一個(gè)抽象的新通信編程接口,覆蓋各種互連的主要功能特性,既能夠貼近應(yīng)用的需求,同時(shí)又不會(huì)影響面向特定互連的實(shí)現(xiàn)優(yōu)化。OFI的總體結(jié)構(gòu)如圖2所示,定義了MSG消息傳輸、Tag消息傳輸、RMA通信操作和原子操作等數(shù)據(jù)傳輸接口。MSG消息傳輸是2個(gè)通信端點(diǎn)間維護(hù)消息數(shù)據(jù)邊界的順序數(shù)據(jù)傳輸,而Tag消息傳輸則是在MSG基礎(chǔ)上加入了基于Tag的消息選擇接收。OFI定義了EP_DGRAM、EP_MSG和EP_RDM這幾種不同的通信端點(diǎn)類型,分別對(duì)應(yīng)無(wú)連接不可靠報(bào)文、有連接可靠消息和無(wú)連接可靠報(bào)文通信模式,每種通信端點(diǎn)上能支持的接口也不同。不同于UCX的明確分層結(jié)構(gòu),OFI的接口是由各個(gè)Provider直接實(shí)現(xiàn)的。Provider又區(qū)分為Core和Utility 2類,每個(gè)Core Provider直接對(duì)應(yīng)一個(gè)互連平臺(tái),但基于互連網(wǎng)絡(luò)的功能特性,可以選擇只實(shí)現(xiàn)部分OFI接口。而Utility Provider則通過(guò)軟件層的協(xié)議仿真操作為Core Provider添加一些其它未實(shí)現(xiàn)的接口功能[8],例如RXD為只支持EP_DGRAM端點(diǎn)的Core Provider增加了對(duì)EP_RDM端點(diǎn)和相應(yīng)的Tag消息傳輸接口等的支持,而RXM為只支持EP_MSG端點(diǎn)的Core Provider增加了對(duì)EP_RDM端點(diǎn)和相對(duì)應(yīng)通信接口的支持。
共享RDMA通道通信協(xié)議需要MP和RDMA Get 2個(gè)階段的操作才能完成消息數(shù)據(jù)傳輸,這樣增加了通信延遲。而RDMA Put操作可以直接將數(shù)據(jù)從發(fā)送方傳輸?shù)浇邮辗?但如何協(xié)調(diào)雙方消息數(shù)據(jù)區(qū)的地址和長(zhǎng)度信息是需要解決的技術(shù)問(wèn)題。本文設(shè)計(jì)了如圖3所示的一種基于RDMA Put的消息傳輸協(xié)議。發(fā)送方和接收方各預(yù)先在內(nèi)存注冊(cè)一個(gè)同樣長(zhǎng)度的RDMA緩沖區(qū),通過(guò)RDMA Put操作將這2個(gè)RDMA緩沖區(qū)構(gòu)造成一個(gè)發(fā)送方管理的遠(yuǎn)程FIFO結(jié)構(gòu)。發(fā)送方消息數(shù)據(jù)被順序拷貝到發(fā)送方的RDMA緩沖區(qū)中,然后通過(guò)RDMA Put傳輸?shù)浇邮辗絉DMA緩沖區(qū)的相同位置,再利用遠(yuǎn)程事件通知接收方將數(shù)據(jù)從RDMA緩沖區(qū)拷貝到接收消息緩沖區(qū)中。對(duì)較短的消息數(shù)據(jù)傳輸,還可以使用立即數(shù)RDMA Put操作,這是一種將源數(shù)據(jù)嵌入RDMA通信描述符中的通信機(jī)制,具有更低的通信延遲。理論上,這種遠(yuǎn)程FIFO結(jié)構(gòu)可以按字節(jié)順序使用,但考慮到RDMA Put傳輸在對(duì)齊Cacheline邊界時(shí)效率更高,所以切分成Cacheline長(zhǎng)度的單元。每次消息傳輸按數(shù)據(jù)長(zhǎng)度使用連續(xù)數(shù)個(gè)單元,只有最后1個(gè)單元會(huì)浪費(fèi)少量?jī)?nèi)存未被使用。消息的第1個(gè)單元里面預(yù)留消息頭,在接收方消息頭里面的數(shù)據(jù)長(zhǎng)度域由RDMA Put遠(yuǎn)程事件來(lái)更新,這樣接收方可以獲知消息數(shù)據(jù)的長(zhǎng)度。多個(gè)消息傳輸對(duì)應(yīng)的數(shù)據(jù)拷貝和RDMA Put操作也是流水重疊執(zhí)行的,可以提高消息數(shù)據(jù)的傳輸帶寬。這種遠(yuǎn)程FIFO采用靜態(tài)流控機(jī)制,RDMA緩沖區(qū)切分出的Cacheline單元數(shù)就是最大發(fā)送信用值。接收方可以通過(guò)向發(fā)送方的反向消息傳輸操作順帶回填信用,或在接收處理了足夠的單元時(shí)觸發(fā)閾值,再主動(dòng)通過(guò)MP短報(bào)文回填信用。
本文編號(hào):2908282
【文章來(lái)源】:計(jì)算機(jī)工程與科學(xué). 2020年10期 第1720-1729頁(yè) 北大核心
【文章頁(yè)數(shù)】:10 頁(yè)
【部分圖文】:
UCX系統(tǒng)結(jié)構(gòu)
OFI由OpenFabrics Alliance發(fā)起,其設(shè)計(jì)目標(biāo)是為多種不同的高速互連定義一個(gè)抽象的新通信編程接口,覆蓋各種互連的主要功能特性,既能夠貼近應(yīng)用的需求,同時(shí)又不會(huì)影響面向特定互連的實(shí)現(xiàn)優(yōu)化。OFI的總體結(jié)構(gòu)如圖2所示,定義了MSG消息傳輸、Tag消息傳輸、RMA通信操作和原子操作等數(shù)據(jù)傳輸接口。MSG消息傳輸是2個(gè)通信端點(diǎn)間維護(hù)消息數(shù)據(jù)邊界的順序數(shù)據(jù)傳輸,而Tag消息傳輸則是在MSG基礎(chǔ)上加入了基于Tag的消息選擇接收。OFI定義了EP_DGRAM、EP_MSG和EP_RDM這幾種不同的通信端點(diǎn)類型,分別對(duì)應(yīng)無(wú)連接不可靠報(bào)文、有連接可靠消息和無(wú)連接可靠報(bào)文通信模式,每種通信端點(diǎn)上能支持的接口也不同。不同于UCX的明確分層結(jié)構(gòu),OFI的接口是由各個(gè)Provider直接實(shí)現(xiàn)的。Provider又區(qū)分為Core和Utility 2類,每個(gè)Core Provider直接對(duì)應(yīng)一個(gè)互連平臺(tái),但基于互連網(wǎng)絡(luò)的功能特性,可以選擇只實(shí)現(xiàn)部分OFI接口。而Utility Provider則通過(guò)軟件層的協(xié)議仿真操作為Core Provider添加一些其它未實(shí)現(xiàn)的接口功能[8],例如RXD為只支持EP_DGRAM端點(diǎn)的Core Provider增加了對(duì)EP_RDM端點(diǎn)和相應(yīng)的Tag消息傳輸接口等的支持,而RXM為只支持EP_MSG端點(diǎn)的Core Provider增加了對(duì)EP_RDM端點(diǎn)和相對(duì)應(yīng)通信接口的支持。
共享RDMA通道通信協(xié)議需要MP和RDMA Get 2個(gè)階段的操作才能完成消息數(shù)據(jù)傳輸,這樣增加了通信延遲。而RDMA Put操作可以直接將數(shù)據(jù)從發(fā)送方傳輸?shù)浇邮辗?但如何協(xié)調(diào)雙方消息數(shù)據(jù)區(qū)的地址和長(zhǎng)度信息是需要解決的技術(shù)問(wèn)題。本文設(shè)計(jì)了如圖3所示的一種基于RDMA Put的消息傳輸協(xié)議。發(fā)送方和接收方各預(yù)先在內(nèi)存注冊(cè)一個(gè)同樣長(zhǎng)度的RDMA緩沖區(qū),通過(guò)RDMA Put操作將這2個(gè)RDMA緩沖區(qū)構(gòu)造成一個(gè)發(fā)送方管理的遠(yuǎn)程FIFO結(jié)構(gòu)。發(fā)送方消息數(shù)據(jù)被順序拷貝到發(fā)送方的RDMA緩沖區(qū)中,然后通過(guò)RDMA Put傳輸?shù)浇邮辗絉DMA緩沖區(qū)的相同位置,再利用遠(yuǎn)程事件通知接收方將數(shù)據(jù)從RDMA緩沖區(qū)拷貝到接收消息緩沖區(qū)中。對(duì)較短的消息數(shù)據(jù)傳輸,還可以使用立即數(shù)RDMA Put操作,這是一種將源數(shù)據(jù)嵌入RDMA通信描述符中的通信機(jī)制,具有更低的通信延遲。理論上,這種遠(yuǎn)程FIFO結(jié)構(gòu)可以按字節(jié)順序使用,但考慮到RDMA Put傳輸在對(duì)齊Cacheline邊界時(shí)效率更高,所以切分成Cacheline長(zhǎng)度的單元。每次消息傳輸按數(shù)據(jù)長(zhǎng)度使用連續(xù)數(shù)個(gè)單元,只有最后1個(gè)單元會(huì)浪費(fèi)少量?jī)?nèi)存未被使用。消息的第1個(gè)單元里面預(yù)留消息頭,在接收方消息頭里面的數(shù)據(jù)長(zhǎng)度域由RDMA Put遠(yuǎn)程事件來(lái)更新,這樣接收方可以獲知消息數(shù)據(jù)的長(zhǎng)度。多個(gè)消息傳輸對(duì)應(yīng)的數(shù)據(jù)拷貝和RDMA Put操作也是流水重疊執(zhí)行的,可以提高消息數(shù)據(jù)的傳輸帶寬。這種遠(yuǎn)程FIFO采用靜態(tài)流控機(jī)制,RDMA緩沖區(qū)切分出的Cacheline單元數(shù)就是最大發(fā)送信用值。接收方可以通過(guò)向發(fā)送方的反向消息傳輸操作順帶回填信用,或在接收處理了足夠的單元時(shí)觸發(fā)閾值,再主動(dòng)通過(guò)MP短報(bào)文回填信用。
本文編號(hào):2908282
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2908282.html
最近更新
教材專著