設(shè)計(jì)IP需要考慮如下因素:
1)基于 IBTA 1.5 協(xié)議規(guī)范,支持 RoCE v2 標(biāo)準(zhǔn)協(xié)議傳輸,同時(shí)支持 ARP協(xié)議和 ICMP 協(xié)議。
2)基于 Xilinx CMAC 集成塊進(jìn)行開發(fā)并獨(dú)立設(shè)計(jì) UDP/IP 協(xié)議棧。一方面,CMAC 集成塊具有多種版本,并且適用平臺(tái)多,因此本數(shù)據(jù)傳輸系統(tǒng)能夠部署在支持 CMAC 集成塊的 FPGA 開發(fā)板上。另一方面,獨(dú)立設(shè)計(jì) UDP/IP 協(xié)議棧能夠讓本設(shè)計(jì)具有更高的數(shù)據(jù)傳輸性能并進(jìn)一步降低資源占用。
3)采用純邏輯電路開發(fā)。設(shè)計(jì)基于純邏輯電路,可以脫離 MCU 控制獨(dú)立運(yùn)行,兼容 SoC 環(huán)境與純邏輯環(huán)境。
4)使用標(biāo)準(zhǔn) AXI 總線接口,設(shè)計(jì)使用標(biāo)準(zhǔn)化的 AXI4 及 AXI-Stream 總線接口進(jìn)行數(shù)據(jù)傳輸,同時(shí)使用標(biāo)準(zhǔn)化的 AXI-Lite 總線接口提供系統(tǒng)控制功能,在保證傳輸性能的同時(shí),使得本設(shè)計(jì)更容易集成到應(yīng)用、生產(chǎn)環(huán)境中。
5)多隊(duì)列并行管理及控制。支持系統(tǒng)運(yùn)行過程中進(jìn)行創(chuàng)建隊(duì)列、刪除隊(duì)列、隊(duì)列更改等操作。
6)DMA 傳輸。通過配置 DMA 寄存器實(shí)現(xiàn)直接的數(shù)據(jù)傳輸請(qǐng)求,同時(shí)使用突發(fā)傳輸來提高數(shù)據(jù)傳輸性能。
IP框架
這里重點(diǎn)討論P(yáng)C與FPGA之間采用RDMA RoCE v2 高速數(shù)據(jù)傳輸,F(xiàn)PGA與FPGA后面介紹。該IP系統(tǒng)的整體架構(gòu)如圖 1 所示。它通過 QSFP28 接口連接上位機(jī)進(jìn)行數(shù)據(jù)傳輸;通過AXI-Lite 接口進(jìn)行系統(tǒng)控制;AXI4 接口進(jìn)行數(shù)據(jù)傳輸。在系統(tǒng)內(nèi)部,根據(jù)功能劃分為系統(tǒng)控制模塊、融合以太網(wǎng)協(xié)議棧、以太網(wǎng)協(xié)議棧和 CMAC 集成塊。以下為各功能模塊的定義。

