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