當前位置:
首頁 > 知識 > 專訪神龍雲伺服器的幕後英雄,十三年虛擬化技術的探索者

專訪神龍雲伺服器的幕後英雄,十三年虛擬化技術的探索者

摘要: 神龍雲伺服器的神奇之處不僅僅是產品形態的革新,從立項到發布,張獻濤博士帶領其團隊僅僅用了不到一年的時間,在虛擬化技術誕生的幾十年歷史裡,這本身就是一種奇蹟。

2017年的杭州雲棲大會上,當阿里雲副總裁李津振臂一揮,宣布神龍雲伺服器時,台下觀眾一片驚呼,媒體對這一「新物種」的報道頓時鋪天蓋地…..

為何說其是「新物種」?

阿里雲虛擬化技術總監張獻濤解釋說,它兼具物理機和虛擬機優點。用專業的術語描述就是,「神龍」在保證物理機的性能優勢和硬體級隔離能力的前提下,又具有虛擬機的可擴展性以及彈性優勢,可以說是集萬千寵愛於一身。

當然,神龍雲伺服器的神奇之處不僅僅是產品形態的革新,從立項到發布,張獻濤博士帶領其團隊僅僅用了不到一年的時間,在虛擬化技術誕生的幾十年歷史裡,這本身就是一種奇蹟。

專訪神龍雲伺服器的幕後英雄,十三年虛擬化技術的探索者

張獻濤

張獻濤,花名旭卿,現為阿里雲資深技術專家及虛擬化技術總監。

一、國內首批虛擬化技術的探索者

如果現在要給虛擬化技術一個通俗的定義,答案或許是「把IAAS層通過資源化的形式,軟體進行切分,提供新的資源交互方式IAAS」。

但在十幾年前,雲計算也僅僅停留在概念階段,虛擬化的定義與現在大相徑庭。那時候,國內企業對虛擬化技術的掌握幾乎為0,即便是放眼全球,做虛擬化技術的公司也屈指可數,最著名的就是VMware,劍橋大學以及英特爾亞太研發中心,當時國內研究虛擬化技術的技術人才主要聚集在後者。

2005年,憑藉研究生期間積累的項目經驗,還在讀博的張獻濤在眾多求職人員中脫穎而出,成功加入了英特爾亞太研發中心虛擬化部門,並且成為了國內最早一批做虛擬化的技術人。

「2005年加入英特爾,那個時候還沒有雲計算,我們就在做虛擬化。」張獻濤如此回憶。

當時英特爾亞太研發中心剛剛在上海成立,這家由國際巨頭打造的研髮型機構從創立之初就非常注重本土化,因此國內工程師在機構里佔據了絕大多數,而張獻濤可以說是這其中的佼佼者。

在這期間,張獻濤參與了無數虛擬化項目:在開源虛擬化項目Xen、Linux/KVM等社區貢獻頗多,曾擔任Xen項目子系統的Maintainer,並為KVM虛擬化項目增加了跨平台支持,獨立實現了KVM在IA64平台的支持,並擔任KVM/IA64項目的Maintainer。

2011年,他在英特爾主力參與研發的HAXM虛擬機加速器為Android系統模擬器性能提升數倍,開發效率倍增,惠及數以百萬的Android應用開發人員,多次受到Google公司讚揚,並因此獲得英特爾最高成就獎(IAA)。

在虛擬化方向做出的突出貢獻也讓張獻濤在行業內的影響力水漲船高,在團隊內,僅僅不到8年的時間,就從一名實習生晉陞到掌管整個英特爾的虛擬化技術團隊的leader。

二、與阿里的情緣

2009年,阿里雲正式成立並成為國內首個雲計算服務商,張獻濤和阿里的交集也是從這時候開始的。此後,他和阿里雲有過多次線上的交流,但這時的阿里雲在他眼中只是英特爾的一個客戶。

張獻濤和阿里雲團隊面對面接觸是在2010年阿里雲ECS發布前夕。因為當時產品底層出現了一個問題,情況非常緊急否則無法正常上線。作為阿里雲的供應商,英特爾亞太研發中心派張獻濤親自到阿里雲解決問題。

「大概一點多鐘到阿里雲,不到三點就把問題解決了」,張獻濤回憶道。

由於那段時間整個行業的虛擬化技術人才短缺,張獻濤可以說是那個時代可遇不可求的人才,不少企業向他拋出了橄欖枝,阿里雲也不例外。但最初張獻濤拒絕了所有企業,理由很簡單:在英特爾可以繼續沉澱技術。

