譚婧

DPU是人工智能芯片之后的又一大熱點。
業內人士笑談,那些投資人鉆研DPU的熱情,比造DPU的人還高。
有人在問DPU芯片是啥的時候,創業公司里,飄來一個熟悉的女聲:“支付寶到賬,人民幣一億元。”沒錯,就是融資額經常上億。
別說互聯網大廠,國字頭大基金也刀背藏身,眼睛直勾勾盯著DPU,伺機而動。
云廠商對DPU芯片的渴望,是歇斯底里的。逼得造DPU的人,鼻孔噴血,雙眼冒火。
而坊間有個說法,DPU只有兩個品牌——亞馬遜云和阿里云,以及其他。
DPU的故事,要從好久之前講起了。
1998年,美國斯坦福大學的球場上,尖尖綠草被陽光溫柔撫摸,孩子們尖叫雀躍,球衣鮮艷,帶風奔跑。
球場外,一些家長等著接孩子回家。他們中有的是斯坦福大學的同事及其家屬。
左右無事,家長群里的兩位閑聊了起來。
“最近在忙啥?”
“創業了。”
“創業方向是啥?”
“在一臺計算機上可以跑多個操作系統。”
提問的這位男士,文質彬彬,聽到回答,突然眼睛一亮,脫口而出:“這個想法挺好,很新鮮。”
最怕一流行家,遇見了一流行家,一聊就迸射火花。
兩位家長,在球場邊,就地達成投資意向。
這位家長,不,這位看準就出手的早期投資人,氣質儒雅,風度翩翩。
他就是張首晟,著名華裔物理學家,楊振寧的愛徒,主要從事凝聚態物理領域的研究,斯坦福大學終身教授。
創業的那名家長也不簡單,叫黛安·格林(Diane Green),一位天賦型女性管理者,從創業之日起,就擔任高管,掌管公司長達十年之久。
后話是,她還管了一陣子谷歌云。
此番操作,把孩子們都看懵了。
另一個孩子的爸爸,黛安·格林的老公,是斯坦福大學教授,孟德爾·羅森布拉姆(Mendel Rosenblum,簡稱羅教授),是公司的首席科學家,他也是操作系統領域的世界級專家。
彼時創業路上,夫婦倆剛剛動身,公司名叫VMware。
二十多年后,這家公司成為虛擬化技術領域的巨頭。
計算機技術的術語,常常閃爍理性光芒,而“虛擬化”這個詞,一看就是鏡花水月,太虛幻境,把一種仙風道骨的玄幻氣質,拿捏得死死的。
不意外,虛擬化技術的一開始:學術研究站C位。
為數不多的高校在研究,美國斯坦福大學、英國劍橋大學。
屈指可數的公司在探索, IBM公司、英特爾公司、微軟公司。
上世紀70年代是虛擬化學術研究的黃金年代,有多篇學術論文為這個方向奠定了理論基礎。
科學技術這行,光憑論文不行,得拿出東西來,還得用起來。
等有代表性的公司誕生,年年等斷腸,從七十年代,到九十年代,一等二十年。
據VMware公司CEO黛安·格林回憶,一天晚上,羅教授回到家,談起工作,他說:“我想重新審視虛擬化,將隔離引入操作系統,能同時運行新舊代碼,又不必構建一個新的操作系統。”
想法像洪水一樣從腦中涌出,羅教授非常激動,睡醒的第二天,就開始做原型。
不久之后,澎湃的行動力,讓羅教授和他的學生們實現了X86 服務器的虛擬化。
科學家的朋友圈往往光芒四射,創始人集齊五位專家,擺開了陣型,對虛擬化發起沖鋒,這一次載入史冊。
“攻下”X86,打開虛擬化由守轉攻的新局面。
相傳,虛擬化技術公司的文化和互聯網企業文化不同。
美國斯坦福大學的學生閉眼挑offer的時候說,谷歌的文化吸引年輕人,擼狗上班,睡衣轟趴,而VMware 公司的員工則能在公司安穩地結婚生子。
隨后,學術派傳球至邊路,PC的虛擬化接球。
雖然在小型PC機時代,虛擬化不是剛需,但是開創了硬件新玩法,沸騰了極客的熱血。
小心翼翼問一句,虛擬化是不是在騙CPU?理直氣壯回答:CPU有一種被騙的“能力”。
虛擬化技術很厲害,還是要戒驕戒躁,后面的路,還長。
無疑,VMware公司是成功的,當開源世界崛起,軟件甩開商業軟件的統治,開源極客走上舞臺。
請大家記住這兩個虛擬化技術的精神小(領)伙(袖),因為他們對DPU的發展,至關重要。
按姓氏筆畫排序:安東尼·李國瑞(Anthony Liguori),美國人。張獻濤,中國人。
2001年,英國劍橋大學計算機實驗室,Ian Pratt教授帶著幾個博士生做了一個非常知名的虛擬化項目,叫Xen project。
Xen的讀音和“than”有點像,但不完全一樣,發音不吐舌頭。
Xen有一個龐大的、活力十足的開發社區,深遠地影響了云計算、虛擬化和安全。
兩年后,Xen X86虛擬機監視器的第一個穩定版本就問世了。
2004年,張獻濤在武漢大學,念博士。多年寒窗,沒有少下功夫,他技術水平強,動手能力更強。技術大神何愁去處,可張獻濤還是有些擔心,因為虛擬化技術的擇業面,太小了。
讀博士,勤奮很重要,有一位好的博士導師也重要。
張獻濤的博士導師,是全球知名的密碼學家卿斯漢。張獻濤一定是花掉了很多運氣,才遇到了這么一個好導師。
他一臉慈祥地對張獻濤說:“虛擬化這個研究方向,我和英特爾有合作,你先去那里實習,別擔心,我幫你安排,剩下的,要看你自己了。”
而今看來,卿斯漢教授將張獻濤送去企業實習,是完完全全從學生的利益考慮。(有些博士導師那是死活都不愿意放博士生出去干活,此處省略三千字吐槽)。
于是,張獻濤從一名英特爾的實習生做起,一做就是3年。時光飛逝,技術水平飛漲,他于2008年正式入職英特爾。
他可能也沒有想到,這份工作一干就是9年。
把鏡頭搖到2002年的美國IBM 公司,虛擬化的另一個前沿陣地。
一位名叫安東尼·李國瑞的大學生,在學校讀書期間一直在IBM實習,每周20小時,連續四年,風霜雪雨,從不間斷。
2006年,安東尼入職IBM Linux 技術中心,成為一名軟件工程師,這份工作一干就是7年。
人這一生,找到一個真心喜愛的技術作為愛好,然后不計成本地付出時間和耐心,用心打磨,收獲的將不只是一個拿得出手的技能。
更重要的,還有一個脫胎換骨的自己。
也許某日傍晚,紅霞染盡天邊,張獻濤在看云,安東尼也在看云,可能會有那么一瞬間,他們都意識到自己要和這個名字極富詩意的技術,打一輩子交道了。
世間因緣,因緣世間。
芯片江湖,有人,有酒,有故事,就有批評英特爾的聲音。
PC為王的時代,因為虛擬化不是主流,所以英特爾X86指令集對虛擬化的服務態度很不友好。
這鍋,得英特爾背,還背到了2005年
英特爾在那一年才笑臉相迎,態度友好,在CPU里面做了一些擴展指令集。
這次重拳,扭轉了虛擬化的乾坤。
那一年的年11月,英特爾宣布產品支持硬件虛擬化(VT-x,VT-d),AMD也屁顛跟上,宣布產品支持硬件虛擬化(SVM)。
別看姍姍來遲,但是這套技術也足夠硬核黨,能做出來也很了不起。
但是英特爾“罪名”也很昭彰——低效。
VMware公司眼疾嘴快,把英特爾一頓猛批。
模仿駱賓王討伐武則天,出了一篇著名的“檄文”,討伐英特爾。
指責支持虛擬化的擴展指令集低效,還沒有自己家做的性能好(這里指VMware公司的“二進制翻譯”,binary translation)。
指責別人,趁機夸贊自己,沒毛病。
經此一事,也能一窺VMware公司的江湖地位,批評別人,得自己腰桿子倍兒直。
經此一變,虛擬化便有了CPU芯片廠商的全火力支持,仿佛被按下二倍速播放鍵。
這是虛擬化的短板,第一次被拯救。
那時候,英特爾沒有白忙活,蘸著唾沫點鈔票,心里樂開了花。支持Xen,跟支持Linux的道理一模一樣,虛擬化帶動了生態,大家都愛用戶黏性。
窗外陽光正好,又是吃飯時間,天上白云飄過,人間沒有巨變,云計算悄然巨變。
云計算的第一張門票,亞馬遜云搶到了。云計算的號角一吹響,開源迅速占領C位。
Xen底氣十足,首席科學官兼劍橋大學計算機實驗室教授Ian Pratt說:“微軟正處于追趕我們的道路上。”
此言不虛,微軟公司的產品確也深受 Xen的啟發。
一時間,紅帽,Sun Microsystems,Suse Linux,到處都有Xen的身影。一時間,似乎任何新事物都會在Xen萌發
Xen被掌聲包圍,連云巨頭都伸出橄欖枝。2006年,亞馬遜云(EC2)推出第一個采用Xen的實例類型(m1.small)。
Xen登上了第一朵云,自此,成為云計算的生力軍。
虛擬化技術烈火烹油,微軟公司好不服氣。悄悄收購位于美國波士頓的虛擬化廠商Softricity公司,趕緊公布了,為Windows Server引進新的虛擬機管理產品的時間表。
“別催了,在買了。”
后續是微軟公司再露土豪本色,為了虛擬化連續多次出手多家創業公司。
這也從側面反映了虛擬化這個技術,又小眾,又難,又關鍵,連微軟公司也啞巴吃黃連,有苦說不出。
2007年英特爾出了VT-x,增強了很多功能,又反超了VMware公司的二進制翻譯技術。
VMware公司內心獨白:批評英特爾,草率了。
在2009 年的時候,研究公司Gartner預測,三種技術將主導虛擬化:VMware公司的 ESX Server、Xen 和微軟公司的 Viridian hypervisor。
有些技術預(占)測(卜),聽一聽,別當真。
正面評論大聲說,Xen是當時的業界標準之一,非常成熟。負面評價小聲說,Xen的架構非常復雜,代碼鏈非常長,對內核的改動也比較大。
Xen是一個非常好的項目,但是確實太復雜。全球真正搞懂Xen架構的人不超過50人。大部分人,停留在僅僅能用這個層次。
再者,Xen還是傳統虛擬化技術。
Xen的傳統結構,決定了它身上的擔子特別重,要忙于許多事情,保護物理硬件,保護BIOS,虛擬化 CPU,虛擬化存儲,虛擬化網絡,還有諸多管理功能。
Xen過于笨重,注定退場,但Xen的出現,為虛擬化打開了開源世界的大門。
夢里幾十年,長風幾萬里,才把虛擬化吹進開源世界。
2014年,同樣是開源的KVM來了。
作為Linux的家族成員(以組件的形式出現),這個輕巧的超級管理程序,身姿輕盈,席卷世界。
這時候,VMware公司的日子也不紅火了,閉源商業軟件,花錢不說,云廠商改動也不方便。
不要忘記的是,亞馬遜云和阿里云的DPU早期架構,都能看到Xen與KVM的身影。
問世間,是否此山最高,或者,另有高處比天高。開源社區背后的慘綠少年,藏身于開源江湖,苦練絕技。
十多年前的虛擬化技術,并不成熟。放眼全世界,做虛擬化技術研究的人,真心不多。
開源社區里最有權力、最受人尊敬的人,有一個統一的稱謂,Maintainer(軟件維護者),也是高級別的代碼貢獻者,掌管開源項目的設計規劃,對全局,有深入了解,對未來,也有獨到見解。
安東尼,是QEMU的Maintainer。張獻濤,是KVM跨平臺支持以及KVM/IA64的作者和Maintainer 。
QEMU曾是世界上首屈一指的系統仿真器和虛擬器。QEMU支持Xen和KVM,并廣泛部署在大多數云環境中。
從Xen到KVM,安東尼和張獻濤的技術突飛猛進,天天打破天花板。只要解決性能方面的難題,什么姿勢都會。
要知道,那些系統底層,要去解決性能方面的故障或者錯誤(Bug),都是非常難的,伸出手就能扼住整個項目的喉嚨,讓人動彈不得。
安東尼和張獻濤,身上不斷出現“巧合”。
張獻濤和安東尼在Xen 和KVM 開源社區都有交集,是享譽社區的極客,令無數開源玩家高山仰止。
經歷諸多采訪報道,他們在做自我介紹時,都曾說到一句話:“我一直做虛擬化方向的工作。”
同樣的話,一個用中文講出來,一個用英文表達。
只要一有虛擬化安全的新聞熱點出現,國外技術媒體都以采訪到安東尼為榮。張獻濤則是國內第一批參與做KVM的。
巧合的背后,往往是必然。
2013年,安東尼,加入亞馬遜云。
2014年,張獻濤,加入阿里云昔日,在虛擬化開源社區,兩位最有“勢力”的人。
如今,在頭部云計算廠商,主導DPU技術變革。
更巧的是,一個負責Nitro系統,一個負責神龍系統。
亞馬遜云和阿里云的DPU,均汲取了開源虛擬化軟件Xen和KVM的精華。云計算帶來了虛擬化技術的繁榮,實現了技術的躍遷。
此時,虛擬化的專家,從硬件廠商的寶貝,變成了云計算廠商、大型互聯網公司的寶貝。
35歲就淘汰之類的話,在這些人面前,純當放了一個臭屁。
所有人都意識到,虛擬化技術“值錢”了,蜂擁而至,可惜,門檻很高。
虛擬化是一門非常難的技術,虛擬機是對真實計算環境的抽象,很多人被“抽象”二字難住。
操作系統內核已是掃地僧級別的技能了,虛擬化則是獨孤求敗。
張獻濤說:“以前,我們認為操作系統內核是最難理解的,也是最復雜的系統軟件。業界有不少非常資深的內核(kernel)工程師轉去做虛擬化,都理解不了,也做不好。”
為什么呢?
因為虛擬化又抽象了一層,其難度大大增加,要用軟件去實現硬件(的功能)。
在云廠商沒有虛擬化專家的時代,亞馬遜云也找英特爾的人去解決問題。
十幾年前,英特爾工程師火線救援云廠商的故事,都快被人遺忘了。
2010年,阿里云準備在5月10日發布產品(ECS1.0)。
那時,有三家企業的工程師擠在阿里云攻堅,攻了一個多月,有人都要把頭急禿了,眼看到日子了,還有一個坎,過不去。

