突破傳統(tǒng)網(wǎng)絡(luò)棧的性能困境
隨著100G/400G高速網(wǎng)絡(luò)普及,傳統(tǒng)Linux內(nèi)核協(xié)議棧暴露出核心瓶頸。內(nèi)核態(tài)處理64B小包難以突破5Mpps(實(shí)測(cè)數(shù)據(jù)),依賴(lài)NPU/ASIC實(shí)現(xiàn)高性能,導(dǎo)致生態(tài)封閉。內(nèi)核調(diào)度抖動(dòng)>20μs(Cloudflare 2024報(bào)告)。
VPP(矢量包處理)與DPDK的協(xié)同創(chuàng)新,通過(guò)算法重構(gòu)+架構(gòu)解耦,在通用CPU上實(shí)現(xiàn):
- 性能對(duì)標(biāo)專(zhuān)有硬件:ARM Neoverse N2處理器實(shí)現(xiàn)72Mpps轉(zhuǎn)發(fā)(64B包)
- 成本降低10倍:替代傳統(tǒng)路由器方案(TCO對(duì)比數(shù)據(jù))
- 全棧開(kāi)放可控:基于FD.io開(kāi)源生態(tài)
VPP:通用CPU上的高性能網(wǎng)絡(luò)引擎

VPP(Vector Packet Processing,矢量包處理)是Linux基金會(huì)旗下FD.io項(xiàng)目中的核心組件。它的目標(biāo)是在通用CPU架構(gòu)(如x86, ARM, POWER)上,提供一個(gè)極其快速的用戶(hù)態(tài)L2-L4網(wǎng)絡(luò)協(xié)議棧,實(shí)現(xiàn)傳統(tǒng)上需要專(zhuān)用網(wǎng)絡(luò)硬件才能達(dá)到的高性能。
矢量處理:效率的革命
傳統(tǒng)“標(biāo)量”處理的痛點(diǎn): 系統(tǒng)一次僅處理一個(gè)數(shù)據(jù)包,完成整個(gè)流程后才處理下一個(gè)。這導(dǎo)致每個(gè)包都需要獨(dú)立的資源分配、緩存管理和上下文切換開(kāi)銷(xiāo)。當(dāng)I/O速率很高時(shí),這些開(kāi)銷(xiāo)甚至與處理單個(gè)包的時(shí)間相當(dāng),效率低下。VPP的解決方案:
- 批量處理: VPP將一組數(shù)據(jù)包(如64個(gè))組合成一個(gè)“矢量”,在每個(gè)處理節(jié)點(diǎn)中一次性處理整個(gè)矢量。這大幅分?jǐn)偭速Y源準(zhǔn)備和上下文切換的開(kāi)銷(xiāo)。
- 利用SIMD指令: 現(xiàn)代CPU的SIMD(單指令多數(shù)據(jù))指令集(如ARM的SVE2)允許單條指令同時(shí)操作多個(gè)數(shù)據(jù)包中的數(shù)據(jù)(如同時(shí)處理64個(gè)IPv4地址),顯著加速計(jì)算密集型操作(如路由查找、加解密)。
- 優(yōu)化緩存利用: 一次性將多個(gè)數(shù)據(jù)包加載到CPU高速緩存(L1/L2)中處理,減少了對(duì)主內(nèi)存的頻繁訪問(wèn)次數(shù),極大提升了效率。

