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

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

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

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

  • 可靠:

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

  • 高效:

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

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

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

RC RDMA WRITER包含DMA WRITE和RDMA WRITE with Immediate 這兩種類(lèi)型報(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)文的類(lèi)型,其含義如如Table 38 所示。紅框?yàn)镽C RDMA WRITE支持的操作碼。

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

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

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

    • 只有配置了相同有效 Partition Key的Queue Pair(QP,RDMA 通信的通道載體 ),才能相互通信。這樣就把 RDMA 通信限定在特定分區(qū)內(nèi),避免不同業(yè)務(wù)、不同安全級(jí)別的流量相互干擾。例如,屬于分區(qū) A(對(duì)應(yīng) P_Key1 )的 QP,無(wú)法直接和分區(qū) B(對(duì)應(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ù)部門(mén)、不同應(yīng)用的 RDMA 流量,可通過(guò) P_Key 歸屬到不同分區(qū),像高性能計(jì)算業(yè)務(wù)一個(gè)分區(qū)、人工智能訓(xùn)練業(yè)務(wù)另一個(gè)分區(qū)。

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

    • 限制通信范圍

Destination QP:目的隊(duì)列對(duì),指明 WRITE 數(shù)據(jù)要發(fā)往的遠(yuǎn)端隊(duì)列對(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)存寫(xiě)入的目標(biāo)位置

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

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

  • R_Key:

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

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

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

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

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

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

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

4.RDMA WRITE處理流程

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

  2. 請(qǐng)求端硬件從SQ中取出WQE,解析信息。

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

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

  5. 請(qǐng)求端硬件將數(shù)據(jù)包通過(guò)物理鏈路發(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)文給請(qǐng)求端。

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

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

    10.請(qǐng)求端硬件生成CQE,放置到CQ中

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

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


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