圖1 RDMA over RoCE V2 IP框圖
該IP控制模塊是實(shí)現(xiàn)系統(tǒng)功能控制的核心模塊。RoCE v2 高速數(shù)據(jù)傳輸系統(tǒng)內(nèi)部集成了多種功能,包括 RDMA 建鏈、RDMA 隊(duì)列管理、DMA 傳輸和系統(tǒng)監(jiān)控等。
這些功能均由系統(tǒng)控制模塊進(jìn)行管理。為了對(duì)這些功能進(jìn)行高效的管理,系統(tǒng)控制模塊設(shè)計(jì)了對(duì)應(yīng)的功能控制單元及相應(yīng)的寄存器,并將這些寄存器抽象為 AXI-Lite 從機(jī)端接口,使得本數(shù)據(jù)傳輸系統(tǒng)可以簡(jiǎn)易地集成進(jìn)用戶環(huán)境。同時(shí)通過 AXI-Lite 接口,用戶可以高效的與本數(shù)據(jù)傳輸系統(tǒng)進(jìn)行交互,實(shí)現(xiàn)對(duì)系統(tǒng)功能的控制,而不必了解本IP的底層工作邏輯。
融合以太網(wǎng)協(xié)議棧是實(shí)現(xiàn) RoCE v2 命令提交和完成機(jī)制的核心模塊,完成網(wǎng)絡(luò)層級(jí)中網(wǎng)絡(luò)層及應(yīng)用層功能。該模塊負(fù)責(zé)將來自系統(tǒng)控制模塊的功能請(qǐng)求轉(zhuǎn)換為RoCE v2 指令,如建鏈、斷鏈、數(shù)據(jù)傳輸,并執(zhí)行指令提交及完成機(jī)制。此外,該模塊還實(shí)現(xiàn)了 RDMA 隊(duì)列管理功能,包括隊(duì)列存儲(chǔ)、隊(duì)列創(chuàng)建及刪除、隊(duì)列仲裁等功能。同時(shí),本模塊也負(fù)責(zé)控制 DMA 數(shù)據(jù)讀寫,將數(shù)據(jù)讀寫請(qǐng)求轉(zhuǎn)換為 AXI4 總線事務(wù),通過 AXI4 總線接口讀寫數(shù)據(jù),并負(fù)責(zé) RoCE v2 網(wǎng)絡(luò)包的封裝、解析、不變循環(huán)冗余校驗(yàn)(ICRC)生成等功能。
以太網(wǎng)協(xié)議棧模塊負(fù)責(zé)解析及組裝網(wǎng)絡(luò)包,完成網(wǎng)絡(luò)層級(jí)中傳輸層、網(wǎng)絡(luò)層及網(wǎng)絡(luò)接口層功能。首先,該模塊接收來自融合以太網(wǎng)協(xié)議棧的網(wǎng)絡(luò)包,并為其逐層添加UDP、IP 及 ETH 頭部,使其成為完整的網(wǎng)絡(luò)包后發(fā)送至 CMAC 集成塊。其次,該模塊解析來自遠(yuǎn)程主機(jī)的 ARP 或 ICMP 網(wǎng)絡(luò)包,用以實(shí)現(xiàn)網(wǎng)絡(luò)嗅探功能。最后,該模塊負(fù)責(zé)接收 CMAC 集成塊傳輸過來的網(wǎng)絡(luò)包,并對(duì)其進(jìn)行解包和解析,而后根據(jù)包的功能分發(fā)到相應(yīng)模塊或子模塊。最后,該模塊還實(shí)現(xiàn)了網(wǎng)絡(luò)擁塞處理及流量控制機(jī)
制,如 ECN 協(xié)議或 PFC 協(xié)議。
B站已給出相關(guān)性能的視頻,如想進(jìn)一步了解,請(qǐng)搜索B站用戶:專注與守望
鏈接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click
審核編輯 黃宇
-
FPGA
+關(guān)注
關(guān)注
1654文章
22271瀏覽量
629830 -
RDMA
+關(guān)注
關(guān)注
0文章
85瀏覽量
9546
發(fā)布評(píng)論請(qǐng)先 登錄
RDMA設(shè)計(jì)7:系統(tǒng)控制模塊設(shè)計(jì)
RDMA設(shè)計(jì)6:IP架構(gòu)2
RDMA設(shè)計(jì)5:RoCE V2 IP架構(gòu)
RDMA設(shè)計(jì)4:技術(shù)需求分析2
RDMA設(shè)計(jì)2:開發(fā)必要性之性能簡(jiǎn)介
RDMA設(shè)計(jì)1:開發(fā)必要性1之設(shè)計(jì)考慮
RDMA over RoCE V2設(shè)計(jì)1:通用,穩(wěn)定及高性能!
RDMA over RoCE V2設(shè)計(jì)2:ip 整體框架設(shè)計(jì)考慮
RDMA over RoCE V2設(shè)計(jì)1:為什么要設(shè)計(jì)它?

RDMA over RoCE V2設(shè)計(jì)2:ip 整體設(shè)計(jì)考慮
評(píng)論