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)知。
工程師通常不屑于營銷,但不可否認(rèn)的是,沒有營銷,再好的產(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)雨的洗禮,才能知道是否能長成大樹。
開發(fā)者從來都是用腳投票,誰的東西好用,就用誰的。性能固然重要,但如果沒法使用、不好用,性能再強(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支持的所有軟件功能:各種庫、各種服務(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ì)變。