簡(jiǎn)言之,VPP通過(guò)批量化、并行計(jì)算和緩存優(yōu)化,在通用CPU上實(shí)現(xiàn)了接近專(zhuān)用硬件的包處理性能。
用戶(hù)態(tài)協(xié)議棧:繞過(guò)內(nèi)核瓶頸
傳統(tǒng)Linux內(nèi)核網(wǎng)絡(luò)協(xié)議棧雖然通用性強(qiáng),但在高性能場(chǎng)景下存在顯著瓶頸。用戶(hù)程序處理網(wǎng)絡(luò)數(shù)據(jù)需要頻繁陷入內(nèi)核,帶來(lái)延遲。OSI模型逐層處理和層間數(shù)據(jù)拷貝效率低下。軟中斷與單線程限制, 主要依賴(lài)軟中斷和單線程模型,難以充分利用多核CPU,高并發(fā)下成為瓶頸。
VPP的優(yōu)勢(shì)在于完全在用戶(hù)態(tài)實(shí)現(xiàn)網(wǎng)絡(luò)協(xié)議棧:
- 消除模式切換: 運(yùn)行在用戶(hù)態(tài),結(jié)合DPDK直接訪問(wèn)網(wǎng)卡,徹底繞過(guò)內(nèi)核協(xié)議棧和內(nèi)核態(tài)/用戶(hù)態(tài)切換。
- 融合協(xié)議處理: 將IP、TCP、Session等層處理緊密結(jié)合在同一內(nèi)存區(qū)域進(jìn)行,減少冗余數(shù)據(jù)傳遞和拷貝。
- 用戶(hù)態(tài)多線程并行: 利用現(xiàn)代CPU多核能力,通過(guò)線程池并行處理多個(gè)數(shù)據(jù)流,調(diào)度開(kāi)銷(xiāo)更小,任務(wù)分配更靈活,吞吐量可隨核心數(shù)近線性增長(zhǎng)。
用戶(hù)態(tài)網(wǎng)絡(luò)協(xié)議棧是VPP實(shí)現(xiàn)高性能的關(guān)鍵架構(gòu),通過(guò)消除內(nèi)核瓶頸、融合處理和多核并行,釋放了通用硬件的網(wǎng)絡(luò)潛能。

DPDK(Data Plane Development Kit)是另一個(gè)關(guān)鍵的開(kāi)源項(xiàng)目(同樣在Linux基金會(huì)下)。它提供了一套用戶(hù)態(tài)庫(kù)和驅(qū)動(dòng)程序:
- 核心思想: 繞過(guò)Linux內(nèi)核,直接在用戶(hù)態(tài)進(jìn)行高速數(shù)據(jù)包處理。
- 實(shí)現(xiàn)方式: 使用用戶(hù)態(tài)的“輪詢(xún)模式驅(qū)動(dòng)程序”(PMD),持續(xù)輪詢(xún)網(wǎng)卡隊(duì)列獲取新數(shù)據(jù)包,實(shí)現(xiàn)高吞吐量和低延遲(工作在L2)。
提供對(duì)網(wǎng)絡(luò)硬件的直接、高效訪問(wèn)能力。
VPP + DPDK:強(qiáng)強(qiáng)聯(lián)合,釋放極致性能
VPP與DPDK的集成是天然且高效的:
- 分工協(xié)作: VPP專(zhuān)注于L2-L7的高層網(wǎng)絡(luò)協(xié)議處理邏輯,而DPDK則作為其底層“驅(qū)動(dòng)程序”,負(fù)責(zé)L2的快速收發(fā)包和直接硬件訪問(wèn)。

核心優(yōu)勢(shì):
- 直接硬件訪問(wèn): VPP通過(guò)DPDK直接操作網(wǎng)卡,完全避開(kāi)了內(nèi)核協(xié)議棧及其開(kāi)銷(xiāo)。
- 零拷貝(或最小化拷貝): DPDK將網(wǎng)卡的DMA內(nèi)存區(qū)域映射到用戶(hù)態(tài),使得VPP可以直接訪問(wèn)數(shù)據(jù)包,避免了內(nèi)核態(tài)到用戶(hù)態(tài)的數(shù)據(jù)拷貝。
這種集成構(gòu)建了一個(gè)完整的、高性能的用戶(hù)態(tài)網(wǎng)絡(luò)數(shù)據(jù)平面,在通用CPU上實(shí)現(xiàn)了以往只有專(zhuān)用硬件才能提供的網(wǎng)絡(luò)性能。
應(yīng)用實(shí)例:開(kāi)放網(wǎng)絡(luò)硬件平臺(tái)
基于VPP+DPDK的強(qiáng)大能力,構(gòu)建了系列開(kāi)放網(wǎng)絡(luò)硬件平臺(tái),滿(mǎn)足不同場(chǎng)景需求:
智能網(wǎng)關(guān)平臺(tái)

