国产亚洲人成在线视频网站

<th id="ssz4z"></th>
  • <th id="ssz4z"></th>

    1. 您現在的位置:CDN高防 > 服務器租用幫助 > 詳解RDMA(遠程直接內存訪問)架構原理

      詳解RDMA(遠程直接內存訪問)架構原理

      發布時間:2020-04-02 12:00:05 ??文章來源:CDN高防 ??作者:周?吉
      本文由周?吉編輯,關鍵詞:RDMA,RDMA技術,RDMA原理,遠程直接內存訪問,標題:詳解RDMA(遠程直接內存訪問)架構原理,主要內容講解的是:RDMA是一種遠端內存直接訪問技術,RDMA最早專屬于Infiniband架構,隨著在網絡融合大趨勢下出現的RoCE和iWARP,這使高速、超低延時、極低CPU使用率的RDMA得以部署在目前使用最廣泛的以太網上。
      詳解RDMA(遠程直接內存訪問)架構原理
      面對高性能計算、大數據分析和浪涌型IO高并發、低時延應用,現有TCP/IP軟硬件架構和應用高CPU消耗的技術特征根本不能滿足應用的需求。這要有體現在處理延時過大,數十微秒;多次內存拷貝、中斷處理,上下文切換、復雜的TCP/IP協議處理、網絡延時過大、存儲轉發模式和丟包導致額外延時。接下來我們繼續討論RDMA技術、原理和優勢,看完文章你就會發現為什么RDMA可以更好的解決這一系列問題。
      詳解RDMA(遠程直接內存訪問)架構原理
      RDMA是一種遠端內存直接訪問技術,詳細介紹請參看RDMA(遠程直接內存訪問)技術淺析文章。RDMA最早專屬于Infiniband架構,隨著在網絡融合大趨勢下出現的RoCE和iWARP,這使高速、超低延時、極低CPU使用率的RDMA得以部署在目前使用最廣泛的以太網上。
      RDMAC(RDMA Consortium)和IBTA(InfiniBand Trade Association)主導了RDMA發展,RDMAC是IETF的一個補充并主要定義的是iWRAP和iSER,IBTA是infiniband的全部標準制定者,并補充了RoCE v1 v2的標準化。IBTA解釋了RDMA傳輸過程中應具備的特性行為,而傳輸相關的Verbs接口和數據結構原型是由另一個組織OFA(Open Fabric Alliance)來完成。
      相比傳統DMA的內部總線IO,RDMA通過網絡在兩個端點的應用軟件之間實現Buffer的直接傳遞;相比比傳統的網絡傳輸,RDMA又無需操作系統和協議棧的介入。RDMA可以輕易實現端點間的超低延時、超高吞吐量傳輸,而且基本不需要CPU、OS等資源介入,也不必再為網絡數據的處理和搬移耗費過多其他資源。
      詳解RDMA(遠程直接內存訪問)架構原理
      InfiniBand通過以下技術保證網絡轉發的低時延(亞微秒級),采用Cut-Through轉發模式,減少轉發時延;基于Credit的流控機制,保證無丟包;硬件卸載;Buffer盡可能小,減少報文被緩沖的時延 。
      詳解RDMA(遠程直接內存訪問)架構原理
      iWARP(RDMA over TCP/IP) 利用成熟的IP網絡;繼承RDMA的優點;TCP/IP硬件實現成本高,但如果采用傳統IP網絡丟包對性能影響大。
      RoCE性能與IB網絡相當;DCB特性保證無丟包;需要以太網支持DCB特性;以太交換機時延比IB交換機時延要稍高一些。
      詳解RDMA(遠程直接內存訪問)架構原理
      RoCEv2針對RoCE進行了一些改進,如引入IP解決擴展性問題,可以跨二層組網;引入UDP解決ECMP負載分擔等問題。
      詳解RDMA(遠程直接內存訪問)架構原理
      基于InfiniBand的RDMA是在2000年發布規范,屬于原生RDMA;基于TCP/IP的RDMA稱作iWARP,在 2007年形成標準,主要包括MPA/ DDP/ RDMAP三層子協議;基于Ethernet的RDMA叫做RoCE,在2010年發布協議,基于增強型以太網并將傳輸層換成IB傳輸層實現。
      擴展RDMA API接口以兼容現有協議/應用,OFED(Open Fabrics Enterprise Distribution)協議棧由OpenFabric聯盟發布,分為Linux和windows版本,可以無縫兼容已有應用。通過使已有應用與RDMA結合后,性能成倍提升。
      詳解RDMA(遠程直接內存訪問)架構原理
      應用和RNIC(RDMA-aware Network Interface Controller)之間的傳輸接口層(Software Transport Interface)被稱為Verbs。OFA(Open Fabric Alliance)提供了RDMA傳輸的一系列Verbs API,開發了OFED(Open Fabric Enterprise Distribution)協議棧,支持多種RDMA傳輸層協議。
      OFED向下除了提供RNIC(實現 RDMA 和LLP( Lower Layer Protocol))基本的隊列消息服務外,向上還提供了ULP(Upper Layer Protocols),通過ULP上層應用不需直接和Verbs API對接,而是借助于ULP與應用對接,這樣使得常見的應用不需要做修改就可以跑在RDMA傳輸層上。
      在Infiniband/RDMA的模型中,核心是如何實現應用之間最簡單、高效和直接的通信。RDMA提供了基于消息隊列的點對點通信,每個應用都可以直接獲取自己的消息,無需操作系統和協議棧的介入。
      消息服務建立在通信雙方本端和遠端應用之間創建的Channel-IO連接之上。當應用需要通信時,就會創建一條Channel連接,每條Channel的首尾端點是兩對Queue Pairs(QP),每對QP由Send Queue(SQ)和Receive Queue(RQ)構成,這些隊列中管理著各種類型的消息。QP會被映射到應用的虛擬地址空間,使得應用直接通過它訪問RNIC網卡。除了QP描述的兩種基本隊列之外,RDMA還提供一種隊列Complete Queue(CQ),CQ用來知會用戶WQ上的消息已經被處理完。
      詳解RDMA(遠程直接內存訪問)架構原理
      RDMA提供了一套軟件傳輸接口,方便用戶創建傳輸請求Work Request(WR),WR中描述了應用希望傳輸到Channel對端的消息內容,WR通知QP中的某個隊列Work Queue(WQ)。在WQ中,用戶的WR被轉化為Work Queue Ellement(WQE)的格式,等待RNIC的異步調度解析,并從WQE指向的Buffer中拿到真正的消息發送到Channel對端。
      RDMA中SEND/RECEIVE是雙邊操作,即必須要遠端的應用感知參與才能完成收發。READ和WRITE是單邊操作,只需要本端明確信息的源和目的地址,遠端應用不必感知此次通信,數據的讀或寫都通過RDMA在RNIC與應用Buffer之間完成,再由遠端RNIC封裝成消息返回到本端。在實際中,SEND /RECEIVE多用于連接控制類報文,而數據報文多是通過READ/WRITE來完成的。
      對于雙邊操作為例,主機A向主機B(下面簡稱A、B)發送數據的流程如下
      1.首先,A和B都要創建并初始化好各自的QP,CQ
      2.A和B分別向自己的WQ中注冊WQE,對于A,WQ=SQ,WQE描述指向一個等到被發送的數據;對于B,WQ=RQ,WQE描述指向一塊用于存儲數據的Buffer。
      3.A的RNIC異步調度輪到A的WQE,解析到這是一個SEND消息,從Buffer中直接向B發出數據。數據流到達B的RNIC后,B的WQE被消耗,并把數據直接存儲到WQE指向的存儲位置。
      4.AB通信完成后,A的CQ中會產生一個完成消息CQE表示發送完成。與此同時,B的CQ中也會產生一個完成消息表示接收完成。每個WQ中WQE的處理完成都會產生一個CQE。
      雙邊操作與傳統網絡的底層Buffer Pool類似,收發雙方的參與過程并無差別,區別在零拷貝、Kernel Bypass,實際上對于RDMA,這是一種復雜的消息傳輸模式,多用于傳輸短的控制消息。
      對于單邊操作,以存儲網絡環境下的存儲為例(A作為文件系統,B作為存儲介質),數據的流程如下
      1.首先A、B建立連接,QP已經創建并且初始化。
      2.數據被存檔在A的buffer地址VA,注意VA應該提前注冊到A的RNIC,并拿到返回的local key,相當于RDMA操作這塊buffer的權限。
      3.A把數據地址VA,key封裝到專用的報文傳送到B,這相當于A把數據buffer的操作權交給了B。同時A在它的WQ中注冊進一個WR,以用于接收數據傳輸的B返回的狀態。
      4.B在收到A的送過來的數據VA和R_key后,RNIC會把它們連同存儲地址VB到封裝RDMA READ,這個過程A、B兩端不需要任何軟件參與,就可以將A的數據存儲到B的VB虛擬地址。
      5.B在存儲完成后,會向A返回整個數據傳輸的狀態信息。
      單邊操作傳輸方式是RDMA與傳統網絡傳輸的最大不同,只需提供直接訪問遠程的虛擬地址,無須遠程應用的參與其中,這種方式適用于批量數據傳輸。
      簡單總結
      Infiniband的成功取決于兩個因素,一是主機側采用RDMA技術,可以把主機內數據處理的時延從幾十微秒降低到幾微秒,同時不占用CPU;二是InfiniBand網絡的采用高帶寬(40G/56G)、低時延(幾百納秒)和無丟包特性
      隨著以太網的發展,也具備高帶寬和無丟包能力,在時延方面也能接近InfiniBand交換機的性能,所以RDMA over Ethernet(RoCE)成為必然,且RoCE組網成本更低。未來RoCE、iWARP和Infiniband等基于RDMA技術產品都會得到長足的發展。
      本文tag: RDMA RDMA技術 遠程直接內存訪問 RDMA原理
      本文鏈接:http://www.salomontrails.com/news/1157.html
      下一篇:什么是RDMA?RDMA(遠程直接內存訪問)技術淺析
      上一篇:談談高性能RDMA網絡優勢和實踐

      相關推薦:

      隨機推薦:

      QQ:317197518

      電子郵箱:317197518@qq.com

      公司業務:我們提供海內外服務器租用,公司產品豐富:獨立服務器、虛擬主機、ADSL撥號、VPS云主機等,價格便宜,歡迎選購

      公司地址:重慶市渝北區賽迪路2號金山商業中心A座6F

      CDN高防:一家全國領先的真實硬防服務器的提供商
      Copyright 2018-2020 ? www.salomontrails.com All Rights Reserved.

      分享按鈕 国产亚洲人成在线视频网站
      <th id="ssz4z"></th>
    2. <th id="ssz4z"></th>