新聞中心

SmartNIC與普通的NIC差別在哪?

作者: 時(shí)間:2022-08-24 來(lái)源:網(wǎng)絡(luò) 收藏

  普通NIC定位于高效遷移服務(wù)器的網(wǎng)絡(luò)數(shù)據(jù)包,通常包括不同程度的為優(yōu)化性能而設(shè)計(jì)的傳統(tǒng)卸載。整合了多方面的附加計(jì)算資源,但是這些架構(gòu)就像雪花一樣各不相同,因此,我們將深入研究規(guī)模最大、最受歡迎的供應(yīng)商所提供的幾種方法。

本文引用地址:http://www.butianyuan.cn/article/202208/437663.htm

  普通網(wǎng)絡(luò)接口卡(NIC)是圍繞單獨(dú)的專用集成電路(ASIC)構(gòu)建的,該集成電路被設(shè)計(jì)成以太網(wǎng)控制器。例如,邁絡(luò)思的ConnectX系列、博通的NetXtreme系列或賽靈思的XtremeScale系列。通常,這些芯片會(huì)圍繞第二個(gè)設(shè)計(jì)目標(biāo)進(jìn)行進(jìn)一步優(yōu)化;例如,ConnectX系列也支持Infiniband,而XtremeScale則專注于Linux內(nèi)核旁路。這些控制器的功能非常出色,它們代表了業(yè)界最出色的控制器,但它們不能算是。

  在本文中,我們將定義為一個(gè)允許附加軟件的NIC,而這些附加軟件可以在購(gòu)買后的某個(gè)時(shí)刻被加載到NIC中,用于添加新功能或支持其他功能。就像您購(gòu)買了一部智能手機(jī),然后從該供應(yīng)商的應(yīng)用商店下載并安裝應(yīng)用一樣。

  若要將NIC變?yōu)镾martNIC,能夠加載并運(yùn)行代碼,需要其配備額外的計(jì)算能力和板載存儲(chǔ)器,而這些功能是普通NIC所不具備的。SmartNIC的應(yīng)用大多數(shù)都是從基本的以太網(wǎng)控制器開始,要么在芯片上作為固件,要么在適配器上作為單獨(dú)的芯片。

  以下三種方法均有助于提升計(jì)算能力,使得普通的NIC變得智能:

  -Arm CPU核集成,有人稱其為集群,有些人則稱其為“網(wǎng)格”或“塊”

  -定制網(wǎng)絡(luò)處理器采用的流處理核(FPC),通常是P4

  -現(xiàn)場(chǎng)可編程門陣列(FPGA),可編程邏輯

  許多SmartNIC通常使用一個(gè)或多個(gè)Arm CPU核來(lái)管理NIC中的控制平面。有些甚至允許將修改過(guò)的Linux內(nèi)核加載到一個(gè)或多個(gè)核心中。這些Arm CPU核通常負(fù)責(zé)將代碼加載到其他處理元件中,收集統(tǒng)計(jì)信息和日志并監(jiān)測(cè)SmartNIC的運(yùn)行狀況和配置。它們不會(huì)接觸任何網(wǎng)絡(luò)數(shù)據(jù)包,且通常會(huì)在“帶外”運(yùn)行,這就意味著它們無(wú)法通過(guò)“常規(guī)”網(wǎng)絡(luò)接口或PCIe命令進(jìn)行訪問(wèn)。此外,他們只應(yīng)通過(guò)先前受保護(hù)的接口接受經(jīng)過(guò)正式簽署的固件包。除了架構(gòu)草圖以外,我們不會(huì)在下面調(diào)用這些控制平面的Arm CPU核,因?yàn)樗鼈冃枰艿溃宜鼈儽旧硗ǔ2粫?huì)為SmartNIC提供的特性集增加價(jià)值。

  為了理解SmartNIC與普通NIC的不同之處,我們需要深入了解全球四大NIC公司以及兩家初創(chuàng)企業(yè)推出的SmartNIC產(chǎn)品,看看他們做出了哪些改進(jìn)。入選的六家公司分別是英特爾、博通、英偉達(dá)(前身為邁絡(luò)思)、賽靈思、Netronome和Pensando。此外,我們還將對(duì)目前被稱為Fungible的隱形項(xiàng)目提出一些見解。

  說(shuō)到芯片公司,大家都會(huì)想到英特爾,因?yàn)樗侨蛞?guī)模最大的芯片公司。十多年來(lái),英特爾一直保持著不間斷的高性能10GbE以太網(wǎng)控制器產(chǎn)品線。他們的XL710平臺(tái)已經(jīng)出貨數(shù)百萬(wàn)臺(tái),是眾多數(shù)據(jù)中心服務(wù)器的必備產(chǎn)品。對(duì)于其新款N3000,英特爾SmartNIC的電路板采用五塊芯片。

  這種方法成本很高,因?yàn)榇蠖鄶?shù)廠商都在努力完成單芯片設(shè)計(jì)。英特爾還將一對(duì)XL710以太網(wǎng)控制器和一個(gè)使用48通道的第三代PEX8747 PCIe交換芯片的Arria 10 FPGA融合在一起。每個(gè)XL710有8個(gè)通道,Arria有16個(gè)通道,PCIe插槽有16個(gè)通道。第五塊芯片是用于管理FPGA的MAX 10 FPGA基板管理控制器(BMC),就像在其他SmartNIC上使用Arm核心來(lái)處理控制平面管理一樣。該電路板有兩個(gè)直接連接到FPGA的QSFP28端口。然后8條10G通道將FPGA留給每個(gè)XL710。這是一種典型的bump-in-the-wire架構(gòu),它使FPGA能夠在數(shù)據(jù)包被傳遞到XL710之前處理數(shù)據(jù)包。

  使用現(xiàn)成的以太網(wǎng)控制器和FPGA構(gòu)建NIC并不是什么新鮮事。早在2012年,Solarflare Communications就在NIC的兩個(gè)QSFP端口與其以太網(wǎng)控制器之間放置了一個(gè)FPGA,用于創(chuàng)建其應(yīng)用加載引擎(AOE)平臺(tái)。這是上述英特爾N3000設(shè)計(jì)的先驅(qū),它幫助Solarflare為金融客戶提供了令人印象深刻的即時(shí)交易結(jié)果,耗時(shí)僅為350納秒。8年后的今天,該記錄為24.2納秒。英特爾的方法支持FPGA在XL710之前進(jìn)行數(shù)據(jù)包處理。

  英特爾的FPGA具有115萬(wàn)個(gè)可編程邏輯單元和兩個(gè)4GB的DDR4存儲(chǔ)器組,這為它處理以下SmartNIC任務(wù)提供了充足的空間:

  -虛擬寬帶網(wǎng)絡(luò)網(wǎng)關(guān)(vBNG)

  -層級(jí)服務(wù)質(zhì)量(HQoS)

  -數(shù)據(jù)包分類、監(jiān)控、調(diào)度和成形

  -虛擬化演進(jìn)分組核心(vEPC)

  -5G新一代核心網(wǎng)絡(luò)(NGCN)

  -互聯(lián)網(wǎng)協(xié)議安全(IPSec)

  -IPv6分段路由(SRv6)

  -矢量數(shù)據(jù)包處理(VPP)

  -虛擬無(wú)線電接入網(wǎng)(vRAN)

  盡管英特爾已將上述工作負(fù)載用于其N3000平臺(tái),但目前還不清楚他們是否已交付所有必要的軟件來(lái)卸載該SmartNIC上的每個(gè)應(yīng)用。SmartNIC的消費(fèi)者會(huì)發(fā)現(xiàn),軟件才是癥結(jié)所在,所有這些公司在硬件方面都很出色,但是軟件交付又完全是另一回事。

  SmartNIC領(lǐng)域中另一家杰出的FPGA供應(yīng)商是賽靈思,它是上世紀(jì)80年代中期首家實(shí)現(xiàn)FPGA商業(yè)化的公司?,F(xiàn)如今,賽靈思已經(jīng)是FPGA領(lǐng)域的霸主,英特爾則被遠(yuǎn)遠(yuǎn)地甩在后面。賽靈思于2019年秋季收購(gòu)了Solarflare Communications,自2012年以來(lái),Solarflare一直在為電子交易構(gòu)建基于ASIC和FPGA的NIC。來(lái)自英國(guó)劍橋的SolarFarre工程團(tuán)隊(duì)是賽靈思Alveo U25 SmartNIC的研發(fā)主力,如圖所示。賽靈思的成功得益于Solarflare工程團(tuán)隊(duì)在這個(gè)市場(chǎng)中將近十年的經(jīng)驗(yàn)積累。

  Alveo U25將雙SFP28端口直接連接到Zynq系列芯片。Zynq實(shí)際上是一種片上系統(tǒng)(SoC),因?yàn)樗粌H包括FPGA,還包括用于數(shù)據(jù)包處理的四核Arm A53。然后,Zynq通過(guò)第三代PCIe提供的8個(gè)通道直接連接到主機(jī)服務(wù)器,或是通過(guò)SerDes連接到X2以太網(wǎng)控制器芯片,后者也可以通過(guò)第三代PCIe 8個(gè)通道連接到主機(jī)。這種方法使得Zynq能夠在數(shù)據(jù)包被傳遞到X2芯片之前對(duì)其進(jìn)行處理,或者完全繞過(guò)X2芯片。此外,U25還包括6GB的DDR4存儲(chǔ)器,可以通過(guò)運(yùn)行在該芯片上的程序訪問(wèn)Zynq的FPGA和Arm核心。FPGA具有52萬(wàn)個(gè)邏輯單元,是英特爾提供的邏輯單元數(shù)的一半,但是提供的四核Arm足以彌補(bǔ)減少的可用門數(shù)。

  賽靈思將U25推向市場(chǎng),最初是為了滿足那些需要開放虛擬交換機(jī)(OvS)卸載功能的客戶。賽靈思已經(jīng)宣布,在不久的將來(lái)將增加IPSec、機(jī)器學(xué)習(xí)(ML)、深度包檢測(cè)(DPI)、視頻轉(zhuǎn)碼和分析的卸載數(shù)量。賽靈思大概是SmartNIC領(lǐng)域中發(fā)展最為全面的企業(yè)。兩年前,在收購(gòu)Solarflare的準(zhǔn)備階段,賽靈思與Solarflare作為合作伙伴在OCP峰會(huì)上公開展示了X2控制器邏輯作為軟NIC在更大型FPGA中的運(yùn)行情況。

  如同英特爾一樣,賽靈思也擁有數(shù)條可盈利的計(jì)算芯片產(chǎn)品線,如Kintex、Virtex、Zynq和Versal。Kintex和Virtex都是純FPGA,該系列中某些型號(hào)采用的邏輯單元數(shù)量巨大,大約有近300萬(wàn)個(gè),幾乎是英特爾在其N3000中使用數(shù)量的三倍。此外,賽靈思還通過(guò)硅中介層創(chuàng)造了奇跡,并在Virtex芯片上分層放置了高達(dá)16GB的高帶寬存儲(chǔ)器(HBM)。所有四條芯片生產(chǎn)線的其他芯片也采用了這項(xiàng)技術(shù)。Zynq是他們的SoC芯片系列,包括FPGA可編程邏輯、四核Arm、實(shí)時(shí)Arm核心、DDR控制器以及用于以太網(wǎng)和PCI Express的連接邏輯。

  Versal超越了SoC,成為一個(gè)基于七納米芯片技術(shù)的自適應(yīng)計(jì)算加速平臺(tái)(ACAP)。ACAP通過(guò)添加數(shù)百個(gè)人工智能(AI)核心和數(shù)字信號(hào)處理(DSP)引擎來(lái)擴(kuò)展Zynq架構(gòu)。AI核心在某種程度上是新器件,但它們?cè)诒举|(zhì)上屬于單精度計(jì)算引擎。最終,賽靈思將把其公開展示的SoftNIC與Versal結(jié)合起來(lái),使其成為SmartNIC平臺(tái)中的佼佼者。

  博通是以太網(wǎng)NIC控制器商品市場(chǎng)上無(wú)可爭(zhēng)議的領(lǐng)導(dǎo)者。因此,當(dāng)他們裝配Stingray SmartNIC并加入競(jìng)爭(zhēng)時(shí),博通采用了單芯片方法。與其他競(jìng)爭(zhēng)對(duì)手的眾多芯片板相比,單芯片SmartNIC解決方案的板級(jí)生產(chǎn)成本始終保持在較低水平。博通以NetXtreme E系列控制器的邏輯為基礎(chǔ),設(shè)計(jì)了位于Stingray核心的NetXtreme-S BCM58800芯片。然后,他們?cè)诩号渲弥胁渴鹆酥黝l為3Ghz的8個(gè)Arm v8 A72核心。

  接下來(lái),他們加入了一些邏輯,以高達(dá)90千兆/秒的速度卸載加密,同時(shí)卸載擦除編碼和RAID等存儲(chǔ)處理。最后,博通還采用了具有神秘色彩的TruFlow技術(shù)。這是一個(gè)可配置的流加速器,用于將常見的網(wǎng)絡(luò)流過(guò)程轉(zhuǎn)移到硬件中;我們相信使用P4語(yǔ)言會(huì)取得很好的效果。這有助于釋放Arm核心,從而專注于流程和數(shù)據(jù)包級(jí)別上的更多可編程任務(wù)。

  從發(fā)布的內(nèi)容來(lái)看,TruFlow能夠在硬件中分擔(dān)像Open vSwitch(OvS)這樣的任務(wù)。此外,博通還聲稱TruFlow在硬件中實(shí)現(xiàn)了眾多經(jīng)典的軟件定義網(wǎng)絡(luò)(SDN)概念,例如分類、匹配和操作。因此,Stingray配備了兩個(gè)可編程組件,即TruFlow和一個(gè)由四個(gè)3Ghz雙核Arm v8 A72復(fù)合體組成的集群。了解到他們所提供產(chǎn)品的復(fù)雜性后,博通為SmartNIC應(yīng)用開發(fā)和存儲(chǔ)控制器開發(fā)提供了Stingray開發(fā)套件。這確實(shí)出乎大家的意料。

  英偉達(dá)在圖形處理單元(GPU)領(lǐng)域是公認(rèn)的領(lǐng)導(dǎo)者,GPU已經(jīng)成為高性能計(jì)算(HPC)領(lǐng)域的首選加速器。今年年初,英偉達(dá)最終以70億美元的價(jià)格完成了對(duì)邁絡(luò)思的收購(gòu)。為了占領(lǐng)HPC市場(chǎng),英偉達(dá)選擇了領(lǐng)先的無(wú)限帶寬技術(shù)互聯(lián)供應(yīng)商,以便為HPC客戶提供完整的解決方案。這與克雷過(guò)去的做法非常相似。英偉達(dá)最近還收購(gòu)了Cumulus Networks,后者是開源以太網(wǎng)交換機(jī)操作系統(tǒng)的領(lǐng)導(dǎo)者。軟件一直是邁絡(luò)思的弱點(diǎn),而英偉達(dá)顯然很早就意識(shí)到了這一點(diǎn)。關(guān)于SmartNIC,英偉達(dá)還通過(guò)收購(gòu)邁絡(luò)思得到了一個(gè)意外驚喜。

  邁絡(luò)思是最早進(jìn)入SmartNIC領(lǐng)域的公司之一,但這是通過(guò)收購(gòu)實(shí)現(xiàn)的。他們當(dāng)前的Bluefield 2解決方案是在2015年通過(guò)收購(gòu)EZchip收購(gòu)Tilera而完成構(gòu)建的。Tilera擁有首個(gè)申請(qǐng)知識(shí)產(chǎn)權(quán)的高度并行SmartNIC實(shí)現(xiàn)方案,它是從更早的MIT研究項(xiàng)目逐步發(fā)展起來(lái)的。Tilera將處理核心作為芯片上的塊進(jìn)行排列,每個(gè)核心都有一條高速總線連接到周圍的四個(gè)核心。他們的旗艦產(chǎn)品早在2013年就可支持多達(dá)72個(gè)MIPS核心、內(nèi)存控制器、加密模塊、PCIe塊和mPipe,這是通過(guò)SFP和連接器連接到多個(gè)MAC的一組通道。

  邁絡(luò)思通過(guò)用Arm替換核心并將mPipe換成ConnectX邏輯來(lái)推進(jìn)這一進(jìn)程。當(dāng)前的核心數(shù)量為8個(gè)Arm v8 A72核心,但它們被排列成由4個(gè)雙核心Arm構(gòu)成的群集。這種方法與博通的Stingray十分類似,它們不僅使用相同的核心,而且速度相同,但是它缺少Broadcom架構(gòu)的核心組成部分,即并行P4處理器。P4是每家公司的目標(biāo),只不過(guò)并不是每家公司都對(duì)此公開表明。下面提到的博通、賽靈思和Pensando都很關(guān)注P4。這也是Cumulus Networks的用武之地,他們?cè)赑4編程方面有著豐富的經(jīng)驗(yàn)。因此,為了向未來(lái)的Bluefield產(chǎn)品系列提供前端服務(wù),英偉達(dá)設(shè)計(jì)了P4數(shù)據(jù)包處理引擎也就不足為奇了。

  最新的SmartNIC初創(chuàng)企業(yè)是Pensando,由思科前首席執(zhí)行官John Chambers創(chuàng)立。John帶領(lǐng)他的夢(mèng)之隊(duì)(六名前思科員工)創(chuàng)辦了這家公司。這些人的公司過(guò)去都曾被思科收購(gòu)??紤]到他們的聲譽(yù)和以往的經(jīng)驗(yàn),人們普遍認(rèn)為Pensando正在向一些主要客戶證明他們的技術(shù)是可行的,然后他們會(huì)將其打包賣給思科。思科擁有一些通用的NIC技術(shù),但它不是SmartNIC級(jí)別的,Pensando顯然是想填補(bǔ)這一空白。

  Pensando最初提供兩種產(chǎn)品,但最近又降為單一產(chǎn)品,即分布式服務(wù)卡DSC-25,這聽起來(lái)甚至像是思科產(chǎn)品的名稱。它像是一款單一的P4處理器芯片,帶有用于一些輔助處理的Arm,數(shù)據(jù)表聲稱這兩種處理器都可支持高達(dá)4GB的板載存儲(chǔ)器。該處理器稱為Capri,它是帶有多個(gè)并行級(jí)的P4可編程單元;但確切的并行處理程度尚不清楚,因?yàn)閿?shù)據(jù)包性能、時(shí)延和抖動(dòng)尚未公布。由于緩存未命中而導(dǎo)致的指令內(nèi)存提取會(huì)影響所有指標(biāo)的性能,所以Pensando妥善管控P4應(yīng)用,將它們保留在Capri緩存中。其他被稱為服務(wù)處理卸載(Service Processing Offloads)的計(jì)算單元?jiǎng)t負(fù)責(zé)處理加密、存儲(chǔ)流程和其他任務(wù)。

  Pensando聲稱Capri能夠提供線速性能。Fungible是頗具潛力的后起之秀。在獲得了近3億美元的三輪融資(其中2億美元來(lái)自去年的C輪軟銀集團(tuán)愿景基金)后,他們宣布即將推出一款新產(chǎn)品。目前,他們有180名員工,沒有產(chǎn)品,沒有收入,也沒有可見客戶。Fungible聲稱將生產(chǎn)數(shù)據(jù)處理單元(DPU),但實(shí)際的架構(gòu)和組成尚不明朗。他們提供了下面所示的圖片,但如同架構(gòu)圖不具備重要意義一樣沒有突出重點(diǎn)。

  很多文章都提到他們的產(chǎn)品將在今年夏天發(fā)布,因此我想提醒大家關(guān)注這家公司。他們的創(chuàng)始人之一兼首席架構(gòu)師是曾在Chelsio Communications積累了10年經(jīng)驗(yàn)的資深人士,專門從事以存儲(chǔ)為中心的以太網(wǎng)NIC方面的研究。此外,他們的軟件和固件工程副總裁也曾在Chelsio任職,而且他的工作經(jīng)驗(yàn)有13年之久。因此,盡管Chelsio過(guò)去的核心產(chǎn)品是ASIC,但如今從頭開始生產(chǎn)一款領(lǐng)先的SmartNIC以太網(wǎng)控制器ASIC很容易就會(huì)消耗掉他們超過(guò)5000萬(wàn)美元的寶貴資本。

  有人推測(cè),他們將采取阻力最小的方法來(lái)獲得收益,并利用FPGA平臺(tái)開發(fā)他們的初始產(chǎn)品,同時(shí)將特有的ASIC設(shè)計(jì)加載到該平臺(tái)。隨后,他們可以在開始追求客戶和收益的同時(shí)推出設(shè)計(jì)方案。將設(shè)計(jì)加載到FPGA中有助于Fungible輕松地修復(fù)設(shè)計(jì)缺陷,并可以根據(jù)客戶要求快速改善。如今,F(xiàn)PGA的應(yīng)用越來(lái)越廣泛,我們已經(jīng)開始看到像RISC-V這樣成熟的處理器架構(gòu)被加載到這些平臺(tái)上。

  那么,SmartNIC與普通的NIC有哪些顯著性差異?計(jì)算能力、存儲(chǔ)器以及最重要的軟件設(shè)計(jì)都是為了減輕主機(jī)CPU的負(fù)擔(dān),以完成更高級(jí)的網(wǎng)絡(luò)處理任務(wù)SmartNIC將推動(dòng)計(jì)算能力逐漸擴(kuò)展到網(wǎng)絡(luò)邊緣,從而釋放服務(wù)器CPU的算力,重點(diǎn)關(guān)注復(fù)雜的業(yè)務(wù)關(guān)鍵型處理任務(wù)。研究表明,在高度虛擬化的環(huán)境中,網(wǎng)絡(luò)可以消耗主機(jī)CPU周期的多達(dá)30%來(lái)處理OvS事務(wù)等任務(wù)。試想一下,在SmartNIC中能夠完成存儲(chǔ)功能、加密、深度包檢測(cè)和復(fù)雜路由嗎?這可能會(huì)將通?;ㄙM(fèi)在處理這些工作負(fù)載上的大部分CPU周期傳遞回主機(jī)CPU。

  為了保持領(lǐng)先地位,Pensando和Fungible這樣的新興公司將繼續(xù)向SmartNIC市場(chǎng)注入創(chuàng)新特性和功能。與此同時(shí),像賽靈思、英特爾、博通和英偉達(dá)這樣的技術(shù)領(lǐng)先者也開始著手改進(jìn)基礎(chǔ)計(jì)算核心和專用P4處理引擎。SmartNIC市場(chǎng)正在升溫,而這只是從GPU技術(shù)開始興起的加速器浪潮的邊緣領(lǐng)域,但它將改變計(jì)算技術(shù)的發(fā)展方向。

