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