<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          詳談RDMA技術(shù)原理和三種實(shí)現(xiàn)方式

          共 5587字,需瀏覽 12分鐘

           ·

          2021-03-08 06:52


          導(dǎo)讀:遠(yuǎn)程直接內(nèi)存訪問(即RDMA)是一種直接內(nèi)存訪問技術(shù),它將數(shù)據(jù)直接從一臺(tái)計(jì)算機(jī)的內(nèi)存?zhèn)鬏數(shù)搅硪慌_(tái)計(jì)算機(jī),無需雙方操作系統(tǒng)的介入。RDMA最早在Infiniband傳輸網(wǎng)絡(luò)上實(shí)現(xiàn),后來業(yè)界廠家把RDMA移植到傳統(tǒng)Ethernet以太網(wǎng)上,降低了RDMA的使用成本,推動(dòng)RDMA技術(shù)普及。


          然而,在Ethernet以太網(wǎng)上,根據(jù)協(xié)議棧融合度的差異,分為iWARP和RoCE兩種技術(shù),而RoCE又包括RoCEv1和RoCEv2兩個(gè)版本(RoCEv2的最大改進(jìn)是支持IP路由)。


          隨著高性能計(jì)算、大數(shù)據(jù)分析、人工智能以及物聯(lián)網(wǎng)等技術(shù)的飛速發(fā)展,集中式存儲(chǔ)、分布式存儲(chǔ)以及云數(shù)據(jù)庫的普及等原因,業(yè)務(wù)應(yīng)用有越來越多的數(shù)據(jù)需要從網(wǎng)絡(luò)中獲取,這對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)的交換速度和性能要求越來越高。


          傳統(tǒng)的 TCP/IP 軟硬件架構(gòu)及應(yīng)用存在著網(wǎng)絡(luò)傳輸和數(shù)據(jù)處理的延遲過大、存在多次數(shù)據(jù)拷貝和中斷處理、復(fù)雜的 TCP/IP 協(xié)議處理等問題。RDMA(Remote Direct Memory Access,遠(yuǎn)程直接內(nèi)存訪問)是一種為了解決網(wǎng)絡(luò)傳輸中服務(wù)器端數(shù)據(jù)處理延遲而產(chǎn)生的技術(shù)。


          RDMA 將用戶應(yīng)用中的數(shù)據(jù)直接傳入服務(wù)器的存儲(chǔ)區(qū),通過網(wǎng)絡(luò)將數(shù)據(jù)從一個(gè)系統(tǒng)快速傳輸?shù)竭h(yuǎn)程系統(tǒng)的存儲(chǔ)器中,消除了傳輸過程中多次數(shù)據(jù)復(fù)制和文本交換的操作,降低了 CPU 的負(fù)載。RDMA技術(shù)的原理及其與TCP/IP架構(gòu)的對(duì)比如下圖所示。




          RDMA 技術(shù)實(shí)現(xiàn)了在網(wǎng)絡(luò)傳輸過程中兩個(gè)節(jié)點(diǎn)之間數(shù)據(jù)緩沖區(qū)數(shù)據(jù)的直接傳遞,在本節(jié)點(diǎn)可以直接將數(shù)據(jù)通過網(wǎng)絡(luò)傳送到遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存中,繞過操作系統(tǒng)內(nèi)的多次內(nèi)存拷貝,相比于傳統(tǒng)的網(wǎng)絡(luò)傳輸,RDMA 無需操作系統(tǒng)和 TCP/IP 協(xié)議的介入,可以輕易的實(shí)現(xiàn)超低延時(shí)的數(shù)據(jù)處理、超高吞吐量傳輸,不需要遠(yuǎn)程節(jié)點(diǎn) CPU 等資源的介入,不必因?yàn)閿?shù)據(jù)的處理和遷移耗費(fèi)過多的資源。


          RDMA 技術(shù)主要包括:


          IBInfiniBand):InfiniBand 架構(gòu)的 RDMA 技術(shù),由 IBTAInfiniBand Trade Association)提出。搭建基于 IB 技術(shù)的 RDMA 網(wǎng)絡(luò)需要專用的 IB 網(wǎng)卡和 IB 交換機(jī)。


          iWARPInternet Wide Area RDMA Protocal):基于 TCP/IP 協(xié)議的 RDMA 技術(shù),由 IETF 標(biāo) 準(zhǔn)定義。iWARP 支持在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施上使用 RDMA 技術(shù),但服務(wù)器需要使用支持iWARP 的網(wǎng)卡。


          RoCERDMA over Converged Ethernet):基于以太網(wǎng)的 RDMA 技術(shù),也是由 IBTA 提出。RoCE支持在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施上使用RDMA技術(shù),但是需要交換機(jī)支持無損以太網(wǎng)傳輸,需要服務(wù)器使用 RoCE 網(wǎng)卡。


          InfiniBand技術(shù)簡(jiǎn)介

          InfiniBand 是一種基于 InfiniBand 架構(gòu)的 RDMA 技術(shù),它提供了一種基于通道的點(diǎn)對(duì)點(diǎn)消息隊(duì)列轉(zhuǎn)發(fā)模型,每個(gè)應(yīng)用都可通過創(chuàng)建的虛擬通道直接獲取本應(yīng)用的數(shù)據(jù)消息,無需其他操作系統(tǒng)及協(xié)議棧的介入。InfiniBand 架構(gòu)的應(yīng)用層采用了 RDMA 技術(shù),可以提供遠(yuǎn)程節(jié)點(diǎn)間 RDMA 讀寫訪問,完全卸載 CPU 工作負(fù)載;網(wǎng)絡(luò)傳輸采用了高帶寬的傳輸;鏈路層設(shè)置特定的重傳機(jī)制保證服務(wù)質(zhì)量,不需要數(shù)據(jù)緩沖。



          InfiniBand 必須運(yùn)行在 InfiniBand 網(wǎng)絡(luò)環(huán)境下,必須使用 IB 交換機(jī)及 IB 網(wǎng)卡才可實(shí)現(xiàn)。


          InfiniBand 技術(shù)具有以下特點(diǎn):

          ? 應(yīng)用層采用 RDMA 技術(shù),降低了在主機(jī)側(cè)數(shù)據(jù)處理的延遲。 

          ? 消息轉(zhuǎn)發(fā)控制由子網(wǎng)管理器完成,沒有類似以太網(wǎng)復(fù)雜的協(xié)議交互計(jì)算。 

          ? 鏈路層通過重傳機(jī)制保證服務(wù)質(zhì)量,不需要數(shù)據(jù)緩沖,無丟包。 

          ? 具有低延遲、高帶寬、低處理開銷的特點(diǎn)。


          iWARP 技術(shù)簡(jiǎn)介

          iWARP 是基于以太網(wǎng)和 TCP/IP 協(xié)議的 RDMA 技術(shù),可以運(yùn)行在標(biāo)準(zhǔn)的以太網(wǎng)基礎(chǔ)設(shè)施上。


          iWARP并沒有指定物理層信息,所以能夠工作在任何使用TCP/IP協(xié)議的網(wǎng)絡(luò)上層。iWARP允許很多傳輸類型來共享相同的物理連接,如網(wǎng)絡(luò)、I/O、文件系統(tǒng)、塊存儲(chǔ)處理器之間的消息通訊。


          iWARP協(xié)議棧

          iWARP 由 MPADDP、RDMAP 三層子協(xié)議組成: 


          RDMAP層協(xié)議負(fù)責(zé) RDMA 讀、寫操作和 RDMA 消息的轉(zhuǎn)換,并將 RDMA 消息轉(zhuǎn)發(fā)到 DDP層。


           DDP層協(xié)議負(fù)責(zé)將過長(zhǎng)的 RDMA 消息分片分裝成DDP數(shù)據(jù)包繼續(xù)轉(zhuǎn)發(fā)到 MPA 層。 


          MPADDP 數(shù)據(jù)段的固定標(biāo)識(shí)位置增加轉(zhuǎn)發(fā)后向標(biāo)識(shí)、數(shù)據(jù)報(bào)文的長(zhǎng)度以及 CRC 校驗(yàn)數(shù)據(jù)等字段構(gòu)成 MPA 數(shù)據(jù)段交由 TCP 傳輸。


          iWARP 技術(shù)特點(diǎn)

          iWARP 從以下幾個(gè)方面降低了主機(jī)側(cè)網(wǎng)絡(luò)負(fù)載:


          ? TCP/IP 處理流程從 CPU 卸載到 RDMA 網(wǎng)卡處理,降低了 CPU 負(fù)載。

          ? 消除內(nèi)存拷貝:應(yīng)用程序可以直接將數(shù)據(jù)傳輸?shù)綄?duì)端應(yīng)用程序內(nèi)存中,顯著降低 CPU 負(fù)載。

          ? 減少應(yīng)用程序上、下文切換:應(yīng)用程序可以繞過操作系統(tǒng),直接在用戶空間對(duì) RDMA 網(wǎng)卡下發(fā)命令,降低了開銷,顯著降低了應(yīng)用程序上、下文切換造成的延遲。


          由于 TCP 協(xié)議能夠提供流量控制和擁塞管理,因此 iWARP 不需要以太網(wǎng)支持無損傳輸,僅通過普通以太網(wǎng)交換機(jī)和 iWARP 網(wǎng)卡即可實(shí)現(xiàn),因此能夠在廣域網(wǎng)上應(yīng)用,具有較好的擴(kuò)展性。


          RoCE技術(shù)簡(jiǎn)介

          RoCE 技術(shù)支持在以太網(wǎng)上承載 IB 協(xié)議,實(shí)現(xiàn) RDMA over EthernetRoCE InfiniBand 技術(shù)有相同的軟件應(yīng)用層及傳輸控制層,僅網(wǎng)絡(luò)層及以太網(wǎng)鏈路層存在差異。



          RoCE 協(xié)議分為兩個(gè)版本:


          RoCE v1協(xié)議:基于以太網(wǎng)承載 RDMA,只能部署于二層網(wǎng)絡(luò),它的報(bào)文結(jié)構(gòu)是在原有的 IB架構(gòu)的報(bào)文上增加二層以太網(wǎng)的報(bào)文頭,通過 Ethertype 0x8915 標(biāo)識(shí) RoCE 報(bào)文。 


          RoCE v2協(xié)議:基于 UDP/IP 協(xié)議承載 RDMA,可部署于三層網(wǎng)絡(luò),它的報(bào)文結(jié)構(gòu)是在原有的 IB 架構(gòu)的報(bào)文上增加 UDP 頭、IP 頭和二層以太網(wǎng)報(bào)文頭,通過 UDP 目的端口號(hào) 4791 標(biāo) 識(shí) RoCE 報(bào)文。RoCE v2 支持基于源端口號(hào) hash,采用 ECMP 實(shí)現(xiàn)負(fù)載分擔(dān),提高了網(wǎng)絡(luò)的利用率。


          RoCE 使得基于以太網(wǎng)的數(shù)據(jù)傳輸能夠:

          ? 提高數(shù)據(jù)傳輸吞吐量。

          ? 減少網(wǎng)絡(luò)延時(shí)。

          ? 降低 CPU 負(fù)載。


          RoCE 技術(shù)可通過普通以太網(wǎng)交換機(jī)實(shí)現(xiàn),但服務(wù)器需要支持 RoCE 網(wǎng)卡,網(wǎng)絡(luò)側(cè)需要支持無損以太網(wǎng)絡(luò),這是由于 IB 的丟包處理機(jī)制中,任意一個(gè)報(bào)文的丟失都會(huì)造成大量的重傳,嚴(yán)重影響數(shù)據(jù)傳輸性能。


          RoCE 網(wǎng)絡(luò)中,需要構(gòu)建無損以太網(wǎng)用于保證網(wǎng)絡(luò)傳輸過程中不丟包,關(guān)于無損以太網(wǎng)技術(shù)參考文章:FCoE全解系列”之增強(qiáng)型以太網(wǎng)技術(shù)。構(gòu)建無損以太網(wǎng)需支持以下關(guān)鍵特性:


          必選PFCPriority-based Flow Control,基于優(yōu)先級(jí)的流量控制):逐跳提供基于優(yōu)先級(jí)的流量控制,能夠?qū)崿F(xiàn)在以太網(wǎng)鏈路上運(yùn)行多種類型的流量而互不影響。


          必選ECNExplicit Congestion Notification,顯示擁塞通知):設(shè)備發(fā)生擁塞時(shí),通過對(duì)報(bào)文 IP 頭中 ECN 域的標(biāo)識(shí),由接收端向發(fā)送端發(fā)出降低發(fā)送速率的 CNPCongestion Notification Packet,擁塞通知報(bào)文),實(shí)現(xiàn)端到端的擁塞管理,減緩擁塞擴(kuò)散惡化。 


          建議DCBXData Center Bridging Exchange Protocol,數(shù)據(jù)中心橋能力交換協(xié)議):使用 LLDP 自動(dòng)協(xié)商 DCB 能力參數(shù),包括 PFC ETS 等。一般用在接入交換機(jī)連接服務(wù)器的端口,與服務(wù)器網(wǎng)卡進(jìn)行能力協(xié)商。


          可選ETSEnhanced Transmission Selection,增強(qiáng)傳輸選擇):將流量按服務(wù)類型分組,在提供不同流量的最小帶寬保證的同時(shí)提高鏈路利用率,保證重要流量的帶寬百分比。需要逐跳提供。


          RoCE 環(huán)境中,PFCECN 需要同時(shí)使用,以在無丟包情況下帶寬得到保證。二者的功能對(duì)比如下:



          雖然IB、以太網(wǎng)RoCE、以太網(wǎng)iWARP這三種RDMA技術(shù)使用統(tǒng)一的API,但它們有著不同的物理層和鏈路層。在以太網(wǎng)解決方案中,RoCE相對(duì)于iWARP來說有著明顯的優(yōu)勢(shì),這些優(yōu)勢(shì)體現(xiàn)在延時(shí)、吞吐率和 CPU負(fù)載。RoCE被很多主流的方案所支持,并且被包含在Windows服務(wù)軟件中。





          RDMA技術(shù)基于傳統(tǒng)網(wǎng)絡(luò)的概念,但與IP網(wǎng)絡(luò)又有些不同。最關(guān)鍵的不同是RDMA提供了一種消息服務(wù), 利用這種服務(wù),應(yīng)用程序可以直接訪問遠(yuǎn)程計(jì)算機(jī)上的虛擬內(nèi)存。消息服務(wù)可以用來進(jìn)行網(wǎng)絡(luò)中進(jìn)程間通信(IPC)、遠(yuǎn)程服務(wù)器通信和在一些上層協(xié)議的協(xié)助下與存儲(chǔ)設(shè)備進(jìn)行數(shù)據(jù)傳遞。


          上層應(yīng)用協(xié)議ULPs(Upper Layer Protocols)有很多,例如iSCSI的RDMA擴(kuò)展(iSER)、SCSI RDMA協(xié)議(SRP)等,主流的SMB、Samba 、Lustre、ZFS等也支持RDMA。


                RoCE和InfiniBand,一個(gè)定義了如何在以太網(wǎng)上運(yùn)行RDMA,而另一個(gè)則定義了如何在IB網(wǎng)絡(luò)中運(yùn)行RDMA。RoCE期望能夠?qū)B的應(yīng)用(主要是基于集群的應(yīng)用)遷移到融合以太網(wǎng)中,而在其他應(yīng)用中,IB網(wǎng)絡(luò)仍將能夠提供比RoCE更高的帶寬和更低的時(shí)延。RoCE和IB協(xié)議的技術(shù)區(qū)別:

          • 擁塞控制:RoCE所依賴的無丟包網(wǎng)絡(luò)基于以太網(wǎng)流控或PFC(Priority Flow Control)來實(shí)現(xiàn)。RoCEv2 則是定義了擁塞控制協(xié)議,使用ECN做標(biāo)記和CNP幀來做確認(rèn)。而IB則是使用基于信用的算法來保證HCA-HCA之間的無丟包通信。
          • 時(shí)延:當(dāng)前IB交換機(jī)普遍要比以太交換機(jī)擁有更低的時(shí)延,以太網(wǎng)交換機(jī)一般的Port-to-Port時(shí)延在230ns,相比IB交換機(jī)在同樣端口數(shù)的情況下100ns的時(shí)延,以太交換機(jī)還是要高出不少。
          • 配置:配置一個(gè)DCB以太網(wǎng)絡(luò)要遠(yuǎn)比配置一個(gè)IB網(wǎng)絡(luò)要復(fù)雜的多,同理,運(yùn)維也要復(fù)雜的多。

                RoCE和iWARP,一個(gè)是基于無連接協(xié)議UDP,一個(gè)是基于面向連接的協(xié)議(如TCP)。RoCEv1只能局限在一個(gè)二層廣播域內(nèi),而RoCEv2和iWARP都能夠支持三層路由。相比RoCE,在大型組網(wǎng)的情況下,iWARP的大量TCP連接會(huì)占用大量的額內(nèi)存資源,對(duì)系統(tǒng)規(guī)格要求更高。另外,RoCE支持組播,而iWARP還沒有相關(guān)的標(biāo)準(zhǔn)定義。



          今天的內(nèi)容分享完畢,深入技術(shù)細(xì)節(jié)及解決方案,請(qǐng)參考:
          高性能計(jì)算技術(shù)、方案和行業(yè)全解(第二版)
          InfiniBand架構(gòu)和技術(shù)實(shí)戰(zhàn)總結(jié)(第二版)
          RDMA原理分析、對(duì)比和技術(shù)實(shí)現(xiàn)解析

          或者獲取全店資料打包,后續(xù)免費(fèi)獲取全店所有新增和更新。

          全店鋪技術(shù)資料打包(全)





          轉(zhuǎn)載申明:轉(zhuǎn)載本號(hào)文章請(qǐng)注明作者來源,本號(hào)發(fā)布文章若存在版權(quán)等問題,請(qǐng)留言聯(lián)系處理,謝謝。


          推薦閱讀

          更多架構(gòu)相關(guān)技術(shù)知識(shí)總結(jié)請(qǐng)參考“架構(gòu)師全店鋪技術(shù)資料打包”相關(guān)電子書(35本技術(shù)資料打包匯總詳情可通過“閱讀原文”獲取)。

          全店內(nèi)容持續(xù)更新,現(xiàn)下單“全店鋪技術(shù)資料打包(全)”,后續(xù)可享全店內(nèi)容更新“免費(fèi)”贈(zèng)閱,價(jià)格僅收188元(原總價(jià)290元)。



          溫馨提示:

          掃描二維碼關(guān)注公眾號(hào),點(diǎn)擊閱讀原文鏈接獲取架構(gòu)師技術(shù)全店資料打包匯總(全)電子書資料詳情


          瀏覽 109
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美大香蕉网站在线观看 | 日韩一级一区 | 日韩无日韩欧美 | 国产一级a毛一级a看无码免费看 | 91免费三级片 |