- 核心硬件: 采用高性能Marvell OCTEON 10 ARM Neoverse N2 8核處理器。
- 性能亮點(diǎn): 在加載全互聯(lián)網(wǎng)BGP路由表(約100萬(wàn)條)的嚴(yán)苛條件下,仍能提供高達(dá)48Gbps的路由轉(zhuǎn)發(fā)性能。這相當(dāng)于能同時(shí)流暢承載3000路4K高清視頻通話。
- 價(jià)值: 滿(mǎn)足企業(yè)出口網(wǎng)關(guān)、小型城域網(wǎng)邊緣、云邊緣網(wǎng)關(guān)等場(chǎng)景對(duì)高性能、低成本、開(kāi)放性的需求。
- 對(duì)比優(yōu)勢(shì): 相比未采用VPP的同等硬件平臺(tái),性能提升超過(guò)10倍。

Helium DPU 智能網(wǎng)卡

- 核心功能: 基于高性能DPU芯片設(shè)計(jì),通過(guò)PCIe Gen3.0/4.0接口連接服務(wù)器,提供高達(dá)100Gbps的網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)功能卸載和加速能力,顯著釋放服務(wù)器主CPU資源。
- 關(guān)鍵優(yōu)勢(shì):
- 強(qiáng)大的業(yè)務(wù)處理: 支持復(fù)雜網(wǎng)絡(luò)功能卸載(如OVS, Firewall, VPN)及存儲(chǔ)、安全加速。
- 卓越的開(kāi)放性 & 易移植性: 基于x86開(kāi)發(fā)的DPDK應(yīng)用、VPP應(yīng)用以及標(biāo)準(zhǔn)Linux驅(qū)動(dòng)應(yīng)用,僅需簡(jiǎn)單編譯即可快速遷移到Helium DPU卡上運(yùn)行,保護(hù)客戶(hù)投資,降低開(kāi)發(fā)門(mén)檻。
- 產(chǎn)品規(guī)格: 提供4x25GE和2x100GE端口型號(hào),更高規(guī)格產(chǎn)品持續(xù)開(kāi)發(fā)中。
公眾號(hào):星融元Asterfusion(獲取《開(kāi)放網(wǎng)絡(luò)架構(gòu)指南》)
-
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
5604瀏覽量
52846 -
VPP
+關(guān)注
關(guān)注
0文章
8瀏覽量
9738 -
DPDK
+關(guān)注
關(guān)注
0文章
14瀏覽量
1848
發(fā)布評(píng)論請(qǐng)先 登錄
2012:IT產(chǎn)業(yè)界成王敗寇戰(zhàn)役即將開(kāi)打
資深業(yè)界女將深度解析智能硬件投資邏輯
物聯(lián)網(wǎng)助力RFID產(chǎn)業(yè)發(fā)展
一文幫你梳理Cortex與ARMv8等基礎(chǔ)概念
簡(jiǎn)單梳理一下嵌入式視覺(jué)領(lǐng)域的主流硬件平臺(tái)
技術(shù)構(gòu)筑萬(wàn)物智聯(lián),第一屆OpenHarmony技術(shù)峰會(huì)圓滿(mǎn)舉行
共建、共享開(kāi)源EDA核心共性技術(shù)框架|2023開(kāi)放原子全球開(kāi)源峰會(huì)開(kāi)源EDA分論壇成功舉辦
NXP量產(chǎn)業(yè)界最高性能的CortexTM-M3微控制器--L
松下公司開(kāi)始出產(chǎn)業(yè)界容量最高筆記本電池
5G是產(chǎn)業(yè)互聯(lián)網(wǎng)的爆發(fā)期將為產(chǎn)業(yè)界創(chuàng)造巨大機(jī)遇
豆?jié){早餐會(huì)的談話 七個(gè)產(chǎn)業(yè)界的重量級(jí)人物
華為先于產(chǎn)業(yè)界啟動(dòng)5G研究,力推全球統(tǒng)一標(biāo)準(zhǔn)
簡(jiǎn)述高速流量處理DPDK替代方案

光伏連接器:跨越家用與產(chǎn)業(yè)界的電力使者

評(píng)論