「最開始我確實沒有想著要換工作,我覺得在英特爾是一家可以把技術做得非常深的公司,每天也可以學習到很多新的東西」。

真正讓張獻濤萌生去意的時間是在2013年,此時他已經是英特爾亞太研發中心的虛擬化部門負責人,在外界看來,這時候離開似乎並不是一個好的選擇。

「我覺得技術方面的挑戰幾乎不大了,所以想著換一家公司。」

2014年初,張獻濤和阿里HR進行了幾個小時的交流。

「她當時講了很多阿里集團的開放文化以及工程師文化,讓我印象非常深刻;另一方面,雖然自己在做雲計算的核心技術多年,但是自己做的技術有多少人在用,能夠解決多少客戶的問題,這才是技術最大的價值。」

於是,張獻濤很快就做出了自己人生當中最重要的決定,2014年的6月份正式加入了阿里雲。

三、倚天劍項目:釜底抽薪,底層架構的巨變

「加入阿里雲後最深刻的體會就是做雲計算不易。」

入職阿里雲第一個月張獻濤就碰到了一個很嚴重的問題,當時有運維同事把線上的機器的頻率參數設置錯了,這對當時上萬個客戶虛擬機的性能會產生巨大的影響。

「因為參數一旦設錯,就需要重啟所有的機器把參數再設置回來。」

如果重啟將會對客戶造成巨大的損失。面對這類比較緊急的底層問題,本身在虛擬化技術積累多年經驗的張獻濤顯得非常從容。

「當時花了幾乎是兩天兩夜,去分析這個問題,最終拿到了一個解決方案,用一個tricky的手段把參數給修改過來。」

這是張獻濤來到阿里雲之後首次做出的技術創新,但這只是挑戰的開始。

早期ECS的穩定性表現並不好,這對客戶來說其實是一顆定時炸彈。對此,2014年的7月份,張獻濤提出了一個解決方案,是把虛擬化層所有的東西全面進行一次升級,即Xen到KVM的切換,這一提議出來後在當時遭到了諸多的挑戰。

因為原有Xen架構已經運行了5年,誰也無法預測替換後的效果到底如何。但他沒有放棄,在多次向上彙報之後最終說服當時的領導,當然前提是先預研,如果通過那麼就進行底層的全面改造。

領導的支持給張獻濤帶來了極大的鼓舞。大概兩個多月的時間,他帶了2個人的團隊把原型做出來了,並且性能表現達到了預期。

巧合的是,當時阿里雲另外一個同時進行的戰略級項目是磁碟更換成SSD,希望通過新的軟體架構和更高性能的存儲介質把IO性能提升,目標是雲盤做到一萬IOPS。但測試結果並不理想,在Xen架構下測試IO性能只提升到了3000,離預先設定的目標是一萬差距非常大。

張獻濤反應極其迅速,他再次提出把SSD和新的KVM架構融合,不同的是,這樣的建議很快得到了團隊的採納,。

「根據我的判斷,SSD在新的架構下性能絕對可以大幅度提升。」

從測試結果來看效果立竿見影,首次在KVM架構測試下雲盤的性能超過了一萬,後來經過幾次優化甚至超過了兩萬。這也再次驗證了架構切換的價值。

很快阿里雲總裁孫權便號召集團隊其他專家進行觀察,幾番評估後最終確定KVM切換以及和SSD融合的項目規劃,項目名稱為「倚天劍」。

2014年7月,項目正式開始,整個ECS團隊就有28個人主動加入這一項目組,項目的目標有二:一是對KVM進行深度定製,把底層的虛擬化架構進行升級替換,並讓其具備全組件熱升級、高穩定、高可用、可維護性以及可迭代性的特點;二是提供更加極致的雲盤的IO性能;三是保持和老架構的ECS的使用體驗完全不變。整個項目持續了近9個月,最終在2015年5月4號正式上線,產品的穩定性解決了,IO性能提升了40倍。

「倚天劍」的新架構上線到今天為止已經是三年整了,張獻濤表示,這三年來表現非常穩定,完全具備支撐互聯網和大規模的企業級客戶的業務上雲。

四、集團雲化技術戰略下催生的新一代虛擬化技術

2014年底,阿里巴巴集團啟動了名聲大噪的「集團雲化」技術戰略,而首當其衝的戰役當然是雙十一。在這個大的項目里,張獻濤負責ECS的集團雲化的技術方案制定和落地。

