三年前的2020年5月12日,我們分享了一篇有關(guān)100G開(kāi)源網(wǎng)卡的文章《【干貨】尋找開(kāi)源100G NIC Corundum中的隱藏BUG等。大概兩年前,我們決定基于開(kāi)源的Corundum架構(gòu)研制100G RDMA網(wǎng)卡,終于目前有了穩(wěn)定的一版,以下是詳細(xì)介紹,歡迎大家留言討論指導(dǎo)。
傳統(tǒng)TCP/IP技術(shù)處理數(shù)據(jù)包需通過(guò)操作系統(tǒng)和其他軟件層,導(dǎo)致數(shù)據(jù)在系統(tǒng)內(nèi)存、處理器緩存和網(wǎng)絡(luò)控制器緩存間頻繁復(fù)制,增加了服務(wù)器CPU和內(nèi)存的負(fù)擔(dān),特別是在網(wǎng)絡(luò)帶寬、處理器速度與內(nèi)存帶寬不匹配時(shí),網(wǎng)絡(luò)延遲會(huì)進(jìn)一步加劇。RDMA技術(shù)通過(guò)將數(shù)據(jù)處理從CPU旁路并卸載到硬件上來(lái)實(shí)現(xiàn)低時(shí)延和高帶寬特性。
基于這一研究背景,介紹一種具備RDMA功能的FPGA網(wǎng)卡實(shí)現(xiàn)方案—RNIC 。本方案以Corundum開(kāi)源高性能原型平臺(tái)為基礎(chǔ), 實(shí)現(xiàn)了100Gbps的RoCE v2網(wǎng)絡(luò)協(xié)議棧卸載加速;在保留Corundum原生PCIe DMA引擎等組件的基礎(chǔ)上,通過(guò)精準(zhǔn)的拆分設(shè)計(jì)、邏輯耦合和路徑復(fù)用,將RoCE v2網(wǎng)絡(luò)協(xié)議棧嵌入以太網(wǎng)網(wǎng)卡設(shè)計(jì)。方案支持單邊RDMA READ和RDMA WRITE操作、雙邊SEND/RECV操作以及立即數(shù)操作,提供Back-to-N的重傳機(jī)制保障數(shù)據(jù)傳輸完整性的同時(shí)提供了可達(dá)256的Outstanding能力, 并支持基于DCQCN算法的擁塞控制機(jī)制為本方案在數(shù)據(jù)中心等場(chǎng)景的大規(guī)模部署提供保障。實(shí)測(cè)RNIC能夠?qū)崿F(xiàn)低至4us左右的硬件端到端延遲以及高達(dá)96Gbps的吞吐量。
我們實(shí)現(xiàn)的100G RDMA網(wǎng)卡具體指標(biāo)和性能如下:
測(cè)試場(chǎng)景及拓?fù)溥B接圖如下。
TCP測(cè)試結(jié)果如下。
TCP性能表現(xiàn):實(shí)測(cè)在Linux系統(tǒng)環(huán)境下,端到端連接拓?fù)洌?dāng)MTU=9214B,不進(jìn)行多核優(yōu)化時(shí),本方案的iperf TCP帶寬可達(dá)59.7G bps;CPU占用率為12%左右 ; TCP/IP協(xié)議普遍延遲在100–200微秒之間。
TCP測(cè)試分析:性能開(kāi)銷集中在內(nèi)核協(xié)議棧的系統(tǒng)調(diào)用、內(nèi)存拷貝、協(xié)議處理與中斷處理等方面。這些開(kāi)銷占用了大量的CPU 資源,增加了數(shù)據(jù)延遲。
RDMA測(cè)試結(jié)果如下。
RDMA性能表現(xiàn):在Linux系統(tǒng)環(huán)境下,相同測(cè)試拓?fù)洌褂门涮昨?qū)動(dòng)程序和應(yīng)用程序發(fā)送RDMA命令進(jìn)行測(cè)試。本方案的RDMA網(wǎng)卡實(shí)測(cè)單邊RDMA語(yǔ)義讀寫帶寬可達(dá)96.28G bps;CPU占用率不超過(guò)0.3%;硬件端到端讀寫延遲低至4us左右。
RDMA測(cè)試分析:當(dāng)消息大小大于8KB時(shí),系統(tǒng)吞吐量可以逼近滿帶寬,當(dāng)消息較小時(shí),吞吐量會(huì)顯著降低。原因一方面是數(shù)據(jù)幀幀頭開(kāi)銷占比上升導(dǎo)致有效帶寬下降,另一方面在于硬件設(shè)計(jì)無(wú)法支撐更高的消息速率。時(shí)延會(huì)隨消息大小出現(xiàn)近似線性的增長(zhǎng),最大的延遲花費(fèi)在PCIe鏈路和網(wǎng)絡(luò)鏈路上,硬件的處理開(kāi)銷占比很小。
對(duì)比以太網(wǎng)和RDMA的測(cè)試結(jié)果可知,在相同的硬件條件下,使用RDMA技術(shù)的網(wǎng)卡可以擁有更高的網(wǎng)絡(luò)帶寬和更低的傳輸時(shí)延,對(duì)于云服務(wù)、數(shù)據(jù)中心等具有高吞吐量的網(wǎng)絡(luò)業(yè)務(wù)需求場(chǎng)景,RDMA技術(shù)更能滿足實(shí)際需要,能充分解放處理器資源,提高帶寬,降低成本。
下面視頻詳細(xì)介紹實(shí)際測(cè)試情況:
我們未來(lái)有很多工作要做,如添加我們之前做的P4可編程的工作(【Verilog開(kāi)源】一種用于智能網(wǎng)卡或可編程交換機(jī)的,支持P4語(yǔ)言的高性能開(kāi)源解析器的設(shè)計(jì)),突破Corundum架構(gòu)限制支持百萬(wàn)QP對(duì)和提升小包性能,進(jìn)一步優(yōu)化流量控制、擁塞管理和負(fù)載均衡等問(wèn)題,進(jìn)一步的提高數(shù)據(jù)中心網(wǎng)絡(luò)的數(shù)據(jù)傳輸速率和穩(wěn)定性。
-
內(nèi)存
+關(guān)注
關(guān)注
8文章
3083瀏覽量
74606 -
網(wǎng)卡
+關(guān)注
關(guān)注
4文章
316瀏覽量
27564 -
Verilog
+關(guān)注
關(guān)注
28文章
1355瀏覽量
110871 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3472瀏覽量
42946 -
RDMA
+關(guān)注
關(guān)注
0文章
80瀏覽量
9058
原文標(biāo)題:基于Corundum架構(gòu)的100G RDMA網(wǎng)卡
文章出處:【微信號(hào):HXSLH1010101010,微信公眾號(hào):FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
解密100G QSFP28光模塊種類、解決方案
100G光模塊專題:100G光模塊概述、優(yōu)點(diǎn)和應(yīng)用
什么是100G光模塊?介紹:100G光模塊標(biāo)準(zhǔn)、參數(shù)、優(yōu)勢(shì)
100G AOC有源光纜和100G高速線纜有什么區(qū)別?
什么是100G SR4光模塊?100G SR4有哪些特性、優(yōu)點(diǎn)和應(yīng)用?
數(shù)據(jù)中心100G QSFP28光模塊優(yōu)勢(shì)
如何實(shí)現(xiàn)100G光傳送網(wǎng)?
光通信主流100G光模塊淺析
普通電腦換上Xilinx Alveo U50 100G網(wǎng)卡傳文件會(huì)有多快
如何選擇最適合自己的RDMA網(wǎng)卡
開(kāi)源100 Gbps NIC Corundum環(huán)境的搭建

100G DSFP網(wǎng)卡+100G DSFP AOC解決方案

25G/100G網(wǎng)卡選購(gòu)指南

尋找開(kāi)源100G NIC Corundum中的隱藏BUG

評(píng)論