2019年,NVIDIA 69億美金收購(gòu)了一家以色列的公司,Mellanox。
雖然貴,但是很值。
收購(gòu)Mellanox之后,老黃把其中Mellanox產(chǎn)品線中一個(gè)不起眼的可編程的網(wǎng)卡系列bluefield改名為DPU。
后來(lái)的事情,就超出了老黃的想象,各種DPU公司風(fēng)起云涌,甚至壓過(guò)“AI”一頭,成為了VC眼中的“新貴”,成為了風(fēng)口。
對(duì)于網(wǎng)卡芯片行業(yè),大家都在講smartnic(智能網(wǎng)卡)的故事,智能網(wǎng)卡已經(jīng)很高大上了,smartnic,智能網(wǎng)卡。
DPU這個(gè)故事一來(lái),smartnic這個(gè)名字就從“小甜甜成”了“牛夫人”。
此一時(shí),彼一時(shí)。
Mellanox成立于1999年,是以Infiniband產(chǎn)品而起家的,Infiniband主要是是一個(gè)用于高性能計(jì)算的計(jì)算機(jī)網(wǎng)絡(luò)通信標(biāo)準(zhǔn)。Infiniband具有極高的吞吐量和極低的延遲,可以理解成串行化的總線。
infinity 無(wú)限的。band 帶寬;infiniband這個(gè)名字直譯“無(wú)限帶寬”,非常霸氣。
和普通人用的計(jì)算機(jī)網(wǎng)絡(luò)比起來(lái),Infiniband在帶寬和時(shí)延上有優(yōu)勢(shì)。成本比網(wǎng)絡(luò)高多了。 但是由于要額外部署的Infiniband交換機(jī),其成本限定了只能在超算和存儲(chǔ)領(lǐng)域這些商用領(lǐng)域使用。
Infiniband的HCA卡和Infiniband交換機(jī)。對(duì)應(yīng)就是普通組網(wǎng)的網(wǎng)卡和網(wǎng)絡(luò)交換機(jī),因?yàn)镮nfiniband的HCA卡和網(wǎng)卡基本上外觀一摸一樣,技術(shù)也類似。都是一端PCIe,另一端高速的serdes。所以Mellanox輕車熟路的切入了網(wǎng)卡芯片領(lǐng)域。
在網(wǎng)卡芯片領(lǐng)域,這個(gè)和Infiniband不同,這個(gè)市場(chǎng)要“內(nèi)卷”的多,intel在10G網(wǎng)卡時(shí)代,憑借82599,X710等多個(gè)型號(hào),可以說(shuō)在服務(wù)器網(wǎng)卡市場(chǎng)上,呼風(fēng)喚雨。和intel的CPU一起配合,成為了各個(gè)廠商的首選。
而在網(wǎng)絡(luò)從10G到25G轉(zhuǎn)換節(jié)點(diǎn)上,Mellanox異軍突起,成為了市場(chǎng)的佼佼者,Microsoft和Mellanox深度合作,讓Mellanox在25G成功上位,取代了Intel和Broadcom在高端網(wǎng)卡的江湖地位。同時(shí)Mellanox給網(wǎng)卡帶來(lái)了ROCE,一種基于ethernet的Infiniband的協(xié)議,這個(gè)是Mellanox的看家本領(lǐng)。數(shù)據(jù)中心向25G節(jié)點(diǎn)轉(zhuǎn)換上,Mellanox成為了最大的贏家。
在2019年時(shí),Mellanox已經(jīng)稱霸服務(wù)器網(wǎng)卡市場(chǎng),是25G/100G解決方案最重要玩家之一。
Mellanox被intel和NVIDIA同時(shí)都看上了,intel開(kāi)出了55億-60億美金的“彩禮”,而NVIDIA開(kāi)出了接近70億美金的價(jià)格。
最終NVIDIA贏了。
平心而論,intel有自己的網(wǎng)卡芯片團(tuán)隊(duì),收購(gòu)Mellanox只不過(guò)是錦上添花,而NVIDIA在網(wǎng)絡(luò)這個(gè)方面毫無(wú)積累,所以NVIDIA更迫切,業(yè)務(wù)協(xié)同性更優(yōu),也更志在必得。
事實(shí)也證明如此!
從智能網(wǎng)卡到DPU,不僅是名字的稱呼的改變。
說(shuō)到DPU,先講三個(gè)故事,看看DPU都干些什么東西。
1:卸載offload
很多剛剛?cè)胧止虘B(tài)硬盤(pán)的朋友,可能會(huì)對(duì)于固態(tài)硬盤(pán)容量標(biāo)識(shí)產(chǎn)生疑惑。以某廠商 1TB固態(tài)硬盤(pán)為例,按道理來(lái)說(shuō)1TB=1024GB,但是在電腦上只能看到953GB。 為什么? 因?yàn)榉帕艘徊糠諪TL 固件的表項(xiàng),用于均衡磨損。 簡(jiǎn)而言之,花了100塊錢,只能得到90快錢的東西。 花兩碗粉的錢,吃了一碗粉,因?yàn)橛幸粋€(gè)空碗需要承擔(dān)的開(kāi)銷 問(wèn)顧客爽不爽。 肯定不爽。 云服務(wù)廠商也不爽。 以目前的公有云為例,IaaS:Infrastrure-as-Service(基礎(chǔ)設(shè)施即服務(wù)) 但是對(duì)IaaS廠商來(lái)說(shuō),和普通人買SSD面臨同一個(gè)情況的窘境。 買了一批處理器,內(nèi)存,硬盤(pán),機(jī)房,空調(diào),成立了一個(gè)云中心,作為基礎(chǔ)設(shè)施提供給各位廠家來(lái)用。 買個(gè)100核的CPU,只能用80個(gè)核。 其他20個(gè)核去哪里了? 跑一堆云上的軟件,OVS,安全,存儲(chǔ),管理等等。 這些額外20個(gè)核的開(kāi)銷部分,叫做數(shù)據(jù)中心稅,datacenter tax。 所以從云廠商來(lái)說(shuō),就是如何利益最大化。用行業(yè)“黑話”,降低TCO(總擁有成本)。 如何取消數(shù)據(jù)中心稅,那就是要讓DPU把這些活都干了。 這個(gè)故事里面。 DPU就是那個(gè)干臟活,累活的角色。
在云中心,什么臟活累活最為典型?
那非OVS卸載莫屬了! OVS的功能說(shuō)白了,就是虛擬機(jī)VM之間的虛擬交換機(jī),原本用軟件來(lái)實(shí)現(xiàn)的。 說(shuō)到交換機(jī),那就是三板斧,協(xié)議解析,表項(xiàng)查找,動(dòng)作執(zhí)行。
二層交換機(jī),解析MAC轉(zhuǎn)發(fā),
三層交換機(jī),解析IP轉(zhuǎn)發(fā)。 OVS虛擬交換機(jī)就是解析流表轉(zhuǎn)發(fā)。
OVS的流表有三個(gè)特點(diǎn):
1:表項(xiàng)長(zhǎng)。
從五元組,7元組,到更多元組;從端口號(hào),源MAC,目的MAC,VLAN,源IP,目的IP,源端口號(hào),目的端口號(hào)等,這還不算完,還有更多項(xiàng)需要參與轉(zhuǎn)發(fā)。
2:表項(xiàng)多。
從幾十K到幾百K的表項(xiàng)。隨著從虛擬機(jī)到容器這些更細(xì)粒度的劃分,表項(xiàng)也是直線增加。
3:查找時(shí)間短。
從10Gbps小包查找大約需要60ns,到100Gbps小包查找需要6ns查找到。
有一種說(shuō)法, 如果是CPU軟件來(lái)實(shí)現(xiàn)OVS,25Gbps開(kāi)銷需要大約20%處理器核處理,100Gbps大約需要80%的處理器核來(lái)處理,數(shù)據(jù)中心稅高了,留給業(yè)務(wù)的就更少了。
簡(jiǎn)而言之,隨著網(wǎng)絡(luò)的發(fā)展,處理器的能力跟不上了。
解決這個(gè)問(wèn)題核心就是,將OVS 卸載(offload)到一個(gè)處理單元上來(lái)做這個(gè)業(yè)務(wù)。因?yàn)楸緛?lái)就是網(wǎng)絡(luò)的業(yè)務(wù),所以卸載到網(wǎng)卡上是最直接的想法。 如圖所示,就是軟件卸載和硬件卸載的區(qū)別。
那么DPU除了除了OVS的卸載,還有哪些卸載?
1:TCP offload;2:TLS offload;3:加密offload;4:壓縮的offload; 這些offload,最直接就是降低數(shù)據(jù)中心稅。也有把這些形式叫做IPU,基礎(chǔ)設(shè)施處理器。
但是,單純offload,是不能稱之為DPU的。
2:hypervisor管理
很多人都去過(guò)網(wǎng)吧,但是不一定都去過(guò)VIP包房。 VIP包房和大廳不一樣。 獨(dú)立,安全,隱私性好。
VIP身份不會(huì)有和普通客戶一樣的待遇。 這樣的客戶給網(wǎng)吧老板帶了非常高的收益。 所以要服務(wù)好VIP客戶。 賺錢嗎?不磕磣! 個(gè)人用戶賺錢還是企業(yè)用戶賺錢。 大多數(shù)是企業(yè)用戶賺錢。 作為云服務(wù)廠商,天生有兩個(gè)用戶,個(gè)人用戶,企業(yè)用戶。 個(gè)人用戶登錄,是一個(gè)虛擬機(jī),虛擬機(jī)好處就是一個(gè)CPU拆開(kāi)來(lái)賣,分時(shí)復(fù)用,分區(qū)復(fù)用,沒(méi)錢就忍了。 企業(yè)用戶和普通用戶不一樣,肯定是VIP服務(wù)。 企業(yè)用戶需要什么VIP云服務(wù)?
極強(qiáng)的計(jì)算性能,具有和普通物理機(jī)一樣的計(jì)算性能;
安全隔離,物理隔離,資源獨(dú)占;
快速交付,物理機(jī)資源標(biāo)準(zhǔn)化和池化,隨取隨用;
和云產(chǎn)品連通,如果需要可以和云主機(jī)、云存儲(chǔ)、云數(shù)據(jù)庫(kù)打通,方便業(yè)務(wù)使用。
什么是云上的VIP服務(wù),那就是裸金屬云。
裸金屬云就是為企業(yè)用戶的量身打造的VIP包房; 從物理機(jī)到虛擬機(jī),容器這些技術(shù)是演進(jìn)的方向。
但是沒(méi)有想到。重新包裝好的物理機(jī)又成了香餑餑。 還換了一個(gè)高大上的名字,裸金屬云。 云服務(wù)商把全部的CPU資源都給用戶去用了。
但是也不能放手不管。 怎么管,放在哪里來(lái)管。 用了一個(gè)hypervisor的卡來(lái)管理。
如果把CPU比喻成一個(gè)賓館大樓,每個(gè)樓里的房間就是一個(gè)CPU core,住客就是虛擬機(jī),hypervisor可以認(rèn)為這個(gè)樓的的管理員,只不過(guò)這個(gè)管理員也要住在賓館大樓里面,占用一個(gè)到幾個(gè)房間(CPU core)。 現(xiàn)在VIP來(lái)了,整個(gè)賓館大樓直接都給了VIP租下來(lái)了。
當(dāng)然管理員(hypervisor)也不能在大樓住了,但是管理員(hypervisor)還是需要的,就得給管理員(hypervisor)找個(gè)家。 CPU里面不能住了,這個(gè)家就放在了DPU里面;
阿里云的裸金屬云的建設(shè)中,提出了一種裸金屬bm-hive(bm baremetal 裸金屬的縮寫(xiě)),直接把bm-hypervisor 放在了一個(gè)網(wǎng)卡形態(tài)的設(shè)備上,在這種形態(tài)下,所有的計(jì)算資源都是計(jì)算板的一部分,這個(gè)可以是X86的E5,core I7,AMD ,甚至可以是ARM。也就是說(shuō),在這種結(jié)構(gòu)下,X86的地位只是一個(gè)計(jì)算節(jié)點(diǎn)之一。 裸金屬 hypervisor通過(guò)DPDK的vswitch和SPDK的云存儲(chǔ),替代了所有的計(jì)算板所有的IO需求,
裸金屬 Hive支持VGA設(shè)備,供用戶連接到bm guest的控制臺(tái),裸金屬-Hive的架構(gòu)不僅允許它無(wú)縫地集成到現(xiàn)有的云基礎(chǔ)設(shè)施中,而且使計(jì)算板的設(shè)計(jì)高度靈活——唯一的硬要求是它支持virtio接口。 這種方案,但是其核心思想是將計(jì)算節(jié)點(diǎn)抽象出來(lái),更專用,更靈活的參與到整個(gè)服務(wù)中;
這種思想提出,在AWS的的nitro卡就有了。 AmazonEC2的 hypervisor 專用硬件實(shí)現(xiàn)。當(dāng)然是個(gè)精簡(jiǎn)的hypervisor,它基于Linux內(nèi)核的虛擬機(jī)(KVM)技術(shù)構(gòu)建,但不包括通用操作系統(tǒng)組件。
3:從網(wǎng)絡(luò)到數(shù)據(jù)
DPU的核心是data。
為什么從網(wǎng)絡(luò)到數(shù)據(jù)?
簡(jiǎn)而言之,TCP/IP的處理效率受到了極大的挑戰(zhàn)。
對(duì)于10Gbps的網(wǎng)絡(luò)來(lái)說(shuō),最大處理約14.88Mpps的包(64byte)。 10 000 000 000/(64byte + 20byte)*8 = 14.88Mpps。
那么對(duì)于100G的網(wǎng)絡(luò)來(lái)說(shuō),需要處理器包的數(shù)目是148.8Mpps(64byte)。 而linux的kernel能夠處理的能力也就是1M到幾MPPS量級(jí)左右。
需求和現(xiàn)實(shí),巨大的落差。
要想滿足需求,bypass掉kernel,是一個(gè)所有人看到的方向。
很多kernel bypass的手段被提出了。
例如DPDK。DPDK就是一種kernelbypass的框架。DPDK通過(guò)應(yīng)用層的PMD的程序不斷的輪詢。不用中斷,而是用輪詢,這個(gè)是DPDK提升性能的關(guān)鍵。
DPDK還需要CPU一個(gè)進(jìn)程不斷輪詢。
而RDMA,則是更徹底的kernel bypass,CPU則直接什么也不做,數(shù)據(jù)直接送給應(yīng)用層。 DPU就是承載RDMA的另一個(gè)載體。RDMA的協(xié)議用的是infiniband(IB)。而為了減低成本,不用部署額外的infiniband(IB)。其底層用了IP來(lái)承載,主要有兩個(gè)分支,用IP/UDP承載IB是ROCEv2。用IP/TCP承載IB
Infiniband(IB)是Mellanox的強(qiáng)項(xiàng),IB是HPC數(shù)據(jù)交換的互聯(lián)協(xié)議,高性能計(jì)算就是例如超算,全球TOP500里面有60%采用了IB進(jìn)行互聯(lián)。
說(shuō)回RDMA,那么RDMA到底干了什么? 除了傳統(tǒng)的send receive。最重要的就是 read,write。 read,write的是什么。
是數(shù)據(jù)。
一臺(tái)主機(jī)直接直接向另一臺(tái)機(jī)器的虛擬內(nèi)存的地址上讀或者寫(xiě)。
這個(gè)意味著,使用外部資源就如同本地資源一樣方便。
沒(méi)有比這個(gè)更簡(jiǎn)單的操作了。
大道至簡(jiǎn)! read和write的都是data; 基于這個(gè)意義上,DPU的D才開(kāi)始有點(diǎn)意思了。 有趣的是,RDMA(IB)是在超算中發(fā)展起來(lái)的。 超算的架構(gòu)都是CPU+GPU的異構(gòu)。 超算的底層互聯(lián)從來(lái)不是以太網(wǎng),原因無(wú)他,以太網(wǎng)的效率太低了,以太網(wǎng)只在超算邊緣作為管理網(wǎng)絡(luò)來(lái)使用。 而DPU的設(shè)想中,很多資源池化的想法,和HPC有一些異曲同工之妙; 2020年hotchips上初創(chuàng)DPU公司,F(xiàn)ungible就有非常準(zhǔn)確的描述。通過(guò)DPU將X86計(jì)算資源,GPU/AI資源,SSD/HDD等存儲(chǔ)資源,作為池化資源的構(gòu)成一個(gè)整體,提供外部使用。
Fungible用的技術(shù)叫做TrueFabric。其與RDMA的優(yōu)劣不是本文要討論的部分。
但是通過(guò)DPU把整個(gè)數(shù)據(jù)中心連接起來(lái),實(shí)現(xiàn)高速率,低延遲的效果。
這個(gè)模型下,整個(gè)結(jié)構(gòu)更類似一個(gè)邊緣云中心。
不過(guò)在老哥看來(lái),更類似超算和云融合的一種解決方案。
基于目前這個(gè)意義上,DPU的data還只是搬移,并沒(méi)有在嚴(yán)格意義上被處理。
某些安全處理也是為了數(shù)據(jù)搬移過(guò)程的安全特性,比如IPsec over RDMA;也就是端到端的安全特性,這些數(shù)據(jù)處理是保護(hù)數(shù)據(jù),而非改變數(shù)據(jù)本質(zhì)。
這個(gè)數(shù)據(jù)搬移還包括:
1:存儲(chǔ)數(shù)據(jù)DPU搬移: nvme over fabric,nvme over RMDA。
2:AI數(shù)據(jù)的DPU搬移: GPUdriect over RDMA。
低延遲,高帶寬,高性能;
核心目標(biāo)就是像本地?cái)?shù)據(jù)一樣,訪問(wèn)分布式或者池化的資源。
通過(guò)DPU實(shí)現(xiàn)數(shù)據(jù)資源池化。
網(wǎng)絡(luò)是手段,數(shù)據(jù)才是目的。
只不過(guò)這種連接可以是RDMA,也可以是其他技術(shù)手段,RDMA只是其中之一。
4:誰(shuí)來(lái)用DPU?
第一個(gè)卸載的故事中,DPU是offload CPU的負(fù)載,是“長(zhǎng)工”。
第二個(gè)管理的故事中,DPU是CPU的hypervisor,是“管家”。 第三個(gè)數(shù)據(jù)的故事中,DPU高效的提供CPU 數(shù)據(jù),是“奶媽”。
這些手段的目標(biāo)都是降低TCO,是因?yàn)镃PU來(lái)做這些工作不經(jīng)濟(jì)。
無(wú)論如何,DPU都不是替代CPU做計(jì)算。
在DPU上一堆處理器,來(lái)和CPU比賽干活,這個(gè)是不是比CPU更有優(yōu)勢(shì)?見(jiàn)仁見(jiàn)智。
DSA只有面向一個(gè)領(lǐng)域定制,才能有成本的優(yōu)勢(shì)。
所以DPU不需要在通用計(jì)算領(lǐng)域來(lái)搞事情。
保持?jǐn)?shù)據(jù)(data)的本色,才是真諦。
最后一個(gè)問(wèn)題,關(guān)于DPU,主要場(chǎng)景用在云上。
云廠怎么想? 當(dāng)然是自研!
AWS的Nitro系列,以及阿里的MOC等等。都是特殊定制的DPU。目前國(guó)內(nèi)幾大云廠,基本上全部都有自研方案或者自研計(jì)劃。
每家云廠的解決方案都有所不同,特別是DPU是軟件和硬件緊密耦合的產(chǎn)物。
云廠對(duì)業(yè)務(wù)更懂,研發(fā)能力也不弱。
目前也有很多初創(chuàng)公司做DPU芯片,市場(chǎng)一片火熱。
如何把DPU芯片賣給也做這個(gè)方面的云廠“競(jìng)爭(zhēng)對(duì)手”?
這是一個(gè)比AI芯片更難的難題。
后記
“上周末的智能網(wǎng)卡研討會(huì),老哥網(wǎng)上聽(tīng)了下各路專家的演講,云廠面臨的問(wèn)題多,市場(chǎng)能提供的大規(guī)模部署的解決方案很少,頭部云廠商(阿里,騰訊)都是帶著自研方案而來(lái)的,FPGA+CPU倒是成了大部分公司的DPU不約而同的系統(tǒng)方案,xilinx和intel的FPGA成為市場(chǎng)的選擇,也看出來(lái)DPU芯片前路漫漫,且行且珍惜,祝大家國(guó)慶快樂(lè)?!?/p>
責(zé)任編輯:haq
-
芯片
+關(guān)注
關(guān)注
452文章
50206瀏覽量
420863 -
DPU
+關(guān)注
關(guān)注
0文章
353瀏覽量
24100
原文標(biāo)題:大話DPU
文章出處:【微信號(hào):電子工程世界,微信公眾號(hào):電子工程世界】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論