作者介紹

  姓名:Scott Schweitzer

  職位:賽靈思技術(shù)布道者

  個(gè)人簡(jiǎn)介:

  自從當(dāng)年通過(guò)TRS-80計(jì)算機(jī)入門編程的世界,Scott便成為了一名忠實(shí)的科技信徒。他曾為IBM、NEC、Solarflare以及現(xiàn)在的賽靈思編寫過(guò)產(chǎn)品級(jí)的軟件產(chǎn)品,構(gòu)建過(guò)硬件產(chǎn)品,并擔(dān)任過(guò)程序管理職務(wù)。在從事單插槽計(jì)算平臺(tái)工作20年后,Scott于2003年加入NEC,管理其新推出的英特爾安騰(Itanium)多核64位超級(jí)計(jì)算服務(wù)器。自此,他一直都在該領(lǐng)域繼續(xù)深耕。

  2005年,Scott開始重點(diǎn)研究超級(jí)計(jì)算與超高性能聯(lián)網(wǎng)聚類這兩大領(lǐng)域。隨著10GbE的普及,他推出了廣受歡迎的10GbE.net博客。在2017年市場(chǎng)風(fēng)云變幻之際,Scott將10GbE.net打造成了一個(gè)每月?lián)碛袛?shù)千次頁(yè)面瀏覽量的技術(shù)傳播博客,同時(shí)還附帶一個(gè)播客。Scott在賽靈思的職責(zé)是與合作伙伴一起探尋新的加速機(jī)遇并定義創(chuàng)新解決方案。

  原文標(biāo)題:SmartNIC與普通的NIC有哪些顯著性差異?

  文章出處:【微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