現實很骨感,真正將集團業務模擬在阿里雲上後,老的架構下的ECS上的性能只有使用物理機的10%,這意味著什麼?原本一台物理機能實現,在ECS上要用十台機器去支撐,成本翻了10倍。

集團給項目團隊定下了一個在當時看來不切實際的目標:在2015年雙十一之前做到90%的物理機性能。擺在張獻濤面前最大的難題是:老的架構無法支撐2015年雙十一的規模,而新的架構還未上線。

「如果再在老的架構下面去做,今年的雙十一就泡湯了。」

於是,張獻濤又發出了一個大膽的提議——使用新架構。這時離2015年5月新架構發布還有兩個月的時間。當然,現在看來,在老架構已經出現瓶頸的情況下,這似乎是一項單選題。

在這之後的半年時間裡,項目團隊做了大量底層的優化,最終在當年的雙十一期間虛擬化性能開銷完美的控制在了10%以內。

阿里巴巴集團雲化第一年的表現幾近完美,同時也為後續的雙十一打下了堅實的基礎,後續的兩年性能在不斷提升。

第二年性能達到物理機的98%,即整體的性能和物理機媲美的情況,底層技術需要再次升級,在原來的基礎上做了大量的技術的改進。2016年阿里雲就支撐了整個雙十一流量的60%,在內部來看雲上做雙十一規模已經不是問題了。

2017年的雙十一,提出了更大的目標:和物理機的性能完全一致,甚至在有些領域可能性能比物理機還要好,光做虛擬化層的優化,98%已經是極限了,所以我們做了整個軟體棧的優化,從客戶機內核到虛擬化層甚至到一些應用層,最終媲美物理機的性能,甚至個別場景下比物理機的表現還要好一些。

三年雙十一的大規模流量檢驗,KVM都發揮了極致的性能表現。但張獻濤從2016年開始思考新的問題——下一代虛擬化的技術會是什麼?下一代IAAS層的核心技術應該往哪個方向發展。」

「如果大家都用同樣的技術,大家唯一拼的就是成本。」

而且對於對計算需求較高的業務場景來說,KVM其實支持的還不夠好,這一點他非常清楚。

2016年11月23日的雙十一的總結會上,阿里巴巴CTO行癲提出要讓虛擬化做到0損耗,這與張獻濤思考的下一代虛擬化技術不謀而合。

所謂下一代的虛擬化技術就是做到性能無損的同時,還可以具備虛擬機的靈活性。這本身看起來是天方夜譚,但集團上線的口徑一致,下一代虛擬化技術的研發必須提上議程。

2017年4月,下一代虛擬化技術項目立項,而最終的產物就是大家熟知的神龍雲伺服器。

在現有的技術上去做到性能0損耗可能性為0,無論是KVM還是Xen架構,伺服器幾乎都是千篇一律,原有的設計理念是軟體適配現有伺服器做虛擬化,而神龍雲伺服器的設計思路是反其道而行之,做出一款適合虛擬化技術的硬體伺服器。

「通用的硬體解決不了了,我們就要使用自己開發的晶元,然後去解決這個問題,原來是伺服器不變,軟體怎樣變更做虛擬化。」

今年3月,神龍雲伺服器正式商業化。在張獻濤看來,這一產品形態也是整個行業的趨勢,不僅僅是因為它兼具了物理機和雲主機的優勢,這樣的判斷來自對客戶的理解。

在大洋彼岸的AWS曾在2015年1月收購了以色列一家創業公司,這家公司從2014年開始研發的正是與神龍雲伺服器技術路線類似的產品,只不過阿里雲捷足先登,神龍雲伺服器率先實現了商用。

五、大計算時代下的計算平台思考

提到未來,人工智慧是一個不得不提的詞。最近幾年人工智慧爆發,有計算能力提升的原因;但在豐富的人工智慧應用場景需求下,又推動了計算平台的升級。

最明顯的變化就是,傳統CPU的計算能力已經逐漸無法滿足新型的應用場景,這一點已成事實。

從2017年開始,張獻濤團隊就先後發布了GPU、FPGA以及雲上超算產品,這是一套可以滿足大計算時代下的計算產品。但在他看來,無論是ECS的虛擬化還是GPU、FPGA、神龍雲伺服器,未來的產品形態可能一直在變化,但技術創新的理念才是永恆不變的驅動力。

本文為雲棲社區原創內容,未經允許不得轉載。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雲棲社區 的精彩文章:

ICDE:POLARDB定義雲原生資料庫
理解卷積神經網路的利器:9篇重要的深度學習論文

TAG:雲棲社區 |