深析:DPU發(fā)展面臨的困境和機(jī)遇
編者按
有一些投資人認(rèn)為,DPU賽道比較雞肋:CPU/GPU同量級(jí)的高投入,但市場(chǎng)規(guī)模卻不大。并且因?yàn)镈PU跟用戶的業(yè)務(wù)休戚相關(guān),很多用戶傾向自研,這進(jìn)一步導(dǎo)致公開市場(chǎng)規(guī)模更加有限。
即使強(qiáng)如NVIDIA,其DPU已經(jīng)發(fā)布兩年左右,目前仍沒有用戶真正大規(guī)模采用。這里面存在的問題到底是什么?有沒有破解之道?
這篇文章會(huì)對(duì)DPU發(fā)展過程中存在的問題進(jìn)行細(xì)致分析,拋磚引玉,期待更優(yōu)的、可大范圍落地的創(chuàng)新型產(chǎn)品出現(xiàn)。
更本質(zhì)的,DPU是在目前算力困境的大背景下產(chǎn)生的,預(yù)示著一個(gè)新的算力時(shí)代的到來。行業(yè)需要更多的技術(shù)創(chuàng)新,更好的服務(wù) “東數(shù)西算”國(guó)家大戰(zhàn)略和數(shù)字經(jīng)濟(jì)發(fā)展。
DPU發(fā)展面臨的困境
芯片研發(fā)成本高昂
摩爾定律預(yù)示了:芯片工藝的發(fā)展,會(huì)使得晶體管數(shù)量大約每?jī)赡晏嵘槐?。雖然工藝的進(jìn)步逐步進(jìn)入瓶頸,但Chiplet越來越成為行業(yè)發(fā)展的重點(diǎn),這使得芯片的晶體管數(shù)量可以再一次數(shù)量級(jí)的提升。
在先進(jìn)工藝的設(shè)計(jì)成本方面,知名半導(dǎo)體研究機(jī)構(gòu)Semiengingeering統(tǒng)計(jì)了不同工藝下芯片所需費(fèi)用(費(fèi)用包括了):
- 28nm節(jié)點(diǎn)開發(fā)芯片只需要5130萬美元;
- 16nm節(jié)點(diǎn)則需要1億美元;
- 7nm節(jié)點(diǎn)需要2.97億美元;
- 到了5nm節(jié)點(diǎn),費(fèi)用高達(dá)5.42億美元;
- 3nm節(jié)點(diǎn)的研發(fā)費(fèi)用,預(yù)計(jì)將接近10億美元。
就意味著,大芯片需要足夠通用,足夠大范圍落地,才能在商業(yè)邏輯上成立。做一個(gè)基本的估算:
- 終端場(chǎng)景,(大)芯片的銷售量至少需要達(dá)到數(shù)千萬級(jí)才能有效攤薄一次性的研發(fā)成本;
- 在數(shù)據(jù)中心場(chǎng)景,則需要50萬甚至100萬以上的銷售量,才能有效攤薄研發(fā)成本。
- 并且,在研發(fā)方面的投入,DPU相比CPU、GPU還要更高:
- 開發(fā)DPU芯片,不但需要高性能CPU IP、高性能總線IP,還包括高速PCIe、Ethernet以及DDR/HBM等;
- 還需要開發(fā)非常多的、并且開發(fā)難度也非常高的各類加速引擎,如網(wǎng)絡(luò)協(xié)議處理加速引擎、高性能網(wǎng)絡(luò)加速引擎、存儲(chǔ)加速引擎、各類安全加速引擎等;
- 還需要把IaaS等很多上層的軟件服務(wù)融入到芯片的軟硬件方案中,并且需要跟不同用戶的不同場(chǎng)景進(jìn)行對(duì)接。
多領(lǐng)域場(chǎng)景需求
CPU性能瓶頸之后,傳統(tǒng)在CPU側(cè)軟件運(yùn)行的工作任務(wù),很多會(huì)沉淀到硬件去加速。這樣,就需要有一個(gè)平臺(tái)來承載這些加速,而DPU就是這個(gè)承載各類加速的芯片平臺(tái)。
CPU通過標(biāo)準(zhǔn)ISA實(shí)現(xiàn)軟硬件解耦,CPU引擎也就只有一類,CPU設(shè)計(jì)工程師可以不用太過關(guān)心具體的需求,而只需要關(guān)注具體的CPU設(shè)計(jì)即可。
GPU也通過CUDA以及GPU架構(gòu)實(shí)現(xiàn)了軟硬件解耦,GPU引擎也只有一類,并且 GPU的設(shè)計(jì)工程師也是只需要把重心放在GPU的具體設(shè)計(jì)中。
跟CPU和GPU的設(shè)計(jì)相比,DPU有如下兩個(gè)難點(diǎn):
多場(chǎng)景,挑戰(zhàn)更大。相比CPU和GPU的單個(gè)引擎類型,DPU的處理引擎(或者說涉及的領(lǐng)域/場(chǎng)景)會(huì)有很多,如基礎(chǔ)設(shè)施層的虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全等的處理引擎,以及各類開發(fā)庫、文件系統(tǒng)、數(shù)據(jù)庫、網(wǎng)絡(luò)訪問等的處理引擎。
場(chǎng)景的軟硬件解耦難度大。CPU和GPU實(shí)現(xiàn)了軟硬件解耦,軟件開發(fā)者和芯片開發(fā)者可以并行不悖,各自相對(duì)獨(dú)立的完成工作。而到了DPU的領(lǐng)域加速,要想實(shí)現(xiàn)軟硬件解耦非常困難;如果硬是要要采用ASIC的完全定制硬件加速,則是場(chǎng)景和硬件完全緊耦合,開發(fā)難度更大,靈活性更低,風(fēng)險(xiǎn)更高。
當(dāng)然,這里有個(gè)矛盾:承載更多領(lǐng)域和場(chǎng)景的功能,可以提升DPU價(jià)值;但承載這么多的功能,開發(fā)難度卻又非常大。那么,均衡點(diǎn)在哪里?有沒有既可以卸載更多領(lǐng)域和場(chǎng)景的功能,又不提升開發(fā)難度的辦法?
宏觀視角看需求:場(chǎng)景的橫向和縱向差異性
軟件的迭代很快,大概3-6個(gè)月;而芯片的迭代很慢,開發(fā)周期2年,生命周期5年,合計(jì)七年的時(shí)間,很難支撐軟件的這么頻繁而長(zhǎng)期的迭代。
差異性主要體現(xiàn)在兩方面:
業(yè)務(wù)場(chǎng)景的橫向差異性,指的是即使在同一領(lǐng)域,不同用戶的業(yè)務(wù)邏輯仍有差異,甚至同一企業(yè)(用戶),其內(nèi)部也會(huì)有很多不同的團(tuán)隊(duì),在同一領(lǐng)域的業(yè)務(wù)邏輯也存在差異。
業(yè)務(wù)場(chǎng)景的縱向差異性,指的是同一用戶/同一團(tuán)隊(duì)業(yè)務(wù)邏輯的長(zhǎng)期快速迭代。
針對(duì)業(yè)務(wù)場(chǎng)景的縱向和橫向的差異,主要有三類做法:
芯片廠家,根據(jù)自身對(duì)場(chǎng)景的理解,給出的自認(rèn)為最優(yōu)化的方案(場(chǎng)景定制方案)。這樣,其實(shí)有點(diǎn)越庖代俎,消除了不同用戶業(yè)務(wù)場(chǎng)景的差異性,也限制了用戶的業(yè)務(wù)創(chuàng)新。用戶會(huì)對(duì)芯片廠家形成強(qiáng)依賴關(guān)系,這是用戶不愿意看到的。
一些大用戶,自身具備芯片研發(fā)實(shí)力,根據(jù)自身業(yè)務(wù)需求,定制芯片。但大用戶內(nèi)部也是由許多不同的小團(tuán)隊(duì)組成,不同團(tuán)隊(duì)業(yè)務(wù)場(chǎng)景仍然存在差異性,定制芯片也存在技術(shù)的、商業(yè)邏輯的方方面面的挑戰(zhàn)。
前兩類都是定制的解決方案,這里則是通用的解決方案。“授人以魚,不如授人以漁”,通過通用的設(shè)計(jì),確保在每個(gè)領(lǐng)域,都能夠?qū)崿F(xiàn)一定程度上的軟硬件解耦。芯片公司提供“通用”的硬件平臺(tái),讓用戶通過編程的方式實(shí)現(xiàn)業(yè)務(wù)差異化,“讓用戶掌控一切”。挑戰(zhàn)則在于,存在通用的解決方案嗎?通用解決方案的軟硬件如何解耦?
針對(duì)場(chǎng)景定制設(shè)計(jì)是一件高難度的事情
復(fù)雜的系統(tǒng),軟硬件設(shè)計(jì)需要解耦。只有通過解耦,才能解放彼此,各自努力又相互協(xié)同,最終實(shí)現(xiàn)功能強(qiáng)大、性能強(qiáng)勁的系統(tǒng)。
通常,大家都以為,定制設(shè)計(jì)是性能和效率最優(yōu)的。但實(shí)際上,卻不是這樣:
定制設(shè)計(jì),沒有冗余,理論上是最極致的性能。但因?yàn)槎ㄖ圃O(shè)計(jì)是場(chǎng)景跟硬件設(shè)計(jì)完全耦合,硬件開發(fā)的難度很高,難以實(shí)現(xiàn)超大規(guī)模的定制設(shè)計(jì)。
理論上來說定制設(shè)計(jì)的資源效率是最高的,但由于定制設(shè)計(jì)必然覆蓋的場(chǎng)景較小,芯片設(shè)計(jì)為了覆蓋盡可能多的場(chǎng)景,不得不實(shí)現(xiàn)功能超集。實(shí)際的功能利用率和資源效率反而不是最高。
定制設(shè)計(jì)功能完全確定,難以覆蓋復(fù)雜計(jì)算場(chǎng)景的差異化要求。差異化包含兩個(gè)方面:橫向的不同用戶的差異化需求,縱向的單個(gè)用戶的長(zhǎng)期快速迭代。
即使同一場(chǎng)景,不同芯片廠家的定制設(shè)計(jì)引擎架構(gòu)依然五花八門,毫無生態(tài)可言。
因此,可以認(rèn)為,定制設(shè)計(jì)是一項(xiàng)非常高難度,并且“吃力不討好”的事情。特別是在云和邊緣計(jì)算等,對(duì)靈活可編程能力有著極高的要求的,復(fù)雜場(chǎng)景,定制設(shè)計(jì)更是難有用武之地。
價(jià)值和定位不高
目前,對(duì)于DPU的定義,行業(yè)還存在一些爭(zhēng)議,大家對(duì)DPU的功能定義依然沒有定論。那么DPU的市場(chǎng)規(guī)模到底有多少?我們以中國(guó)市場(chǎng)為例:
如果認(rèn)為DPU就是加速卡:那么則是完全碎片化的市場(chǎng),每個(gè)領(lǐng)域的加速市場(chǎng)規(guī)模大概在5億RMB左右。因?yàn)樗槠S著其他整合方案越來越流行之后,加速卡未來的市場(chǎng)則有可能會(huì)快速萎縮。
如果定位SmartNIC:智能網(wǎng)卡只在一些純網(wǎng)絡(luò)加速的場(chǎng)景有用,市場(chǎng)規(guī)模大概50億RMB左右。而計(jì)算類的則是相對(duì)綜合的場(chǎng)景,不但需要網(wǎng)絡(luò),還需要存儲(chǔ)、虛擬化、安全等場(chǎng)景加速。
如果定位基礎(chǔ)設(shè)施處理器IPU(基本等同于DPU,不同的命名方式):市場(chǎng)規(guī)模在500億左右,這就比較符合市場(chǎng)規(guī)模預(yù)期。但即便如此,IPU的價(jià)值定位仍然要比CPU和GPU低,而研發(fā)資源投入和風(fēng)險(xiǎn)卻又比CPU和GPU高。這一里一外的差距,即是DPU發(fā)展最大的挑戰(zhàn)。
針對(duì)DPU的功能定位,目前形成共識(shí)的說法是:DPU作為CPU和GPU的輔助,負(fù)責(zé)一些數(shù)據(jù)類處理的加速。這樣的定位,則成了DPU發(fā)展的天花板和魔咒。
用戶的訴求:支撐自身的業(yè)務(wù)創(chuàng)新
互聯(lián)網(wǎng)行業(yè),目前有很多客戶開始自研芯片,這是一個(gè)重要的趨勢(shì):
很多人認(rèn)為,互聯(lián)網(wǎng)公司為了構(gòu)建自己的護(hù)城河,開始構(gòu)建一套“封閉”體系。
我更多的是認(rèn)為:隨著互聯(lián)網(wǎng)云和邊緣計(jì)算的發(fā)展,上層的軟件業(yè)務(wù)對(duì)底層硬件要求越來越高。而傳統(tǒng)的芯片公司,雖然有一些先進(jìn)的技術(shù),但局限于閉門造車,這些技術(shù)并沒有為客戶帶來新的更大的價(jià)值,反而在一些方面,約束了客戶的價(jià)值發(fā)揮。
這些矛盾,逼迫著一些有實(shí)例自研的用戶,不得不“自己動(dòng)手,豐衣足食”,開始了自研之路。
那么,“想喝牛奶,真的要自己養(yǎng)牛嗎?”用戶的訴求到底是什么?這里我們深入分析一下:
更高性能/成本比。性價(jià)比是永恒的話題,都希望最低廉的成本下提供最高的性能價(jià)值。
差異化。toB市場(chǎng),互聯(lián)網(wǎng)云計(jì)算公司需要有足夠理想的硬件平臺(tái),能夠支撐自身業(yè)務(wù)的差異化,也能夠支撐云計(jì)算提供差異化的價(jià)值給到云的用戶(也即用戶的用戶)。
可迭代。軟件的迭代很快,而為了延遲設(shè)備的生命周期(也是一種降成本的手段),則需要硬件能夠盡可能支持軟件服務(wù)的更長(zhǎng)期迭代。
快速業(yè)務(wù)創(chuàng)新。用戶的業(yè)務(wù)是核心競(jìng)爭(zhēng)力,而研發(fā)芯片不是。用戶需要的是能夠自己掌控一切的開發(fā)平臺(tái),來實(shí)現(xiàn)業(yè)務(wù)創(chuàng)新,來增強(qiáng)自身的核心競(jìng)爭(zhēng)力。
如果存在通用的芯片方案,能夠滿足上述這些需求,用戶不會(huì)產(chǎn)生平臺(tái)依賴,不對(duì)用戶自身業(yè)務(wù)的核心競(jìng)爭(zhēng)力構(gòu)成威脅,并且功能更加強(qiáng)大,性能更加強(qiáng)勁,價(jià)格更具有顯著優(yōu)勢(shì),客戶還需要自研嗎?
人類發(fā)展的過程,就是從“男耕女織”到“手工作坊”,再到流水線的“工業(yè)化大生產(chǎn)”,再到現(xiàn)在的“全球化大分工”。從更宏大更長(zhǎng)期的視角看,隨著時(shí)間推移,很多技術(shù)會(huì)沉淀,云計(jì)算這樣的互聯(lián)網(wǎng)底層技術(shù)也不例外?;ヂ?lián)網(wǎng)整個(gè)技術(shù)體系會(huì)繼續(xù)枝繁葉茂,并且會(huì)持續(xù)的、更精細(xì)化的分工。而底層的芯片,唯有創(chuàng)新,才能真正幫助客戶,成就客戶。
跳脫束縛,尋找更大的機(jī)遇
通過增強(qiáng)功能來覆蓋更多場(chǎng)景
我們站在CPU工作任務(wù)卸載到硬件加速的視角來看:
階段0:CPU性能足夠,由于其靈活可編程能力很好,是數(shù)據(jù)中心處理器當(dāng)仁不讓的第一選擇。
隨著CPU性能提升緩慢,有一些性能敏感的任務(wù)需要加速。于是有了各類加速器(卡),這個(gè)時(shí)候都局限于某一個(gè)特定任務(wù)的加速,各個(gè)加速方案是完全獨(dú)立的孤島。網(wǎng)絡(luò)加速是比較特殊的一個(gè),因?yàn)槠鋭偤锰幵谡麄€(gè)服務(wù)器的I/O路徑上,價(jià)值更大,應(yīng)用領(lǐng)域也更多。
更進(jìn)一步的,虛擬化的底層基礎(chǔ)設(shè)施,如虛擬化管理、網(wǎng)絡(luò)(包括設(shè)備虛擬化和網(wǎng)絡(luò)服務(wù))、存儲(chǔ)(包括設(shè)備虛擬化和存儲(chǔ)服務(wù))、安全等,都可以從CPU側(cè)卸載到硬件加速。
更進(jìn)一步的,全棧卸載。只有整個(gè)系統(tǒng)堆棧中的任務(wù)足夠性能敏感(占用非常多的CPU資源),并且大范圍的被部署,則此任務(wù)就適合被卸載到硬件加速。其性能/成本比的優(yōu)化效果也更加立竿見影。
但即便如此,這個(gè)承載了各類加速的平臺(tái),即DPU,其功能和價(jià)值還依然不夠。它,需要跳脫束縛,自成一體。
CPU、GPU和DPU,既相互協(xié)作,又相互競(jìng)爭(zhēng)?!暗萌肟谡叩锰煜隆保?/p>
- 傳統(tǒng)觀點(diǎn)認(rèn)為,DPU是CPU/GPU的任務(wù)卸載加速。
按照軟硬件融合演進(jìn)的觀點(diǎn):DPU/IPU則是數(shù)據(jù)中心算力和服務(wù)的核心,而獨(dú)立CPU/GPU則是DPU的擴(kuò)展。
我們?cè)敿?xì)講解一下:
小系統(tǒng)。DPU自身是包含CPU、GPU、FPGA、DSA、ASIC等各種處理引擎的一個(gè)超大的SOC。本身就能處理所有的任務(wù)。在一些業(yè)務(wù)應(yīng)用層算力要求不高的情況下,最小計(jì)算系統(tǒng)的獨(dú)立的DPU就能滿足計(jì)算的要求。
中系統(tǒng)。DPU+CPU。在一些場(chǎng)景,業(yè)務(wù)應(yīng)用層有更高的算力要求,或者必須業(yè)務(wù)和基礎(chǔ)設(shè)施分離。這樣,DPU+CPU的中等計(jì)算系統(tǒng)能夠滿足此類場(chǎng)景需求。
大系統(tǒng)。DPU+CPU+GPU。例如AI訓(xùn)練類的場(chǎng)景,例如一些應(yīng)用需要加速的場(chǎng)景,并且需要業(yè)務(wù)和基礎(chǔ)設(shè)施分離。這樣的時(shí)候,DPU+CPU+DPU的最大就成為必須的選擇。
最后,上圖是Intel認(rèn)為的數(shù)據(jù)中心未來架構(gòu)圖,在這張圖中,IPU成為數(shù)據(jù)中心中最關(guān)鍵的處理器:
- 后臺(tái)的存儲(chǔ)服務(wù)器和加速器池化服務(wù)器采用的是DPU小系統(tǒng);
- 通用計(jì)算服務(wù)器采用的是DPU+CPU的中系統(tǒng);
- AI服務(wù)器采用的是DPU+CPU+GPU的大系統(tǒng)。
通過通用可編程能力來提升功能覆蓋
我們以網(wǎng)絡(luò)交換芯片為例。網(wǎng)絡(luò)交換芯片通常是一個(gè)緊耦合的ASIC芯片設(shè)計(jì),隨著需要支持的網(wǎng)絡(luò)協(xié)議和功能越來越多,ASIC芯片并不都能一一滿足用戶需求。
有很多用戶(特別是巨頭用戶),都有非常多的創(chuàng)新的和自定義的協(xié)議及功能需求。如果把需求反饋給芯片廠家(如博通、思科等),它們?cè)僭谛乱淮男酒邪l(fā)中心去支持(并且,是否支持新的協(xié)議或功能還需要內(nèi)部決策,有可能一些認(rèn)為不太重要的協(xié)議或功能就無法得到支持),然后等到用戶更新到自己的軟件服務(wù)中去,至少需要2年時(shí)間。
Intel收購的Barefoot提供了可編程交換機(jī),在沒有軟件編程的情況下,交換機(jī)是沒有具體功能的。通過編程,用戶可以實(shí)現(xiàn)自己想要的任何網(wǎng)絡(luò)協(xié)議和功能的支持,甚至實(shí)現(xiàn)一些用戶自定義協(xié)議。并且,這種可編程能力是在ASIC級(jí)別的處理引擎上實(shí)現(xiàn),也即能達(dá)到ASIC級(jí)別的性能。大家把這種網(wǎng)絡(luò)可編程的ASIC稱之為網(wǎng)絡(luò)DSA。
同樣的,其他各種領(lǐng)域和場(chǎng)景都可以采用類似的設(shè)計(jì),來實(shí)現(xiàn)一定程度的功能可編程,來提升硬件所能覆蓋的功能范圍。
超異構(gòu)計(jì)算,更充分的利用更加龐大的晶體管資源
芯片工藝帶來的資源規(guī)模越來越大,所能支撐的設(shè)計(jì)規(guī)模也越來越大,這給架構(gòu)創(chuàng)新提供了非常堅(jiān)實(shí)的基礎(chǔ)。我們可以采用多種處理引擎共存,“專業(yè)的人做專業(yè)的事情”,來共同協(xié)作的完成復(fù)雜系統(tǒng)的計(jì)算任務(wù)。并且,CPU、GPU、FPGA、一些特定的算法引擎,都可以作為IP,被集成到更大的系統(tǒng)中。這樣,構(gòu)建一個(gè)更大規(guī)模的芯片設(shè)計(jì)成為了可能。這里,我們稱之為“超異構(gòu)計(jì)算”。如上圖所示,超異構(gòu)指的是由CPU、GPU、FPGA、DSA、ASIC以及其他各種形態(tài)的處理器引擎共同組成的超大規(guī)模的復(fù)雜芯片系統(tǒng)。
超異構(gòu)計(jì)算本質(zhì)上是系統(tǒng)芯片SOC(System on Chip),但準(zhǔn)確的定義應(yīng)該是宏系統(tǒng)芯片MSOC(Macro-System on Chip)。如果不能認(rèn)識(shí)到超異構(gòu)和傳統(tǒng)SOC的區(qū)別,那么則無法把握問題本質(zhì)。
站在系統(tǒng)的角度,傳統(tǒng)SOC是單系統(tǒng),而超異構(gòu)宏系統(tǒng),即多個(gè)系統(tǒng)整合到一起的大系統(tǒng)。傳統(tǒng)SOC和超異構(gòu)系統(tǒng)芯片的主要區(qū)別和聯(lián)系如下表所示。
從DPU持續(xù)擴(kuò)展,成就廣義的DPU:
- DPU成為一個(gè)靈活的SOC,既可以作為CPU/GPU的助手,也可以獨(dú)立工作。就像2.1節(jié)提到的DPU小系統(tǒng),但這個(gè)SOC系統(tǒng)規(guī)模較小,價(jià)值仍有待提高。
通過超異構(gòu),進(jìn)一步提升DPU的系統(tǒng)規(guī)模,讓DPU能夠覆蓋更多復(fù)雜計(jì)算場(chǎng)景。
自成一體,成就更大的價(jià)值。
當(dāng)然,這個(gè)時(shí)候,DPU的定義已經(jīng)無法覆蓋這個(gè)功能強(qiáng)大的處理器了,稱之為超異構(gòu)處理器HPU更合適一些。
多領(lǐng)域多場(chǎng)景的挑戰(zhàn),唯有開源開放
可支持的領(lǐng)域和場(chǎng)景包括:
- 網(wǎng)絡(luò)領(lǐng)域,包括VPC、EIP、LB、網(wǎng)關(guān)等場(chǎng)景;
- 存儲(chǔ)領(lǐng)域,包括本地存儲(chǔ)、分布式塊存儲(chǔ)、對(duì)象存儲(chǔ)、冷存儲(chǔ)等場(chǎng)景;
- 安全領(lǐng)域,包括網(wǎng)絡(luò)安全、數(shù)據(jù)加密、零信任、可信計(jì)算等場(chǎng)景;
- 虛擬化領(lǐng)域,包括計(jì)算機(jī)虛擬化管理、容器虛擬化管理、監(jiān)控、設(shè)備模擬、運(yùn)行時(shí)和熱遷移等具體場(chǎng)景;
- 甚至,可以包括應(yīng)用層的各類加速領(lǐng)域和場(chǎng)景。
這些領(lǐng)域和場(chǎng)景,每一個(gè)都涉及到非常強(qiáng)大的既有生態(tài),已經(jīng)有若干得到行業(yè)大范圍使用各類開源(或閉源)軟件。沒有任何一家芯片功能能夠“獨(dú)占”這些生態(tài),能做的,只有去擁抱既有生態(tài)。對(duì)芯片公司來說,要做的是:把傳統(tǒng)硬件定義軟件的模式,徹底的變成軟件定義硬件的模式。
另一方面,也需要軟件架構(gòu)和開放模式的改變,軟件需要原生支持硬件加速。在軟件設(shè)計(jì)的時(shí)候,控制平面和計(jì)算平面分離,可以支持計(jì)算平面既可以在軟件運(yùn)行,也可以下沉到硬件運(yùn)行。真正實(shí)現(xiàn)“軟件定義一切,硬件加速一切”。
講完了單個(gè)領(lǐng)域和場(chǎng)景的視角,我們?cè)倩氐秸w系統(tǒng)的視角。
通常,我們是通過一些虛擬抽象層把硬件平臺(tái)的不一致性“烙平”,也即把差異化的硬件屏蔽,提供給上層軟件一致性的訪問接口。隨著性能需求的進(jìn)一步提升,虛擬化都完全沉淀到硬件加速。硬件平臺(tái)的接口則直接暴露給上層的VM和容器。軟件運(yùn)行平臺(tái)需要高可用,需要硬件支持軟件在不同平臺(tái)遷移,這樣就需要完全一致的硬件平臺(tái)。
這樣就會(huì)形成一對(duì)新的矛盾:
站在芯片廠家的視角,期望的是,一顆芯片,能夠被眾多廠家采用。也即是自己的硬件平臺(tái),很多用戶都采用。甚至,私心一點(diǎn),希望用戶捆綁到自己私有的架構(gòu)平臺(tái)上,讓用戶形成依賴。
站在用戶的視角,一方面是商業(yè)方面(不形成特定廠家依賴)的考慮,一方面是技術(shù)方面(即上面提到的跨硬件平臺(tái)遷移,需要硬件一致性)的考慮。用戶需要的是一致性的硬件平臺(tái)。即所有芯片供應(yīng)商提供給自己的是一個(gè)一致性的平臺(tái)。甚至可能的話,是自己軟件定義的硬件平臺(tái)。
因此,最終的結(jié)果,是芯片廠家和一些主流的客戶一起,形成行業(yè)共識(shí),即形成一個(gè)開源開放的行業(yè)生態(tài)。
基礎(chǔ)設(shè)施程序員開發(fā)套件 (IPDK) 是Intel發(fā)起的一個(gè)開源的、供應(yīng)商無關(guān)的驅(qū)動(dòng)程序和 API 框架,用于在 CPU、IPU、DPU 或交換機(jī)上運(yùn)行的基礎(chǔ)設(shè)施卸載和管理。IPDK在Linux中運(yùn)行,并使用一套完善的工具(如 SPDK、DPDK 和 P4)來啟用平臺(tái)中的網(wǎng)絡(luò)虛擬化、存儲(chǔ)虛擬化、工作負(fù)載供應(yīng)、信任根和卸載功能。2022年3月15日,由Intel、Redhat和F5等發(fā)起Open Programmable Infrastructure Event,邀請(qǐng)了產(chǎn)業(yè)界的相關(guān)公司共同探討IPU/DPU軟件生態(tài)建設(shè)。這些事件,可以認(rèn)為是行業(yè)巨頭在力推開源開放的整體生態(tài),并試圖在其中占據(jù)主導(dǎo)作用。
更長(zhǎng)遠(yuǎn)的看,開源開放的生態(tài)是行業(yè)發(fā)展的大事情。在可預(yù)見的未來,這件事情會(huì)徹底改變IT行業(yè)的生態(tài)邏輯。國(guó)內(nèi)的廠商,不管是做DPU的,還是做CPU、GPU以及做AI芯片的,大家都應(yīng)快速跟進(jìn)、積極參與甚至引領(lǐng)這個(gè)開放可編程平臺(tái)和生態(tài)。雖然目前還只聚焦在DPU領(lǐng)域。
一些結(jié)論
DPU的未來發(fā)展如何?基于軟硬件融合理念,這里給出幾個(gè)關(guān)于未來五年行業(yè)發(fā)展的推斷,與大家探討:
- DPU是超異構(gòu)計(jì)算時(shí)代來臨的一個(gè)起始;
- 未來所有(大)芯片都會(huì)是超異構(gòu)芯片;
- 超異構(gòu)和SOC是兩個(gè)完全不同的概念;
- 超異構(gòu)大芯片需要足夠通用,而不是專用;
- 超異構(gòu)需要開源開放的生態(tài);
- 要想駕馭超異構(gòu)的超大系統(tǒng)規(guī)模,就需要軟硬件融合。