這文章我三個(gè)月的時(shí)間反反復(fù)復(fù)寫了4,5次,寫到2月底,放棄了。而且因?yàn)槲曳艞壛?,沒好好保留資料,因此這篇撿回來的文章,就沒有資料列表了。
這個(gè)周末朋友圈里有又相關(guān)話題的討論,我覺得,還是應(yīng)該發(fā)一下。
其實(shí)我的朋友圈,談這個(gè)話題是蠻危險(xiǎn)的,容易被內(nèi)行打臉,這是我折騰三個(gè)月,從熱情洋溢,到糾結(jié)卡文,最后放棄的主要原因。當(dāng)初的動(dòng)機(jī)是讀了一個(gè)heavy reading的智能網(wǎng)卡的報(bào)告,據(jù)說那個(gè)報(bào)告市價(jià)2850刀,我覺得吧,照那個(gè)標(biāo)準(zhǔn),我寫一個(gè)值5000刀的報(bào)告簡(jiǎn)直是分分秒秒的事情:)
什么是SmartNIC ?按照產(chǎn)業(yè)慣例,一般新產(chǎn)品的定義都是由市場(chǎng)的老大確定。
Mellanox占了10G速率以上網(wǎng)卡的70%市場(chǎng)份額(Crehan Research ),它對(duì)SmartNIC的定義是一個(gè)可以卸載通常由系統(tǒng)CPU處理的任務(wù)的網(wǎng)絡(luò)接口卡。智能網(wǎng)卡利用其板上的處理器,能夠完成加密/解密,防火墻,TCP/IP,HTTP等任何處理任務(wù)的組合。
下圖來自微軟舉辦的云網(wǎng)絡(luò)大會(huì)的材料,展示了從卸載功能的?度看,一個(gè)傳統(tǒng)網(wǎng)卡與智能網(wǎng)卡的區(qū)別。
但是如我取的標(biāo)題,來自于Broadcom的BD的演化,我覺得一個(gè)插在標(biāo)準(zhǔn)服務(wù)器中的小服務(wù)器,更合適描述SmartNIC的未來發(fā)展趨勢(shì)。
關(guān)于這篇文章的邏輯順序,我返工過幾次。
第一次,先講智能網(wǎng)卡的分類,LOM, FPGA-based,ASIC-based,然后按照分類與主要供應(yīng)商,分析細(xì)分市場(chǎng)的發(fā)展與份額預(yù)測(cè),這是按照市場(chǎng)分析報(bào)告的思路來寫。這種報(bào)告,多半是給投資者看的。其實(shí)heavy reading的報(bào)告就是這種給股市/公司投資者的市場(chǎng)分析報(bào)告。
第二次,我試圖先講智能網(wǎng)卡的三個(gè)主要部分:NIC,控制層面,數(shù)據(jù)層面。然后,按照25G/40G/50G/100G的規(guī)格,分析一下各個(gè)模塊的主要供應(yīng)商和關(guān)鍵性能參數(shù),并附上主要供應(yīng)商的產(chǎn)品明細(xì),這是按照專業(yè)技術(shù)報(bào)告來寫,給行內(nèi)的采購(gòu)者和應(yīng)用者看的。
第三次,我試圖按照我個(gè)人的理解順序,先講why SmartNIC,SDN與I/O-offload關(guān)系,然后從大廠的發(fā)展策略,預(yù)測(cè)一下未來發(fā)展趨勢(shì)。然后就因?yàn)橐?guī)劃太大,寫不下去了。
看SmartNIC的發(fā)展起因,主要是為了預(yù)測(cè)一下這個(gè)產(chǎn)品的發(fā)展方向。
按照Patty Kummrow,Intel的以太網(wǎng)部?GM&VP,在一次會(huì)議上的話,就是“我們賣網(wǎng)卡賣了30多年”,怎么就出了新概念呢? 在Mellanox給的智能網(wǎng)卡定義中,有兩個(gè)關(guān)鍵詞,一個(gè)是卸載,一個(gè)是處理器。一個(gè)網(wǎng)卡明明不過是IO設(shè)備,怎么就和處理器強(qiáng)關(guān)系起來了呢?而且如果是簡(jiǎn)單的IO+CPU的組合,Intel明明有先機(jī)的,回頭看Intel在10Gbps網(wǎng)卡市場(chǎng)那是壓倒性的市場(chǎng)份額,又是CPU的大廠,怎么可能被Mellanox拿一個(gè)網(wǎng)卡+CPU的東西翻盤?
簡(jiǎn)單說,兩個(gè)因素:SDN與25Gpbs + IO接口的需求。
市面上討論智能網(wǎng)卡SmartNIC的時(shí)候,總是提到SDN-Software defined Networking,但是我理解的SDN是控制面與數(shù)據(jù)面的分離,方便tele-com標(biāo)準(zhǔn)化硬件平臺(tái),解除供應(yīng)商鎖定。這個(gè)SDN跟SmartNIC也沒有直接聯(lián)系。
如果從虛擬化技術(shù)看起,VMWare搞出虛機(jī),顛覆了原有物理網(wǎng)絡(luò)對(duì)(物理)服務(wù)器的不移動(dòng)的基礎(chǔ)假設(shè),因此要自己做一個(gè)主機(jī)上運(yùn)行的Software Switch,解決網(wǎng)絡(luò)與VM的對(duì)應(yīng)關(guān)系,關(guān)鍵是解決虛機(jī)遷移,服務(wù)跟隨兩大問題。(中間有一大段的和Cisco的來回曲折,因?yàn)镃isco這樣的網(wǎng)絡(luò)設(shè)備提供商,肯定是想用物理switch上構(gòu)建虛擬網(wǎng)絡(luò)來解決這個(gè)網(wǎng)絡(luò)與VM的對(duì)應(yīng)關(guān)系,但是最后還是在主機(jī)上,過去是用純軟件,先是主機(jī)上的網(wǎng)絡(luò)加軟件的方式解決的,因此我就略掉這段故事了)。既然是軟件實(shí)現(xiàn)的switch,套用SDN的框架,或者說歸一到SDN框架下,去解決標(biāo)準(zhǔn)問題,也就順理成章?,F(xiàn)在的服務(wù)器軟件棧中,網(wǎng)絡(luò)的組件功能特別豐富,不是一個(gè)vSwitch能描述的。
10Gbps網(wǎng)絡(luò)接口,如果按照MTU 1500Byte來算,0.83 Millions packet per second,一個(gè)3Ghz IPC 1.5的CPU單核,大約有5000指令的處理能力。再往上,25Gpbs,需要的CPU核數(shù)就劇增。而存儲(chǔ)的網(wǎng)絡(luò)化,以前HDD的性能瓶頸是磁盤的物理轉(zhuǎn)速上限,SSD沒有這個(gè)限制,SSD拉高了存儲(chǔ)帶寬,因此數(shù)據(jù)中心通過網(wǎng)絡(luò)共享存儲(chǔ)資源這個(gè)需求,例如NVMe-oF,迅速把網(wǎng)絡(luò)接口速率拉高。從1Gbps的網(wǎng)卡到10Gbps的網(wǎng)卡,業(yè)界走了近10年,但是25Gbps,似乎3年就成大趨勢(shì)了。而且還有隱隱加速的意思。
當(dāng)用服務(wù)器的Xeon CPU處理主機(jī)上的軟件網(wǎng)絡(luò)棧,成為一件昂貴的事情的時(shí)候,Cost-down方案的機(jī)會(huì)就來了,當(dāng)然由于有marketing這樣的專業(yè)人士的存在,Cost-down這樣的字樣是不會(huì)出現(xiàn)的,大家看到的就是網(wǎng)絡(luò)加速Network accelerate 或者業(yè)務(wù)卸載workload-offload。
這里,讓我插播一下,問一個(gè)拷問靈魂的問題,是先確定硬件平臺(tái),在向上構(gòu)造軟件生態(tài)的bottom to top的過程合理,還是先有軟件應(yīng)用方案,然后top to bottom逐步offload業(yè)務(wù),交由硬件加速合理?
如果是從下往上發(fā)展的業(yè)務(wù),也就是先有硬件,再圍繞硬件打造軟件棧,過程漫?,平臺(tái)型軟件的同志們痛苦(在很?的一段時(shí)間內(nèi),無法判斷趨勢(shì),要么豪賭平臺(tái),要么消耗資源都支持),例如Nvidia漫?的打造CUDA之路,例如arm的服務(wù)器之路,但是如果是從上往下發(fā)展的業(yè)務(wù),所謂的卸載業(yè)務(wù),時(shí)間要短一點(diǎn),但是硬件的同志們痛苦,而且戰(zhàn)況往往慘烈(短時(shí)間的以真金白銀的投入贏家通吃的市場(chǎng)), SmartNIC,AI芯片爆發(fā)都是這類。我給做應(yīng)用的金主爸爸們一個(gè)建議:在硬件跟得上摩爾定律的時(shí)候,專心投錢做multi-arch軟件,挑最快的順風(fēng)車搭。當(dāng)硬件魔法失效的時(shí)候,給硬件碼農(nóng)們錢,讓他們?yōu)槟阍煲粋€(gè)獨(dú)享的法拉利。
BTW,我曾經(jīng)的心儀對(duì)象Cisco公司,最近統(tǒng)一了硬件平臺(tái),還開始外賣芯片 silicon one,以求擴(kuò)大這個(gè)硬件平臺(tái)的影響力。又統(tǒng)一了軟件平臺(tái)。我感覺有點(diǎn)要重新起飛的狀態(tài)。(記得不構(gòu)成投資建議的免責(zé)聲明吧?這完全是個(gè)人喜好)
Why SmartNIC的思路理順,我們下面看看幾個(gè)大廠是怎么開始走上業(yè)務(wù)卸載——offload或者說硬件加速之路的。
Azure AccelNet SmartNIC
Azure在2015年部署了上百萬的智能網(wǎng)卡。但是和Mellanox的定義不同,Azure并不是一個(gè)有處理器的方案,而是一個(gè)FPGA-based的方案。
為什么,如果回溯資料,無非是他們先有了一個(gè)FPGA的加速卡,已經(jīng)插在服務(wù)器里了。而且作為先行者,他們實(shí)現(xiàn)的非標(biāo)準(zhǔn)(當(dāng)然你也可以用“創(chuàng)新”這個(gè)詞)VFP (virtual filteringplatform)很難在市場(chǎng)上找到可用的ASIC。他們估計(jì)一開始也沒有想搞個(gè)大動(dòng)作,搞個(gè)arm CPU授權(quán)做個(gè)自己的smartNIC chip,已經(jīng)存在的FPGA項(xiàng)目就是最好的入手點(diǎn)。
看到這里,做FPGA的朋友們已經(jīng)開始向我扔磚頭了。但是發(fā)貨上百萬量級(jí),就不在FPGA的甜蜜點(diǎn)上了,大家心里都明白的。
AWS Nitro項(xiàng)目
AWS Nitro項(xiàng)目,它不是一個(gè)芯片,也不是一個(gè)板卡,它是一個(gè)產(chǎn)品家族。它的設(shè)計(jì)目的非常清晰,就是把所謂的data center tax內(nèi)部化。當(dāng)它成功的全部?jī)?nèi)部化之后,一個(gè)新的產(chǎn)品形態(tài),baremetal 裸金屬服務(wù)器就出現(xiàn)了。
至于什么叫datacenter tax?就是所有的云供應(yīng)商用于管理虛機(jī)VM,給虛機(jī)提供遠(yuǎn)程資源,加密解密,故障跟蹤,安全策略等服務(wù)程序。這些服務(wù)程序,也消耗計(jì)算資源,這部分被消耗掉的計(jì)算資源,就像tax一樣給附加在用戶購(gòu)買的云服務(wù)中。
所以Nitro項(xiàng)目都不能用網(wǎng)卡來命名,而且AWS的網(wǎng)卡驅(qū)動(dòng)完全是個(gè)邏輯的,跟實(shí)際速率都無關(guān)。因此這個(gè)項(xiàng)目,算是把所謂的SmartNIC的NIC完全弱化掉,這跟Mellanox和Broadcom的SmartNIC產(chǎn)品是有點(diǎn)距離的。到這里,做NIC的朋友們也開始向我扔磚頭了。
LITTLE Server on big Server
我喜歡B家的Stingray產(chǎn)品BD說的,這就是一個(gè)大服務(wù)器上的小服務(wù)器。當(dāng)然,如果能加一個(gè)小arm服務(wù)器,就更好了。別管它叫什么名字,它本質(zhì)上就是一個(gè)赤果果的cost-down方案么。
前景么,我有一萬字的研究報(bào)告可以寫,略了。
-
cpu
+關(guān)注
關(guān)注
68文章
10889瀏覽量
212386 -
智能網(wǎng)卡
+關(guān)注
關(guān)注
1文章
53瀏覽量
12253
原文標(biāo)題:三十年未有之大變局!智能網(wǎng)卡靠什么勝出?
文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論