DPU究竟是一個(gè)什么U
隨著芯片越造越多,,字母表已經(jīng)不夠用了,。從APU到ZPU,好像每個(gè)“PU”都有芯片與之對(duì)應(yīng),。對(duì)于熱門的名字,,更是僧多粥少,DPU就是其中之一,。
在AI風(fēng)生水起的時(shí)候,,DPU代表的是“深度學(xué)習(xí)處理器”,而我們今天的主角還不配擁有名字,,當(dāng)時(shí)叫做“智能網(wǎng)卡SmartNIC”,。
這個(gè)名字聽起來既不智能,也不上口,,這也注定了它并不能被大多數(shù)人所認(rèn)知,。
工程師通常不屑于營(yíng)銷,但不可否認(rèn)的是,,沒有營(yíng)銷,,再好的產(chǎn)品也賣不出來。
當(dāng)一個(gè)人既懂技術(shù),、又懂人心,,創(chuàng)造一個(gè)新的概念就是順理成章的事情。
2020年10月,,黃仁勛在英偉達(dá)GTC大會(huì)上正式官宣了一款新處理器,,名叫DPU – Data Processing Unit。
這一年,,應(yīng)該可以算是DPU的元年,。在此之后,人們?cè)偬岬紻PU的時(shí)候,,指的都是數(shù)據(jù)處理器,,而非深度學(xué)習(xí)處理器了,。
和智能網(wǎng)卡相比,DPU的本質(zhì)并沒有根本性的變化,。很多人嘗試將二者區(qū)分開,,借此說明DPU是一個(gè)全新的跨時(shí)代產(chǎn)品,這其實(shí)并不真實(shí),、也沒必要。
老黃總結(jié)了3個(gè)DPU的特點(diǎn):卸載,、加速,、隔離。我很認(rèn)同這個(gè)總結(jié),,但這只代表了一個(gè)維度,。
在另外一個(gè)維度上,則是DPU的三個(gè)主要應(yīng)用場(chǎng)景:網(wǎng)絡(luò),、存儲(chǔ),、安全。這兩個(gè)維度結(jié)合在一起,,才是DPU的完整矩陣,,也能很好的解答很多“為什么”、“是什么”的問題,,比如:
DPU卸載了什么:數(shù)據(jù)中心網(wǎng)絡(luò)服務(wù),,比如虛擬交換、虛擬路由,;數(shù)據(jù)中心存儲(chǔ)服務(wù),,比如RDMA、NVMe(可以把它們理解成一些遠(yuǎn)程存儲(chǔ)技術(shù)),;數(shù)據(jù)中心的安全服務(wù),,比如防火墻、加解密等等,。
DPU加速了什么:上面說的那些服務(wù)和應(yīng)用通常使用軟件實(shí)現(xiàn),,并在CPU里運(yùn)行。而DPU可以使用硬件實(shí)現(xiàn)并運(yùn)行這些應(yīng)用,,這樣比軟件運(yùn)行要快好幾個(gè)數(shù)量級(jí),,這也就是我們常常會(huì)聽到的“硬件加速”。
DPU隔離了什么:由于上面說的應(yīng)用在DPU里運(yùn)行,,而用戶應(yīng)用在CPU里運(yùn)行,,這樣就把二者隔離開了。這樣會(huì)帶來很多安全和性能上的好處,。
舉個(gè)例子,,假設(shè)我們要玩一個(gè)“云游戲”,,游戲本身運(yùn)行在服務(wù)器的CPU上,而賬號(hào)管理,、存檔,、和隊(duì)友的交互方式、游戲數(shù)據(jù)的發(fā)送和接收等等,,這些不需要玩家參與,、但對(duì)游戲體驗(yàn)有極大影響的內(nèi)容,都可以運(yùn)行在DPU里完成,。
DPU和CPU,、GPU的關(guān)系
摩爾定律的發(fā)展和芯片行業(yè)的發(fā)展,究竟是雞生蛋,、還是蛋生雞,,人們已經(jīng)樂此不疲地討論很多年了。不管是誰成就誰,,亦或是相互成就,,有一件事情是確定的,那就是我們需要新的芯片結(jié)構(gòu),,來延續(xù)發(fā)展的腳步,。
一個(gè)很重要的共識(shí)就是,CPU已經(jīng)很難做好所有事情了,。
要特別注意的是,,這里不是“很難做”,而是“很難做好”,。一字之差,,意思完全不同。
在今年4月的GTC大會(huì)上,,老黃又分享了他對(duì)于數(shù)據(jù)中心架構(gòu)變革的理解,,一共分成五個(gè)階段。
最早的數(shù)據(jù)中心里,,CPU是絕對(duì)的王,。不管是一開始的原始架構(gòu),再到之后軟件定義,、分布式的可擴(kuò)展結(jié)構(gòu),,都是如此。
唯一有所區(qū)別的,,是應(yīng)用的實(shí)現(xiàn)方式,。算力和應(yīng)用更是雞和蛋的關(guān)系,CPU計(jì)算能力的提升,,就能帶來應(yīng)用的爆發(fā),,人工智能就是如此,。應(yīng)用的多樣化,又會(huì)對(duì)算力提出更高要求,。比如現(xiàn)在同樣火熱的超大規(guī)模神經(jīng)網(wǎng)絡(luò),,動(dòng)輒上千億甚至上萬億參數(shù),就好像底層算力都是白給的,。
英偉達(dá)的春天,,就這樣到來了。
人們發(fā)現(xiàn),,單純使用CPU并不能滿足AI工程師和調(diào)參者對(duì)算力的野心,,而GPU特別適合這類計(jì)算。GPU上有成千上萬個(gè)小型計(jì)算單元,,他們可以同時(shí)計(jì)算一個(gè)難題里的不同部分,然后再把結(jié)果結(jié)合起來,,也就是“并行計(jì)算”,。在處理很多問題的時(shí)候,這種人海戰(zhàn)術(shù)比CPU的“串行計(jì)算”不知道要高到哪里去了,。
從此,,CPU不再是數(shù)據(jù)中心里唯一的王。英偉達(dá)也成了世界上市值最高的芯片公司,。
舊時(shí)代落幕,,新時(shí)代開啟。GPU的登場(chǎng),,只是這場(chǎng)大秀的序曲,。
把CPU的一大部分算力卸載給GPU之后,人們發(fā)現(xiàn)可以把很多其他功能也外包出去,,于是又有了智能網(wǎng)卡,,或者叫做DPU。
人們又發(fā)現(xiàn),,給CPU卸掉這些包袱之后,,反而表現(xiàn)的更好,再次煥發(fā)了第二春,。因?yàn)椴还苁荊PU還是DPU,,都需要CPU居中調(diào)度和管理,這恰恰是CPU最早的設(shè)計(jì)初衷,。
就這樣,,CPU、GPU,、DPU組成了現(xiàn)代數(shù)據(jù)中心的鐵三角,。
未來是否就這樣,?我看未必。未來何時(shí)才能到來,?或許很快,。至少在下周的GTC大會(huì)上,應(yīng)該就有下一代DPU的最新進(jìn)展,。但不管怎樣,,這種三位一體的架構(gòu)解決了很多現(xiàn)有的問題,這就足夠了,。
沒有軟件,,芯片就只是昂貴的沙子
很多年前我做學(xué)術(shù)的時(shí)候,有一類很流行的領(lǐng)域,,名曰“算法加速”,。去看這個(gè)領(lǐng)域的論文,都寫的極其振奮人心,,甚至有些驚悚,。在這個(gè)領(lǐng)域里,CPU就是悲催的存在,,它為所有工作奠定了一個(gè)基準(zhǔn),。相比于CPU,每個(gè)工作動(dòng)輒幾倍,、幾十倍,、甚至上百倍的性能提升。
這么多年過去了,,CPU在數(shù)據(jù)中心的王座依然挺立,,只不過旁邊多了GPU,還有一個(gè)DPU蠢蠢欲動(dòng),,僅此而已,。
我并不是否定這些工作的學(xué)術(shù)貢獻(xiàn),只是很自然的會(huì)問:既然這些工作這么牛逼,,它們都去哪了,?
歸根到底,沒有軟件,、沒有生態(tài),、沒法落地。
溫室里的苗,,需要經(jīng)歷風(fēng)雨的洗禮,,才能知道是否能長(zhǎng)成大樹。
開發(fā)者從來都是用腳投票,誰的東西好用,,就用誰的,。性能固然重要,但如果沒法使用,、不好用,,性能再?gòu)?qiáng)的芯片也不過是昂貴的沙子。
多年前,,英偉達(dá)憑借CUDA,,一舉幫GPU打開局面,吸引了大批軟件開發(fā)者,。而FPGA的開發(fā)者,,還在糾結(jié)Verilog怎么寫、時(shí)序怎么調(diào),、引腳怎么分配,。
現(xiàn)在DPU來了,開發(fā)者怎么辦,?
今年4月的GTC大會(huì)上,,老黃正式官宣了一個(gè)名為DOCA的SDK,這也是英偉達(dá)為上面的靈魂拷問給出的答案,。
DOCA全名叫Data Center Infrastructure-on-a-Chip Architecture。作為一個(gè)SDK,,它包含了DPU支持的所有軟件功能:各種庫(kù),、各種服務(wù)、各種驅(qū)動(dòng),、各種框架,、各種OS……
有了意大利炮,還需要一發(fā)炮彈,。DOCA并不是炮彈,,而是用來造炮彈的工廠。有了軟件和生態(tài),,DPU就不再是昂貴的沙子,,而是數(shù)據(jù)中心的“大殺器”。
如果要用一個(gè)詞總結(jié)DOCA的特點(diǎn),,就是“兼容”,。新生事物大都需要兼容現(xiàn)有體系,然后才能慢慢發(fā)展壯大,。這片江山,,朕不給,你不能搶。
即使大如英偉達(dá),,也意識(shí)到很難從零開始自建一個(gè)數(shù)據(jù)中心生態(tài),。況且,這也根本沒有必要,。
除了兼容,,還有開放、合作,。只有把蛋糕做大,,每個(gè)人分到的那部分才會(huì)更多。大家好,,才是真的好,。當(dāng)一個(gè)人既懂技術(shù)、又懂人心,,做出這樣的決策也是順理成章的事情,。
在DOCA里,你可以看到幾乎所有常見的數(shù)據(jù)中心基礎(chǔ)設(shè)施技術(shù),、廠商,,英偉達(dá)也在打造開發(fā)者社區(qū),積極建設(shè)生態(tài),。在11月馬上要舉行的GTC上,,預(yù)計(jì)會(huì)發(fā)布DOCA的最新進(jìn)展。DOCA和CUDA,,總有一個(gè)會(huì)是英偉達(dá)未來發(fā)展的支柱,。
結(jié)語
DPU的出現(xiàn),是時(shí)代的必然,。但它未來的發(fā)展,,還有無限種可能。DPU里集成的技術(shù),,肯定會(huì)有更多的變化,。我們需要做的,除了跟隨這些變化,,更應(yīng)該透過現(xiàn)象看到本質(zhì),。只要底層邏輯不變,發(fā)展的趨勢(shì)就不會(huì)變,。