日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 處芯積律
  1. RDMA WRITE簡介

本文僅僅涉及可靠傳輸?shù)腞DMA WRITE。

Reliable Connection(可靠連接,簡稱 RC )模式下的 RDMA WRITE 是一種可靠、高效的RDMA傳輸方式。

  • 可靠:

    • RDMA WRITE 通過 PSN 序列號 + ACK/NAK 確認(rèn) + 自動(dòng)重傳,保障數(shù)據(jù)不丟、不重、不亂序,適合對數(shù)據(jù)完整性要求極高的場景(如分布式數(shù)據(jù)庫同步、金融交易系統(tǒng)等)。

  • 高效:

    • 全程繞過 CPU / 操作系統(tǒng):數(shù)據(jù)從發(fā)送端內(nèi)存,經(jīng)硬件(網(wǎng)卡)直接 “搬運(yùn)” 到接收端內(nèi)存,無傳統(tǒng)網(wǎng)絡(luò)傳輸?shù)?“內(nèi)核態(tài) - 用戶態(tài)” 拷貝開銷,吞吐量和延遲優(yōu)勢顯著。

RDMA WRITE操作,是本端主動(dòng)寫入遠(yuǎn)端內(nèi)存的行為。在RDMA WRITE傳輸階段,數(shù)據(jù)寫入遠(yuǎn)端存儲的過程不需要遠(yuǎn)端CPU參與,遠(yuǎn)端CPU也不感知何時(shí)有數(shù)據(jù)寫入、數(shù)據(jù)在何時(shí)接收完畢。

2.Reliable  Connection RDMA WRITE報(bào)文格式

RC RDMA WRITER包含DMA WRITE和RDMA WRITE with Immediate 這兩種類型報(bào)文,格式如下所示。

RDMA WRITE報(bào)文格式包含BTH、RETH和Payld。RDMA WRITE with Immediate報(bào)文格式包含BTH、RETH、Immediate 和Payld。Base Transport Header(BTH)即報(bào)文傳輸頭,RDMA Extended Transport Header (RETH) 即報(bào)文擴(kuò)展傳輸頭。ImmDt即Immediate Data。

2.1Base Transport Header(BTH)

  • 在BTH中,OpCode 即操作碼表示了報(bào)文的類型,其含義如如Table 38 所示。紅框?yàn)镽C RDMA WRITE支持的操作碼。

  • PSN:Packet Sequence Number,即包序列號,用于實(shí)現(xiàn) WRITE 報(bào)文保序、去重等功能。

  • A:Acknowledge,數(shù)值為1要求接收端回復(fù)ACK。

  • Partition Key (分區(qū)鍵,簡稱 P_Key ):用于構(gòu)建虛擬通信域和限制通信范圍。

    • 只有配置了相同有效 Partition Key的Queue Pair(QP,RDMA 通信的通道載體 ),才能相互通信。這樣就把 RDMA 通信限定在特定分區(qū)內(nèi),避免不同業(yè)務(wù)、不同安全級別的流量相互干擾。例如,屬于分區(qū) A(對應(yīng) P_Key1 )的 QP,無法直接和分區(qū) B(對應(yīng) P_Key2 )的 QP 通信,保障了業(yè)務(wù)間的隔離性。

    • 在 InfiniBand(IB)網(wǎng)絡(luò)環(huán)境(RDMA 常用底層網(wǎng)絡(luò)架構(gòu)之一 )中,可借助 Partition Key 將整個(gè) RDMA 網(wǎng)絡(luò)劃分成多個(gè)邏輯分區(qū) 。比如數(shù)據(jù)中心里,不同業(yè)務(wù)部門、不同應(yīng)用的 RDMA 流量,可通過 P_Key 歸屬到不同分區(qū),像高性能計(jì)算業(yè)務(wù)一個(gè)分區(qū)、人工智能訓(xùn)練業(yè)務(wù)另一個(gè)分區(qū)。

    • 構(gòu)建虛擬通信域

    • 限制通信范圍

Destination QP:目的隊(duì)列對,指明 WRITE 數(shù)據(jù)要發(fā)往的遠(yuǎn)端隊(duì)列對(QP )。

2.2 RDMA Extended Transport Header (RETH)

  • Virtual Address :

    • 在 RDMA WRITE 操作里,RETH(RDMA Extended Transport Header )中的虛擬地址(Virtual Address )是接收側(cè)應(yīng)用程序的虛擬地址,用于明確 “遠(yuǎn)端內(nèi)存寫入的目標(biāo)位置

    • 發(fā)送端通過Virtual Address ,明確 “數(shù)據(jù)要寫往接收端的哪個(gè)內(nèi)存區(qū)域”;

    • 接收端通過Virtual Address ,配合 R_Key 實(shí)現(xiàn) “權(quán)限校驗(yàn) + 地址轉(zhuǎn)換 + 直接內(nèi)存寫入”

  • R_Key:

    • R_Key(Remote Key )是接收端通過內(nèi)存注冊(MR,Memory Region )生成,并傳遞給發(fā)送端的 “遠(yuǎn)端內(nèi)存訪問權(quán)限令牌”

3.RDMA WRITE傳輸前的準(zhǔn)備工作

RDMA WRITE 操作是直接訪問遠(yuǎn)端內(nèi)存,因此需要提前完成準(zhǔn)備操作,才能發(fā)送RDMA WRITE 報(bào)文。

  1. 創(chuàng)建 QP:兩端分別創(chuàng)建 RC 類型 QP,分配資源。

  2. 地址交換:通過帶外通道(Socket/TCP 等 )交換 GID、QPN。

  3. QP 狀態(tài)切換:依次將 QP 從 RESETINITRTR(接收端 )→ RTS(發(fā)送端 )。

  4. 內(nèi)存注冊:兩端注冊內(nèi)存,接收端將 R_Key + VA 發(fā)給發(fā)送端。

4.RDMA WRITE處理流程

  1. 請求端APP以WQE的形式下發(fā)RDMA WRITE任務(wù)。

  2. 請求端硬件從SQ中取出WQE,解析信息。

  3. 請求端硬件根據(jù)WQE中的虛擬地址,轉(zhuǎn)換得到物理地址,通過PCIe端口向本地內(nèi)存讀數(shù)據(jù)

  4. 請求端硬件讀到內(nèi)存中的待發(fā)送數(shù)據(jù),組裝數(shù)據(jù)包。

  5. 請求端硬件將數(shù)據(jù)包通過物理鏈路發(fā)送給響應(yīng)端硬件。

  6. 響應(yīng)端硬件收到數(shù)據(jù)包,完成數(shù)據(jù)解析

  7. 響應(yīng)端硬件解析目的虛擬地址,并轉(zhuǎn)換成本地物理地址,解析數(shù)據(jù),并將數(shù)據(jù)放置到指定內(nèi)存區(qū)域。

  8. 響應(yīng)端回復(fù)ACK報(bào)文給請求端。

    1. 回復(fù)ACK之時(shí),RDMA網(wǎng)卡只能保證數(shù)據(jù)包中的Payload已經(jīng)被”暫存“了下來,但不能保證一定已經(jīng)把數(shù)據(jù)放到目的內(nèi)存里面了

  9. 請求端硬件收到RDMA write 對應(yīng)的ACK后

    10.請求端硬件生成CQE,放置到CQ中

    11.請求端APP取得任務(wù)完成信息。

NOTE: 如果是with immdt,響應(yīng)端必須生成CQE


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
關(guān)閉