大概1000臺服務器,運行一晚之后,總會發生一件奇妙的事情,硬盤找不到了。
硬盤也很委屈:“我掉線了。”
攻堅小組被死死逼到了墻角,他們拿出了一個負責任的推斷:問題要么出在芯片組身上,要么出在芯片身上。攻堅小組在嘶吼,得讓英特爾派人來,快點。
命懸一線之際,無論英特爾派誰來,都會被人死盯著,恨不得用秒表計時。
意外的是,英特爾的專家到現場后,看了一下(所有的配置),想了一會,之后說:“改個參數就可以了”。
計時那個人,看了下表,從拿到阿里云的服務器日志到搞定,大約用時3000秒(50分鐘)。
這一刻的如釋重負,讓在場的阿里云工程師一輩子也忘不了。
這事,讓一個外援在阿里云內部,小火了一把。
誰知不久之后,阿里云的章文嵩問了團隊一個問題:如果要挖一個虛擬化做得最好的人,應該挖誰?
章文嵩是何人呢?Linux虛擬服務器創始人,開源大神,曾任阿里云CTO,首席科學家。
阿里云的工程師們,雙手不離開鍵盤,頭也不用抬,張嘴就有了:張獻濤。
無獨有偶。有人告訴我:“二零零幾年的時候,亞馬遜云還沒把安東尼搞過去,虛擬化的問題也解決不了,也得靠英特爾。因為虛擬化的大牛工程師,亞馬遜云也缺。”
亞馬遜云,有了安東尼。
阿里云,有了張獻濤。
尋隱者不遇,那虛擬化的高手到底在哪?云深不知處,他們就聚集在IBM、英特爾、紅帽。
消息靈通人士透露,2008年左右,英特爾公司上海辦公室里,虛擬化團隊大概十幾號人。云計算帶動虛擬化技術熱門之后,全世界都來挖人。
自此,很多虛擬化的人才就留在了美國,直到現在。
人爭一口氣,佛受一炷香。為什么云廠商會憋著口氣一頓猛搞芯片?
答案是:誰痛苦,誰難受,誰逼瘋,誰知道。
張獻濤懇切的語氣令人印象深刻:“就算不是神龍團隊,阿里云也會有另一支團隊把DPU做出來。”
眾所周知,現在云計算廠商的服務器規模有多大。當規模擴大,用戶量增長,對DPU的渴求就變得心切。
幾十萬臺服務器,一天天,嗷嗷待哺。
在安東尼心里,應該也反反復復問過很多遍DPU的本質問題:
“為了得到更好的產品,我們要設計硬件,要設計一個專門用于虛擬化的硬件平臺。不是通用軟件,不是通用硬件。”
回望來路,已無退路,在技術最佳的更迭期,DPU出現了。用DPU定制化硬件加速,成為最正確的方向。