<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ù)調(diào)研

          共 3288字,需瀏覽 7分鐘

           ·

          2022-05-20 06:06



          直接內(nèi)存訪問 (DMA) 是設(shè)備無需 CPU 干預(yù)即可直接訪問主機(jī)內(nèi)存的能力。遠(yuǎn)程直接內(nèi)存訪問(RDMA)是訪問(即讀取或?qū)懭耄┻h(yuǎn)程機(jī)器上的內(nèi)存而不中斷該系統(tǒng) 上 CPU處理的能力。本文內(nèi)容參考自“RDMA技術(shù)調(diào)研”。


          下載鏈接:

          RDMA技術(shù)專題匯總(1)

          RDMA技術(shù)專題匯總(2)


          如何配置InfiniBand和RDMA網(wǎng)絡(luò)?


          一、RDMA介紹
          1.2 RDMA介紹

          傳統(tǒng)網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)過程:



          傳統(tǒng)網(wǎng)絡(luò)協(xié)議棧的過程下,無論是發(fā)送端還是接收端,都需要CPU的指揮和控制,包括 網(wǎng)卡的控制,中斷的處理,報(bào)文的封裝和解析等等。?


          使用了RDMA技術(shù)之后網(wǎng)絡(luò)的轉(zhuǎn)發(fā)過程:




          在使用了RDMA技術(shù)時(shí),兩端的CPU幾乎不用參與數(shù)據(jù)傳輸過程(只參與控制面)。本端的網(wǎng)卡直接從內(nèi)存的用戶空間DMA拷貝數(shù)據(jù)到內(nèi)部存儲(chǔ)空間,然后硬件進(jìn)行各層報(bào)文的組裝后,通過物理鏈路發(fā)送到對(duì)端網(wǎng)卡。對(duì)端的RDMA網(wǎng)卡收到數(shù)據(jù)后,剝離各層報(bào)文頭和校驗(yàn)碼,通過DMA將數(shù)據(jù)直接拷貝到用戶空間內(nèi)存中。


          1.2 RDMA相較于傳統(tǒng)網(wǎng)絡(luò)的核心優(yōu)勢

          RDMA是現(xiàn)代高速網(wǎng)絡(luò)的具體實(shí)現(xiàn)方案,現(xiàn)主要用于數(shù)據(jù)中心內(nèi)部的存儲(chǔ)服務(wù)器之間的數(shù)據(jù)交互,相較于傳統(tǒng)網(wǎng)絡(luò),主要有三大核心優(yōu)勢∶


          • 0拷貝∶應(yīng)用程序可以在沒有網(wǎng)絡(luò)軟件堆棧參與的情況下執(zhí)行數(shù)據(jù)傳輸,并且數(shù)據(jù)被直接發(fā)送到緩沖區(qū),而無需在網(wǎng)絡(luò)層之間進(jìn)行復(fù)制。

          • 內(nèi)核旁路∶應(yīng)用程序可以真接從用戶空間執(zhí)行數(shù)據(jù)傳輸,而無需執(zhí)行上下文切換。

          • CPU卸載∶應(yīng)用程序可以訪問遠(yuǎn)程內(nèi)存而不會(huì)消耗遠(yuǎn)程機(jī)器中的任何CPU。遠(yuǎn)程內(nèi)存機(jī)器將在沒有任何遠(yuǎn)程進(jìn)程(或處理器)干預(yù)的情況下被讀取。遠(yuǎn)程 CPU 中的緩存不會(huì)被訪問的內(nèi)存內(nèi)容填滿。


          1.3 什么樣的業(yè)務(wù)場景需要用到RDMA?

          可以在至少需要以下一項(xiàng)的場景中找到RDMA∶


          • 低延遲-例如∶ HPC、金融服務(wù)、web 3.0

          • 高帶寬-例如∶HPC、醫(yī)療設(shè)備、存儲(chǔ)和備份系統(tǒng)、云計(jì)算

          • CPU占用空間小-例如∶ HPC、云計(jì)算


          1.4 三種RDMA協(xié)議介紹

          RDMA本身指的是一種技術(shù),具體協(xié)議層面,包含Infiniband (IB),RDMA over Converged Ethernet (RoCE)和internet Wide Area RDMA Protocol (WARP)。三種協(xié)議都符合RDMA標(biāo)準(zhǔn),使用相同的上層接口,在不同層次上有一些差別。


          • Infiniband:從一開始就原生支持 RDMA 的新一代網(wǎng)絡(luò)協(xié)議。由于這是一項(xiàng)新的網(wǎng)絡(luò)技術(shù),因此需要支持該技術(shù)的網(wǎng)卡和交換機(jī)。

          • ROCE:一種允許在以太網(wǎng)網(wǎng)絡(luò)上執(zhí)行 RDMA 的網(wǎng)絡(luò)協(xié)議。它的下部網(wǎng)絡(luò)標(biāo)頭是以太網(wǎng)標(biāo)頭,其上部網(wǎng)絡(luò)標(biāo)頭(包括數(shù)據(jù))是 InfiniBand 標(biāo)頭。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))上使用 RDMA。只有 NIC 應(yīng)該是特殊的并且支持RoCE。

          • iWARP:一種允許通過 TCP執(zhí)行 RDMA 的網(wǎng)絡(luò)協(xié)議。有些功能存在于IB 和 RoCE 中,但在WARP中不受支持。這允許在標(biāo)準(zhǔn)以太網(wǎng)基礎(chǔ)設(shè)施(交換機(jī))上使用RDMA。只有NIC 應(yīng)該是特殊的并支持WARP(如果使用CPU 卸載),否則所有 iWARP 堆棧都可以在SW中實(shí)現(xiàn)并失去大部分RDMA性能優(yōu)勢。發(fā)展脈絡(luò)如下圖所示:

          1.5 如何使用RDMA

          為了使用RDMA,需要一個(gè)具有 RDMA 功能的網(wǎng)絡(luò)適配器(例如 Mellanox 的Connect-X 系列網(wǎng)卡)。網(wǎng)絡(luò)的鏈路層協(xié)議可以是以太網(wǎng)或 InfiniBand——兩者都可以傳輸基于 RDMA 的應(yīng)用程序。


          二、RDMA術(shù)語及基本流程介紹
          2.1?RDMA通信的基本流程

          下面我們把CQ和WO(QP)放在一起,看一下一次SEND-RECV操作中,軟硬件的互動(dòng)(圖中序號(hào)順序不表示實(shí)際時(shí)序)∶



          簡而言之。在通信前,接收端APP需要提前在RQ中準(zhǔn)備好接收任務(wù)工作區(qū)。


          發(fā)送起始,發(fā)送端APP需要向SQ下達(dá)SEND任務(wù)。接收端收到數(shù)據(jù)后會(huì)第一時(shí)間向?qū)Ψ交貜?fù)ACK,之后生成CO,并通過CO告知APP收到了消息。


          發(fā)送端也會(huì)通過接收對(duì)方剛剛生成的ACK,生成CQ,進(jìn)而通知APP任務(wù)完成。


          三、RDMA編程方法介紹
          3.1RDMA編程基本概念介紹通信操作

          通信操作

          RDMA支持以下4種通信操作

          • SEND/RECV SEND操作允許捋數(shù)據(jù)發(fā)送到遠(yuǎn)程OP的接收隊(duì)列。接收器之前必須發(fā)布了一個(gè)接收緩沖區(qū)才能接收數(shù)據(jù)。發(fā)送方無法控制數(shù)據(jù)在遠(yuǎn)程主機(jī)中的所在位置。

          • WRITE/READ系統(tǒng)將從遠(yuǎn)程主機(jī)中讀取一段內(nèi)存。調(diào)用者指定要復(fù)制到的遠(yuǎn)程虛擬地址以及本地內(nèi)存地址。在執(zhí)行RDMA操作之前,元程主機(jī)必須提供活當(dāng)?shù)臋?quán)限來訪問其內(nèi)存。一目設(shè)置了這些權(quán)限,就會(huì)執(zhí)行RDMA讀取操作,而無需發(fā)出任何通知到遠(yuǎn)程主機(jī)。對(duì)于RDMA的讀寫操作,遠(yuǎn)程端都是不知道正在執(zhí)行此操作的(除了準(zhǔn)備權(quán)限和資源之外)。

          • ATOMIC對(duì)RDMA操作的原子擴(kuò)展。

          • SRQ_RECV通過共享RQ的方式,將原先的一個(gè)QP中一個(gè)SQ對(duì)應(yīng)一個(gè)RQ的模式,變成了多個(gè)SQ共用一個(gè)RO的模式,減少了內(nèi)存占用。


          傳輸模式

          • RC可靠連接,類似于TCP?

          • UC不可靠連接,做了連接,但是沒有做重傳

          • UD不可靠數(shù)據(jù)報(bào),類似于UDP


          幾種傳輸模式和支持的操作如下表所示∶


          • DC使用UD的主要優(yōu)點(diǎn)是單個(gè)OP 可以用來與任何其他 OP 對(duì)話;而使用 RC 時(shí),需要?jiǎng)?chuàng)建與通信對(duì)等點(diǎn)數(shù)量一樣多的 QP。Mellanox 的最新優(yōu)化引入了 DCT(動(dòng)態(tài)連接傳輸),可以很好地解決 OP 可擴(kuò)展性問題。


          關(guān)鍵概念

          • Send Request:SR定義了將發(fā)送多少數(shù)據(jù),從哪里、如何、發(fā)送到哪里。

          • Receive Request:RR定義了要為非RDMA操作接收數(shù)據(jù)的緩沖區(qū)。如果沒有定義緩沖區(qū),并且發(fā)送器嘗試發(fā)送操作或RDMA立即寫入,則捋發(fā)送接收未準(zhǔn)備好(RNR)錯(cuò)誤。

          • Completion Queue:完成隊(duì)列是一種通知應(yīng)用程序關(guān)于已結(jié)束的工作請(qǐng)求(狀態(tài)、操作碼、大小、來源)信息的機(jī)制。

          • Memory Registration:內(nèi)存注冊是一種機(jī)制,它允許應(yīng)用程序使用虛擬地址來描述一組虛擬連續(xù)的內(nèi)存位置或一組物理上連續(xù)的內(nèi)存位置到網(wǎng)絡(luò)適配器,作為一個(gè)虛擬連續(xù)的緩沖器。

          • Protection Domain:保護(hù)域用于將隊(duì)列對(duì)與內(nèi)存區(qū)域和內(nèi)存窗口關(guān)聯(lián)起來,作為啟用和控制網(wǎng)絡(luò)適配器對(duì)主機(jī)系統(tǒng)內(nèi)存的訪問的一種手段。

          • Scatter Gather 包含Address∶數(shù)據(jù)捋從其中收集或分散到的本地?cái)?shù)據(jù)緩沖區(qū)的地址。Size∶將從該地址讀取/寫入的數(shù)據(jù)的大小。L_key∶已注冊到此緩沖區(qū)的先生的本地密鑰。

          • Polling輪詢CO是獲取已發(fā)布的WR(發(fā)送或接收)的詳細(xì)信息。


          本文主要從RDMA是什么、RDMA通信邏輯以及如何進(jìn)?RDMA編程三個(gè)方面初步介紹RDMA技術(shù)。


          本文內(nèi)容參考自“RDMA技術(shù)調(diào)研”。


          下載鏈接:

          RDMA技術(shù)專題匯總(1)

          RDMA技術(shù)專題匯總(2)

          總線級(jí)數(shù)據(jù)中心網(wǎng)絡(luò)技術(shù)白皮書

          超融合數(shù)據(jù)中心網(wǎng)絡(luò)

          中國聯(lián)通的開放網(wǎng)絡(luò)研究與實(shí)踐

          中國聯(lián)通開放硬件網(wǎng)絡(luò)設(shè)備白皮書

          白牌網(wǎng)絡(luò)及交換機(jī)白皮書匯總
          1、掘金云數(shù)據(jù)中心白盒化趨勢.pdf
          2、商用交換芯片SDN支持現(xiàn)狀分析.pdf
          3、未來網(wǎng)絡(luò)白皮書——白盒交換機(jī)技術(shù)白皮書.pdf
          4、協(xié)議無關(guān)交換機(jī)架構(gòu)技術(shù)與應(yīng)用白皮書.pdf
          5、中國聯(lián)通開放硬件網(wǎng)絡(luò)設(shè)備白皮書.pdf
          6、中興通訊CO重構(gòu)技術(shù)白皮書.pdf

          來源:全棧云技術(shù)架構(gòu)


          ???????????????? ?END ?????????????????

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


          推薦閱讀

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

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



          溫馨提示:

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


          瀏覽 30
          點(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>
                  台湾精品在线 | 超碰久草 | 夜夜撸| 狼人香蕉香蕉在线28 | 五月天婷婷丁香蜜桃91 |