SmartNIC與普通的NIC差別在哪?
普通NIC定位于高效遷移服務(wù)器的網(wǎng)絡(luò)數(shù)據(jù)包,通常包括不同程度的為優(yōu)化性能而設(shè)計的傳統(tǒng)卸載。SmartNIC整合了多方面的附加計算資源,但是這些架構(gòu)就像雪花一樣各不相同,因此,我們將深入研究規(guī)模最大、最受歡迎的供應(yīng)商所提供的幾種方法。
本文引用地址:http://m.butianyuan.cn/article/202208/437663.htm普通網(wǎng)絡(luò)接口卡(NIC)是圍繞單獨的專用集成電路(ASIC)構(gòu)建的,該集成電路被設(shè)計成以太網(wǎng)控制器。例如,邁絡(luò)思的ConnectX系列、博通的NetXtreme系列或賽靈思的XtremeScale系列。通常,這些芯片會圍繞第二個設(shè)計目標(biāo)進(jìn)行進(jìn)一步優(yōu)化;例如,ConnectX系列也支持Infiniband,而XtremeScale則專注于Linux內(nèi)核旁路。這些控制器的功能非常出色,它們代表了業(yè)界最出色的控制器,但它們不能算是SmartNIC。
在本文中,我們將SmartNIC定義為一個允許附加軟件的NIC,而這些附加軟件可以在購買后的某個時刻被加載到NIC中,用于添加新功能或支持其他功能。就像您購買了一部智能手機(jī),然后從該供應(yīng)商的應(yīng)用商店下載并安裝應(yīng)用一樣。
若要將NIC變?yōu)镾martNIC,能夠加載并運行代碼,需要其配備額外的計算能力和板載存儲器,而這些功能是普通NIC所不具備的。SmartNIC的應(yīng)用大多數(shù)都是從基本的以太網(wǎng)控制器開始,要么在芯片上作為固件,要么在適配器上作為單獨的芯片。
以下三種方法均有助于提升計算能力,使得普通的NIC變得智能:
-Arm CPU核集成,有人稱其為集群,有些人則稱其為“網(wǎng)格”或“塊”
-定制網(wǎng)絡(luò)處理器采用的流處理核(FPC),通常是P4
-現(xiàn)場可編程門陣列(FPGA),可編程邏輯
許多SmartNIC通常使用一個或多個Arm CPU核來管理NIC中的控制平面。有些甚至允許將修改過的Linux內(nèi)核加載到一個或多個核心中。這些Arm CPU核通常負(fù)責(zé)將代碼加載到其他處理元件中,收集統(tǒng)計信息和日志并監(jiān)測SmartNIC的運行狀況和配置。它們不會接觸任何網(wǎng)絡(luò)數(shù)據(jù)包,且通常會在“帶外”運行,這就意味著它們無法通過“常規(guī)”網(wǎng)絡(luò)接口或PCIe命令進(jìn)行訪問。此外,他們只應(yīng)通過先前受保護(hù)的接口接受經(jīng)過正式簽署的固件包。除了架構(gòu)草圖以外,我們不會在下面調(diào)用這些控制平面的Arm CPU核,因為它們需要管道,而且它們本身通常不會為SmartNIC提供的特性集增加價值。
為了理解SmartNIC與普通NIC的不同之處,我們需要深入了解全球四大NIC公司以及兩家初創(chuàng)企業(yè)推出的SmartNIC產(chǎn)品,看看他們做出了哪些改進(jìn)。入選的六家公司分別是英特爾、博通、英偉達(dá)(前身為邁絡(luò)思)、賽靈思、Netronome和Pensando。此外,我們還將對目前被稱為Fungible的隱形項目提出一些見解。
說到芯片公司,大家都會想到英特爾,因為它是全球規(guī)模最大的芯片公司。十多年來,英特爾一直保持著不間斷的高性能10GbE以太網(wǎng)控制器產(chǎn)品線。他們的XL710平臺已經(jīng)出貨數(shù)百萬臺,是眾多數(shù)據(jù)中心服務(wù)器的必備產(chǎn)品。對于其新款N3000,英特爾SmartNIC的電路板采用五塊芯片。
這種方法成本很高,因為大多數(shù)廠商都在努力完成單芯片設(shè)計。英特爾還將一對XL710以太網(wǎng)控制器和一個使用48通道的第三代PEX8747 PCIe交換芯片的Arria 10 FPGA融合在一起。每個XL710有8個通道,Arria有16個通道,PCIe插槽有16個通道。第五塊芯片是用于管理FPGA的MAX 10 FPGA基板管理控制器(BMC),就像在其他SmartNIC上使用Arm核心來處理控制平面管理一樣。該電路板有兩個直接連接到FPGA的QSFP28端口。然后8條10G通道將FPGA留給每個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的兩個QSFP端口與其以太網(wǎng)控制器之間放置了一個FPGA,用于創(chuàng)建其應(yīng)用加載引擎(AOE)平臺。這是上述英特爾N3000設(shè)計的先驅(qū),它幫助Solarflare為金融客戶提供了令人印象深刻的即時交易結(jié)果,耗時僅為350納秒。8年后的今天,該記錄為24.2納秒。英特爾的方法支持FPGA在XL710之前進(jìn)行數(shù)據(jù)包處理。
英特爾的FPGA具有115萬個可編程邏輯單元和兩個4GB的DDR4存儲器組,這為它處理以下SmartNIC任務(wù)提供了充足的空間:
-虛擬寬帶網(wǎng)絡(luò)網(wǎng)關(guān)(vBNG)
-層級服務(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ǎng)(vRAN)
盡管英特爾已將上述工作負(fù)載用于其N3000平臺,但目前還不清楚他們是否已交付所有必要的軟件來卸載該SmartNIC上的每個應(yīng)用。SmartNIC的消費者會發(fā)現(xiàn),軟件才是癥結(jié)所在,所有這些公司在硬件方面都很出色,但是軟件交付又完全是另一回事。
SmartNIC領(lǐng)域中另一家杰出的FPGA供應(yīng)商是賽靈思,它是上世紀(jì)80年代中期首家實現(xiàn)FPGA商業(yè)化的公司?,F(xiàn)如今,賽靈思已經(jīng)是FPGA領(lǐng)域的霸主,英特爾則被遠(yuǎn)遠(yuǎn)地甩在后面。賽靈思于2019年秋季收購了Solarflare Communications,自2012年以來,Solarflare一直在為電子交易構(gòu)建基于ASIC和FPGA的NIC。來自英國劍橋的SolarFarre工程團(tuán)隊是賽靈思Alveo U25 SmartNIC的研發(fā)主力,如圖所示。賽靈思的成功得益于Solarflare工程團(tuán)隊在這個市場中將近十年的經(jīng)驗積累。
Alveo U25將雙SFP28端口直接連接到Zynq系列芯片。Zynq實際上是一種片上系統(tǒng)(SoC),因為它不僅包括FPGA,還包括用于數(shù)據(jù)包處理的四核Arm A53。然后,Zynq通過第三代PCIe提供的8個通道直接連接到主機(jī)服務(wù)器,或是通過SerDes連接到X2以太網(wǎng)控制器芯片,后者也可以通過第三代PCIe 8個通道連接到主機(jī)。這種方法使得Zynq能夠在數(shù)據(jù)包被傳遞到X2芯片之前對其進(jìn)行處理,或者完全繞過X2芯片。此外,U25還包括6GB的DDR4存儲器,可以通過運行在該芯片上的程序訪問Zynq的FPGA和Arm核心。FPGA具有52萬個邏輯單元,是英特爾提供的邏輯單元數(shù)的一半,但是提供的四核Arm足以彌補減少的可用門數(shù)。
賽靈思將U25推向市場,最初是為了滿足那些需要開放虛擬交換機(jī)(OvS)卸載功能的客戶。賽靈思已經(jīng)宣布,在不久的將來將增加IPSec、機(jī)器學(xué)習(xí)(ML)、深度包檢測(DPI)、視頻轉(zhuǎn)碼和分析的卸載數(shù)量。賽靈思大概是SmartNIC領(lǐng)域中發(fā)展最為全面的企業(yè)。兩年前,在收購Solarflare的準(zhǔn)備階段,賽靈思與Solarflare作為合作伙伴在OCP峰會上公開展示了X2控制器邏輯作為軟NIC在更大型FPGA中的運行情況。
如同英特爾一樣,賽靈思也擁有數(shù)條可盈利的計算芯片產(chǎn)品線,如Kintex、Virtex、Zynq和Versal。Kintex和Virtex都是純FPGA,該系列中某些型號采用的邏輯單元數(shù)量巨大,大約有近300萬個,幾乎是英特爾在其N3000中使用數(shù)量的三倍。此外,賽靈思還通過硅中介層創(chuàng)造了奇跡,并在Virtex芯片上分層放置了高達(dá)16GB的高帶寬存儲器(HBM)。所有四條芯片生產(chǎn)線的其他芯片也采用了這項技術(shù)。Zynq是他們的SoC芯片系列,包括FPGA可編程邏輯、四核Arm、實時Arm核心、DDR控制器以及用于以太網(wǎng)和PCI Express的連接邏輯。
Versal超越了SoC,成為一個基于七納米芯片技術(shù)的自適應(yīng)計算加速平臺(ACAP)。ACAP通過添加數(shù)百個人工智能(AI)核心和數(shù)字信號處理(DSP)引擎來擴(kuò)展Zynq架構(gòu)。AI核心在某種程度上是新器件,但它們在本質(zhì)上屬于單精度計算引擎。最終,賽靈思將把其公開展示的SoftNIC與Versal結(jié)合起來,使其成為SmartNIC平臺中的佼佼者。
博通是以太網(wǎng)NIC控制器商品市場上無可爭議的領(lǐng)導(dǎo)者。因此,當(dāng)他們裝配Stingray SmartNIC并加入競爭時,博通采用了單芯片方法。與其他競爭對手的眾多芯片板相比,單芯片SmartNIC解決方案的板級生產(chǎn)成本始終保持在較低水平。博通以NetXtreme E系列控制器的邏輯為基礎(chǔ),設(shè)計了位于Stingray核心的NetXtreme-S BCM58800芯片。然后,他們在集群配置中部署了主頻為3Ghz的8個Arm v8 A72核心。
接下來,他們加入了一些邏輯,以高達(dá)90千兆/秒的速度卸載加密,同時卸載擦除編碼和RAID等存儲處理。最后,博通還采用了具有神秘色彩的TruFlow技術(shù)。這是一個可配置的流加速器,用于將常見的網(wǎng)絡(luò)流過程轉(zhuǎn)移到硬件中;我們相信使用P4語言會取得很好的效果。這有助于釋放Arm核心,從而專注于流程和數(shù)據(jù)包級別上的更多可編程任務(wù)。
從發(fā)布的內(nèi)容來看,TruFlow能夠在硬件中分擔(dān)像Open vSwitch(OvS)這樣的任務(wù)。此外,博通還聲稱TruFlow在硬件中實現(xiàn)了眾多經(jīng)典的軟件定義網(wǎng)絡(luò)(SDN)概念,例如分類、匹配和操作。因此,Stingray配備了兩個可編程組件,即TruFlow和一個由四個3Ghz雙核Arm v8 A72復(fù)合體組成的集群。了解到他們所提供產(chǎn)品的復(fù)雜性后,博通為SmartNIC應(yīng)用開發(fā)和存儲控制器開發(fā)提供了Stingray開發(fā)套件。這確實出乎大家的意料。
英偉達(dá)在圖形處理單元(GPU)領(lǐng)域是公認(rèn)的領(lǐng)導(dǎo)者,GPU已經(jīng)成為高性能計算(HPC)領(lǐng)域的首選加速器。今年年初,英偉達(dá)最終以70億美元的價格完成了對邁絡(luò)思的收購。為了占領(lǐng)HPC市場,英偉達(dá)選擇了領(lǐng)先的無限帶寬技術(shù)互聯(lián)供應(yīng)商,以便為HPC客戶提供完整的解決方案。這與克雷過去的做法非常相似。英偉達(dá)最近還收購了Cumulus Networks,后者是開源以太網(wǎng)交換機(jī)操作系統(tǒng)的領(lǐng)導(dǎo)者。軟件一直是邁絡(luò)思的弱點,而英偉達(dá)顯然很早就意識到了這一點。關(guān)于SmartNIC,英偉達(dá)還通過收購邁絡(luò)思得到了一個意外驚喜。
邁絡(luò)思是最早進(jìn)入SmartNIC領(lǐng)域的公司之一,但這是通過收購實現(xiàn)的。他們當(dāng)前的Bluefield 2解決方案是在2015年通過收購EZchip收購Tilera而完成構(gòu)建的。Tilera擁有首個申請知識產(chǎn)權(quán)的高度并行SmartNIC實現(xiàn)方案,它是從更早的MIT研究項目逐步發(fā)展起來的。Tilera將處理核心作為芯片上的塊進(jìn)行排列,每個核心都有一條高速總線連接到周圍的四個核心。他們的旗艦產(chǎn)品早在2013年就可支持多達(dá)72個MIPS核心、內(nèi)存控制器、加密模塊、PCIe塊和mPipe,這是通過SFP和連接器連接到多個MAC的一組通道。
邁絡(luò)思通過用Arm替換核心并將mPipe換成ConnectX邏輯來推進(jìn)這一進(jìn)程。當(dāng)前的核心數(shù)量為8個Arm v8 A72核心,但它們被排列成由4個雙核心Arm構(gòu)成的群集。這種方法與博通的Stingray十分類似,它們不僅使用相同的核心,而且速度相同,但是它缺少Broadcom架構(gòu)的核心組成部分,即并行P4處理器。P4是每家公司的目標(biāo),只不過并不是每家公司都對此公開表明。下面提到的博通、賽靈思和Pensando都很關(guān)注P4。這也是Cumulus Networks的用武之地,他們在P4編程方面有著豐富的經(jīng)驗。因此,為了向未來的Bluefield產(chǎn)品系列提供前端服務(wù),英偉達(dá)設(shè)計了P4數(shù)據(jù)包處理引擎也就不足為奇了。
最新的SmartNIC初創(chuàng)企業(yè)是Pensando,由思科前首席執(zhí)行官John Chambers創(chuàng)立。John帶領(lǐng)他的夢之隊(六名前思科員工)創(chuàng)辦了這家公司。這些人的公司過去都曾被思科收購??紤]到他們的聲譽和以往的經(jīng)驗,人們普遍認(rèn)為Pensando正在向一些主要客戶證明他們的技術(shù)是可行的,然后他們會將其打包賣給思科。思科擁有一些通用的NIC技術(shù),但它不是SmartNIC級別的,Pensando顯然是想填補這一空白。
Pensando最初提供兩種產(chǎn)品,但最近又降為單一產(chǎn)品,即分布式服務(wù)卡DSC-25,這聽起來甚至像是思科產(chǎn)品的名稱。它像是一款單一的P4處理器芯片,帶有用于一些輔助處理的Arm,數(shù)據(jù)表聲稱這兩種處理器都可支持高達(dá)4GB的板載存儲器。該處理器稱為Capri,它是帶有多個并行級的P4可編程單元;但確切的并行處理程度尚不清楚,因為數(shù)據(jù)包性能、時延和抖動尚未公布。由于緩存未命中而導(dǎo)致的指令內(nèi)存提取會影響所有指標(biāo)的性能,所以Pensando妥善管控P4應(yīng)用,將它們保留在Capri緩存中。其他被稱為服務(wù)處理卸載(Service Processing Offloads)的計算單元則負(fù)責(zé)處理加密、存儲流程和其他任務(wù)。
Pensando聲稱Capri能夠提供線速性能。Fungible是頗具潛力的后起之秀。在獲得了近3億美元的三輪融資(其中2億美元來自去年的C輪軟銀集團(tuán)愿景基金)后,他們宣布即將推出一款新產(chǎn)品。目前,他們有180名員工,沒有產(chǎn)品,沒有收入,也沒有可見客戶。Fungible聲稱將生產(chǎn)數(shù)據(jù)處理單元(DPU),但實際的架構(gòu)和組成尚不明朗。他們提供了下面所示的圖片,但如同架構(gòu)圖不具備重要意義一樣沒有突出重點。
很多文章都提到他們的產(chǎn)品將在今年夏天發(fā)布,因此我想提醒大家關(guān)注這家公司。他們的創(chuàng)始人之一兼首席架構(gòu)師是曾在Chelsio Communications積累了10年經(jīng)驗的資深人士,專門從事以存儲為中心的以太網(wǎng)NIC方面的研究。此外,他們的軟件和固件工程副總裁也曾在Chelsio任職,而且他的工作經(jīng)驗有13年之久。因此,盡管Chelsio過去的核心產(chǎn)品是ASIC,但如今從頭開始生產(chǎn)一款領(lǐng)先的SmartNIC以太網(wǎng)控制器ASIC很容易就會消耗掉他們超過5000萬美元的寶貴資本。
有人推測,他們將采取阻力最小的方法來獲得收益,并利用FPGA平臺開發(fā)他們的初始產(chǎn)品,同時將特有的ASIC設(shè)計加載到該平臺。隨后,他們可以在開始追求客戶和收益的同時推出設(shè)計方案。將設(shè)計加載到FPGA中有助于Fungible輕松地修復(fù)設(shè)計缺陷,并可以根據(jù)客戶要求快速改善。如今,F(xiàn)PGA的應(yīng)用越來越廣泛,我們已經(jīng)開始看到像RISC-V這樣成熟的處理器架構(gòu)被加載到這些平臺上。
那么,SmartNIC與普通的NIC有哪些顯著性差異?計算能力、存儲器以及最重要的軟件設(shè)計都是為了減輕主機(jī)CPU的負(fù)擔(dān),以完成更高級的網(wǎng)絡(luò)處理任務(wù)SmartNIC將推動計算能力逐漸擴(kuò)展到網(wǎng)絡(luò)邊緣,從而釋放服務(wù)器CPU的算力,重點關(guān)注復(fù)雜的業(yè)務(wù)關(guān)鍵型處理任務(wù)。研究表明,在高度虛擬化的環(huán)境中,網(wǎng)絡(luò)可以消耗主機(jī)CPU周期的多達(dá)30%來處理OvS事務(wù)等任務(wù)。試想一下,在SmartNIC中能夠完成存儲功能、加密、深度包檢測和復(fù)雜路由嗎?這可能會將通常花費在處理這些工作負(fù)載上的大部分CPU周期傳遞回主機(jī)CPU。
為了保持領(lǐng)先地位,Pensando和Fungible這樣的新興公司將繼續(xù)向SmartNIC市場注入創(chuàng)新特性和功能。與此同時,像賽靈思、英特爾、博通和英偉達(dá)這樣的技術(shù)領(lǐng)先者也開始著手改進(jìn)基礎(chǔ)計算核心和專用P4處理引擎。SmartNIC市場正在升溫,而這只是從GPU技術(shù)開始興起的加速器浪潮的邊緣領(lǐng)域,但它將改變計算技術(shù)的發(fā)展方向。
作者介紹
姓名:Scott Schweitzer
職位:賽靈思技術(shù)布道者
個人簡介:
自從當(dāng)年通過TRS-80計算機(jī)入門編程的世界,Scott便成為了一名忠實的科技信徒。他曾為IBM、NEC、Solarflare以及現(xiàn)在的賽靈思編寫過產(chǎn)品級的軟件產(chǎn)品,構(gòu)建過硬件產(chǎn)品,并擔(dān)任過程序管理職務(wù)。在從事單插槽計算平臺工作20年后,Scott于2003年加入NEC,管理其新推出的英特爾安騰(Itanium)多核64位超級計算服務(wù)器。自此,他一直都在該領(lǐng)域繼續(xù)深耕。
2005年,Scott開始重點研究超級計算與超高性能聯(lián)網(wǎng)聚類這兩大領(lǐng)域。隨著10GbE的普及,他推出了廣受歡迎的10GbE.net博客。在2017年市場風(fēng)云變幻之際,Scott將10GbE.net打造成了一個每月?lián)碛袛?shù)千次頁面瀏覽量的技術(shù)傳播博客,同時還附帶一個播客。Scott在賽靈思的職責(zé)是與合作伙伴一起探尋新的加速機(jī)遇并定義創(chuàng)新解決方案。
原文標(biāo)題:SmartNIC與普通的NIC有哪些顯著性差異?
文章出處:【微信公眾號:FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
評論