阿里云张献涛:自主最强DPU神龙的秘诀
簡介:讀懂云計算,才能看清DPU熱潮。
微信公眾號搜索“彈性計算百曉生”,獲取更多云計算知識。
如果細數最近火爆的科技概念,DPU必然位列其中。
這是英偉達一手捧紅的新造富故事,是2021年SoC領域最熱火朝天的創業賽道,也是數據中心繼CPU、GPU后的又一大“臺柱子”。
盡管在云計算領域已經培育多年,但對于外界來說,DPU并不是一個容易理解的概念,各路玩家的產品定義和結構設計也不盡相同。
總體來說,DPU是個軟硬一體的數據處理單元,通常以架構的形式存在,可以幫CPU“減負”,解決一些CPU處理數據方面的短板問題,并提供硬件加速的網絡、存儲、安全、基礎設施管理等服務。
而追溯DPU的源頭,真正實現大規模商用DPU架構的,歷數全球,主要有兩家云計算巨頭——西方的亞馬遜云AWS,東方的阿里云。
2017年10月,阿里云的神龍架構橫空出世;僅1個月后,AWS的Nitro也走到了歷史臺前。這兩個為了解決虛擬化問題而相繼問世的創新產品,被業界視作迄今最成功的兩款DPU。
一手促成神龍架構誕生的張獻濤,也是國內最懂DPU的人物之一。
如今,第四代阿里云神龍已經開始支撐阿里云的大規模云上業務,并在計算、存儲、網絡、安全四項關鍵指標達成業界最高水平。
近日,芯東西獨家對話阿里巴巴集團研究員、阿里云彈性計算產品線負責人張獻濤(花名旭卿),聽他講述云端業務需求變化、持續創新的研發心得,以及對DPU熱潮的獨到思考。
在他看來,這不是一類適合走通用路線的芯片,對于云廠商而言,DPU是一個軟硬件技術棧結合極其密切的工作,是軟件定義的計算架構,DPU必須以自研為主,做到相關軟硬件技術棧完全可控,且經過超大規模驗證。而做通用DPU的公司很難滿足云廠商的需求,被收購或許是最佳結局。
01 風起云計算
DPU的新風口來得突然。
2020年10月,在NVIDIA GTC 2020大會上,NVIDIA創始人兼CEO黃仁勛宣布推出一種全新數據處理器——DPU。這顆被稱作“未來計算三大支柱之一”的處理單元,赫然闖入大眾和資本的視野。
此時,距離阿里云軟硬一體虛擬化架構「神龍」的誕生,已經過去整整四年。如今,其被市場視作阿里云的DPU,而這個頗具開創性的創新架構,當初是為解決傳統虛擬化技術應用到云計算帶來的成本、性能、服務質量以及安全問題而生的。
張獻濤是負責阿里云神龍的核心人物,于2014年加入阿里云,彼時他已經從事虛擬化技術研究約十年,阿里云剛走到第五個年頭。傳統虛擬化架構的種種缺陷,日漸成為掣肘這家云計算公司降本增效、提升服務質量的頑疾。
虛擬化技術是云計算的基礎,它將原本不可分割的硬件資源抽象成共享資源池,按需分配和共享計算、存儲、網絡資源。
而管理資源,就需占用掉一些原本用于運行業務負載的CPU和內存,也就造成了資源損耗。比如一個工廠有100位工人,如果他們全部去流水線上干活,那么資源利用率是100%;但如果從中抽出10人負責統籌管理,那么余下只有90人在流水線上干活,利用率則降為90%。
隨著云計算業務規模持續擴大規模,資源爭搶、算力損失、性能瓶頸等問題日益嚴峻,尋求解局之道已然迫在眉睫。
經過兩年摸索,阿里云的穩定性不再是問題。2016年,張獻濤開始思考下一代虛擬化技術方案在哪里?什么樣的方案,才能符合阿里云未來長期的發展?
神龍(X-Dragon)應運而生。
這是團隊頭腦風暴的結果。假如造出一個專門負責做虛擬化的架構,那么CPU的算力資源就被釋放出來,能夠更聚焦于運行云上業務。
第一代神龍正式立項的時間是2017年4月1日。將問題定義出來后,張獻濤開始組建團隊,從系統架構設計到芯片及硬件開發,到服務器開發,再到系統軟件的研發適配,初始團隊總共二十幾個人干了半年的時間,成功于2017年10月將神龍上線。
自此以后,作為處理高速數據流的高手,神龍架構從CPU手頭接過虛擬化的重任,一路帶飛存儲、網絡、安全等關鍵性能。
02 從小試牛刀,到大規模落地
一開始,張獻濤其實不太接受「DPU」這個命名方式。
DPU的“D”有幾種常見解釋,包括“數據”、“數據中心”、“以數據為中心”等。可嚴格意義上來講,數據中心的哪個主力芯片(如CPU、GPU)不符合這些特征呢?
因此,阿里云對神龍架構的闡述是,真正為云而生的、軟硬一體的技術架構。在他看來,未來是一個云的時代,需要這樣的技術架構來全面解決成本、性能、安全等問題。目前來看,DPU想做的似乎是類似的事情,市場也認為阿里云和AWS做的就是DPU。
阿里云和AWS之所以近乎“同步”地推出DPU,最直接的原因是云計算發展到一定階段后,研發人員意識到,有了這樣的數據處理架構,成本將大幅下降,同時性能會大幅提升,再加上云廠商的規模化優勢能為客戶提供更有競爭力的高性價比服務。
無論是阿里云的神龍,還是AWS的Nitro,早期都主攻虛擬化的性能損耗、資源損耗問題,即成本和性能問題。
張獻濤給我們算了一筆賬,那時阿里云營收規模已經達到上百億元,如果存儲、網絡占用約10%的CPU資源,則意味著年損失10多億元。無論從提升性能還是優化成本的角度,研發神龍都勢在必行。
取得技術突破只是第一步。神龍上線后,如何大規模應用成為新的挑戰。
阿里云先在內部業務試水,2017年雙十一期間部署了1000臺支撐天貓大促業務,成功驗證沒有問題。上汽集團是第一家吃螃蟹的外部客戶,提出愿意嘗試這個新產品,與阿里云共擔風險。雙方一起磨了近兩個月,到臨近春節,終于將穩定性、性能等問題通通解決。
在此類種子客戶的支持下,阿里云神龍打磨出大規模上云的功底,并開始成長為阿里云最核心的競爭力之一。
從2019年起,阿里巴巴集團的所有業務、包括阿里云的計算類服務全部遷至神龍架構。到2021年10月,第四代神龍架構問世,其存儲IOPS高達300萬、網絡PPS達5000萬、網絡延時最低5微秒等多項指標刷新業界最高水平。
根據知名國際市場研究機構Gartner公布的2021年度全球云計算廠商整體能力評估報告,阿里云IaaS基礎設施能力超越AWS拿下全球第一,并在計算、存儲、網絡、安全四項核心評比中獲得最高分。
▲Gartner Solution Scorecard 2021報告顯示,阿里云四項能力超AWS
03 云廠商必須自研DPU
云計算市場正在飛速擴容,當每臺云服務器中都需要一個DPU,誰能躋身頭部,誰就可能享受到難以估量的市場紅利。
僅在2021年,獲得新融資的國內DPU企業就有不少于7家,包括湖州芯啟源、北京大禹智芯、珠海星云智聯、上海益思芯科技、深圳云豹智能、上海云脈芯聯、北京中科馭數等。
其中多數企業單筆融資額達數億元,且投資方不乏知名科技企業身影。比如,星云智聯A輪融資由美團獨家投資,騰訊投資了云豹智能,云脈芯聯的投資方有字節跳動、壁仞科技……
但資本只看見熱度,未必能看清里面的坑。
在張獻濤看來,DPU不應該被視作「智能網卡」的繼任者,智能網卡只解決網絡加速問題,而DPU的功能遠比智能網卡豐富。
有些DPU創企其實仍在做智能網卡,也有創企想在智能網卡的基礎上做演進。但他認為:“在一個智能網卡上打補丁是解決不了的,因為本身設計理念是不一致的。”從架構層面來講,DPU的架構是在DPU系統上插入一臺服務器從而解決整臺服務器相關的數據處理加速和安全及管控問題,而智能網卡架構則是在服務器上插入一個網卡解決網絡加速的問題,二者有本質性的區別。
形雖差之毫厘,神卻謬以千里。
自2017年推出神龍后,張獻濤印象中,幾乎所有DPU公司的DPU架構、接口、功能模塊、能力實現等,都是仿照神龍已公開的架構來設計。
可為何仿照神龍設計,仍然很難做好DPU?
核心問題出在對云業務的理解。張獻濤說,第三方廠商通過跟客戶、工程師溝通,只能得到對云業務需求的片面了解,所以最終做出來的效果很難滿足客戶需求。
他堅信,云廠商必須自研DPU架構。“如果不熟悉軟件架構和系統軟件棧,不熟悉自家技術棧中哪些地方才是瓶頸,很難把它設計得很好,而這些都是外部DPU公司很難拿到的技術信息。”
換個角度來看,對云廠商而言,只有從硬件架構到固件到軟件棧都自研,才能做到整個技術鏈路的可控,它才能成為一個負責任的云廠商。
近年云計算廠商的動向印證了張獻濤的判斷。京東云研發基于自研智能芯片的虛擬化架構京剛,谷歌云與英特爾合作研發基礎設施處理芯片IPU,字節跳動宣布其自研DPU將通過火山引擎云產品對外服務……
“從終局上判斷,今天DPU的創業公司沒有太好的出路,最好的出路就是把相關業務出售,賣給有需要的云計算公司,通過被收購變現。”張獻濤說,如果對云計算業務不夠了解,一味想把DPU做成通用架構是很難成功的,做DPU的公司,最終都要和云廠商做產品和技術的共建合作,這樣成功的可能性才會提升。
04 DPU不適合走通用路線
“業界投資的DPU都想嘗試著做一顆通用的DPU,有的甚至想推配套的軟件技術棧作為業界標準,其實出發點就是有問題的。”
這是因為DPU完全由軟件定義的架構,由客戶需求或業務發展形態驅動,與客戶整個后端軟件棧結合非常緊密,很難做到通用的程度。
在張獻濤看來,真正做出DPU,并且讓客戶規模化用起來,其實比AI芯片還要難。
關鍵難點在于,它的軟件生態注定培養不起來,因為各家公司的軟件技術棧都發展多年,很難廢掉去適配一個難于自控的外部廠商推薦的技術棧,所以在三年之后,DPU領域一定會出現整合,一些公司可能會消失或者被賣掉。
DPU的使用者通常是云計算公司或做虛擬化軟件的公司。如果只是針對某一個軟件棧來做,無法實現通用,如果想做得非常通用,“因為各家的軟件棧都不一樣,整個安全機制的設計也都不一樣,則很難和云廠商進行適配”。
這與GPU+CUDA的邏輯不同。英偉達花了十多年研發,又遇到深度學習爆發的契機,才將這樣的生態穩固下來,成為業界的標準。
而在DPU領域,各家公司的軟件棧已經存在,互不相同,強行標準化很難實現,并且研發周期長、固件很難開放、接口的定義不一致等都是不可控的因素。
“如果想做一個統一的標準,放之四海而皆準的標準或者軟件生態,是非常難的。”張獻濤解釋說,當每家軟件棧不一樣時,DPU要處理的數據格式也都不同,因此很難將這樣的一個完全固化、做出統一的東西。
▲阿里巴巴集團研究員、阿里云彈性計算產品線負責人張獻濤
05 配合軟件迭代節奏,升級安全可信功能
經過四年的歷練,神龍架構積累了哪些優勢?又如何取得超越AWS Nitro的性能?
張獻濤首先提到「快速迭代」。
做軟硬融合,需要架構隨著軟件迭代而升級改造。研發一顆ASIC的周期大概是24個月起步,這對于互聯網軟件迭代的節奏來說,實在太久了。
因此,阿里云神龍采用FPGA的模式來做,并且做到了FPGA和配套系統軟件全面在線實時熱升級的能力,以便每周均可升級,通過靈活地持續優化,最終實現更極致的性能。
“到今天為止,最適合做DPU的還是可編程可升級的FPGA。”張獻濤亦談到選用FPGA的局限性,隨著將更多功能做到DPU里,FPGA的邏輯單元數等可能會制約DPU的發展,這就更需要技術人員不浪費每一個邏輯單元把必要功能和性能做到極致。
要做出好的DPU,對于「軟硬件融合設計的理解」也必須到位。這是一個從軟件、硬件到對應固件和上層系統不斷迭代的過程。
軟硬件之間的接口甚至寄存器的設計,都需與軟件充分融合,如果企業對自己的軟件掌握程度很高,又對軟硬件協同的思路、對架構和相關協議理解深刻,才能逐步打磨好性能。
第一代神龍的網絡轉發做到了每秒600萬數據包,當時Nitro大約為每秒300萬;經過更多數據鏈路上的任務改用硬件加速,第三代神龍做到2400萬,最新一代更是做到了5000萬。傳統RDMA組網能力通常為千臺規模,而第四代神龍的eRDMA組網能力可至數10萬臺,真正實現了RDMA能力的通用化和平民化,助力高性能計算以及當前流行的云原生軟件架構的發展需求。
此外,新一代神龍加入了對「可信計算與加密計算」的支持,實現系統可信防篡改與數據可用不可見,確保客戶對「安全」的要求。
后續阿里云計劃在所有數據鏈路經過神龍架構時做更多預處理,從而大大提升DPU的計算效率。原來計算1萬條數據,所有數據都落到內存里挨個算,現在做預處理后可能只需要計算50條,這樣一來,效率就提升了數倍。
據張獻濤透露,接下來,除了做到速度更快、帶寬更高、延遲更低、每秒IO次數更多外,神龍架構還將在性能、穩定性、安全性方面層層加碼,推動神龍作為加密計算的載體。
06 結語:未來走向,破解內存墻難題
隨著DPU一路走俏,云計算廠商陸續通過自研或投資的方式謀篇這一賽道,一些DPU設計創企亦開始嶄露頭角。
“我們2017年神龍的架構就公開了,大家都在follow這個標準來做,今天發展到這樣的程度,我們覺得還是挺欣慰的。”張獻濤認為,DPU發展正在走入正軌,更多人意識到它的重要性對于業界是一件好事,它將提升整個云計算的效率。
DPU本質上是一種基礎軟硬件協同設計的系統,從研發出來到一些種子用戶去用起來,需要兩三年時間。他相信,未來兩到三年內,DPU的熱度都將持續,但到一定的階段,它會像今天做AI芯片一樣走向收斂,一些不正確的思路將被逐漸淘汰掉。
面向未來,DPU領域可做的東西還很多。
比如新興的存內計算,本質上要解決的問題與DPU是一致的,即如何減少數據搬移,從而提升計算效率和降低功耗。所有數據經過DPU時都可以進行一次存內計算過濾,只有有效的數據才會進入主CPU內存,這樣整個計算系統的性能也將會數倍的提升。
“縱觀未來,你會發現尤其是今天異構計算變成潮流的情況下,幾乎所有DPU努力的方向都是為了解決掉內存墻帶來數據處理效率下降的問題。”張獻濤相信,未來DPU的發展值得期待,并將一定和某種業務結合度越來越高。
(本文來源于芯東西 ,作者心緣)
原文鏈接
本文為阿里云原創內容,未經允許不得轉載。?
總結
以上是生活随笔為你收集整理的阿里云张献涛:自主最强DPU神龙的秘诀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 储留香:一个智能运维系统就是一个中枢神经
- 下一篇: 阿里云云原生一体化数仓正式发布 助力企业