0
兩只手握在了一起,主席笑容可掬,川普春風滿面。然而,聚光燈之外,畫風并不溫暖。棱鏡計劃掀起海底光纜、美國對中國禁運 Intel “至強”芯片的往事歷歷在目。坐在牌桌上,如果說我們手中有底牌,一定來自于中國人在賽博世界中的代碼廝殺。
一個從頭到腳,從底層芯片到上層代碼都烙著自主可控的云計算系統,是一張值得我們驕傲的底牌。
這正是譚郁松的夢想。

▲譚郁松
文 | 史中(微信:Fungungun),雷鋒網主筆
采訪對象 | 譚郁松,國防科大計算機學院 研究員
天河二號,可以算是超算界的網紅。
中國的科學家們,用特有的超算技術,幫助天河二號在世界超算排名中連續三年六次蟬聯冠軍。國防科大計算機學院研究員譚郁松便是其中一員。
天河二號上運行著中國人自主研發的銀河麒麟系統,在它最輝煌的日子里,也飽受外界吐槽,因為這個世界上最快的“超級大腦”雖然代表了中國,使用的卻是 Intel 的芯片。有人說,Intel 芯片的超強算力才是天河的成功秘訣。
很多人認為超算就是把一堆芯片拼湊起來,但這不太正確。舉個例子,如果資金充足,你可以用錢堆出一輛很豪華的車,但未必能堆出 F1賽車。芯片運算速度固然重要,但超算技術,最核心的部分在于如何對系統進行軟硬協同的優化設計。天河二號在超高速互聯、異構計算加速、編譯優化以及對資源高效調度等方面,都有著世界領先的技術。
譚郁松說。

▲天河二號
手握“超算”,譚郁松卻并不滿意。
正如他所說,超算的精髓在于對計算資源的精確且高效地調配。而這種精確調配的能力,僅僅用于高精尖的超算顯得有些浪費,它還有一個巨大的應用方向:云計算。這正是麒麟云誕生的原因。
很多人會困惑,超算和云計算的區別在于哪里呢?
如果把超算比作F1,那么云計算就是公共汽車。一個追求頂尖的速度,一個追求彈性的空間。換言之:超算追求的是計算力并行的緊耦合,把一個任務做到極致;云計算追求的是計算力分布的松耦合,把池化資源的平均利用率做到最高。
譚郁松和團隊的科研背景,讓他們成為了中國較早對云計算技術鉆研的團隊。
故事要追溯到2006年。
彼時他從學術角度來看,計算機在資源管理方面的核心就是在做抽象和調度,普通集群如此,超算也是如此。如果能把超算直接變形成云服務,就像構建一幢沒有內部沒有承重墻的大廈,里面的隔板可以隨時打掉重組,會是一件很酷的事情。
這樣一幢大廈,面臨什么技術難度呢?

▲用超算構建的云計算,如同構建一個沒有內部承重墻的大廈
在2013年,云計算大多還停留在一個集群幾百個節點的時候,譚郁松和團隊選擇了在天河二號上挑戰用6400個節點做云,這就是麒麟云(KYLINCLOUD)的最初形態。
一個控制節點相當于一個頭領,下面一堆兄弟。但是在云的情況下,一個節點既要管理開銷,又要維護狀態,這時一個頭領就忙不過來了。此時可能需要多個頭領,但問題又來了,管理節點之間要做狀態同步,且不能發生管理沖突。類似這樣的問題數不勝數,如果解決不了,就會出現“集群規模增加, 管理成本增加更快”的問題。因此,如何進行高效能的算力調度和協調,支持資源的彈性伸縮是關鍵。經過努力,做到了單云規模達到6400節點,這應是當時規模最大的單云。
譚郁松對雷鋒網說。
任何硬件和軟件都有發生故障的概率。在一個簡單系統里,組件發生問題的概率相對較低。從理論上說,系統越復雜,出問題的可能性越大。
解決這個問題有兩個方向,一個是讓部件可靠,讓組成簡單。另一個方向就是不斷完善高可用方案來應對故障。我們在第二個方向上有更多的發揮空間。我們采用了多級、多類的高可用保障機制,結合故障定位及恢復策略,使得系統的可用性得到顯著提升。
一開始的時候,系統每天都在“冒火”,我們解決一個問題,就試著把這種解決方案固化下來,變成自動運維庫。到現在,我們的系統已經可以處理絕大多數日常故障,并且可以根據局部資源使用情況預先做出平衡計算壓力的智能調整。
他說。
回憶起麒麟云的往事,譚郁松感慨良多。和諸多國產芯片、國產系統一樣,麒麟云也經歷了難忘的起步艱辛。

▲麒麟云界面
做6400節點的云計算,其實源于麒麟云這群技術大牛的“理想國”。
IBM 曾經斷言,世界上只需要五臺計算機就夠了,實際上現在五億臺計算機都遠遠不夠。但是如果用云的方法來理解計算機,也許全世界只需要五朵云就真的夠了。
在我的理想中,一朵云應該是一臺機器的形態,反之亦然。
就是這樣簡單粗暴的烏托邦理念,最終讓這群大牛完成了6400節點的云計算系統。
譚郁松說,這么多節點處于一個集群中,可以自由地分配算力,可以更靈活地滿足用戶對資源的動態、彈性的需求。經過特定優化,對于需要各個節點高度協作的任務,處在同一個業務集群在信息交互、資源調度和執行性能上幾乎無折損。
從2015年開始,兼容ARM指令集的飛騰芯片成為了一匹黑馬,在同樣是自主研發的芯片龍芯和申威的迭代空檔期,發力占領了大量安全可靠計算機市場。“飛騰芯片+銀河麒麟系統”成為了安全可靠計算機標配之一。

▲飛騰芯片
由于支持“飛騰芯片+麒麟系統”的自主可控架構,麒麟云受到了關鍵行業用戶的偏愛。這些機構使用云計算,往往有著和一般商業公司不同的目的,所以絕大多數情況下,天津麒麟都會為他們定制開發云計算系統。
這些定制化,經常要挑戰云計算的技術極限。
譚郁松講了一個故事。
某特殊領域需要定制一個云計算系統。
雖然系統規模不是很大,但是對技術要求卻很高。由于涉及到精密的控制操作,需要我們的系統保證極低的延時。對于一般的云計算系統來說,實時性一般不是他們考慮的問題。
這其中,涉及到優先級的調度,包括可剝奪的策略;還涉及到對事件響應的確認機制。
當時有很多大的友商也參與前期測試,但是最終很多企業做到的延時都在毫秒以上,只有我們成功把延時控制在了120多μs。
這種對延時的控制,需要從面向處理器、網絡以及軟件系統的全棧優化,要對從上到下的系統有深刻的了解才能做到。我們能夠做到,感覺很驕傲。
從種種表現來看,麒麟云更像是一個云計算的特種兵。一些云行業的友商在其它方面很優秀,但是卻不適合完成這些技術要求過高或者投入產出比不盡如人意的關鍵行業項目。

▲麒麟云為某機關辦公開發的云計算架構
對于譚郁松和麒麟團隊來說,關鍵行業的云計算項目需要耗費巨大的心力,但是這些關系國計民生的系統卻更需要有人來做。這就是他們的使命感。
我的團隊,不少都是開源領域的資深貢獻者,有四個甚至是 OpenStack 開源社區的 core reviewer,他們如果離開麒麟云,身價會遠比現在拿到的年薪更高。但是他們都選擇在麒麟云為關鍵行業用戶提供定制服務,一方面因為他們的使命感,另一方面也是因為,他們在這里能夠遇到的項目,在其他地方無論如何都碰不到。
挑戰,對于工程師來說,是非常重要的。我們的感受是:從科學探索中多獲得的興奮是更強烈和持續的。
他對雷鋒網說。
云計算,更多地以商業的面目出現在我們的認知中,但是它顯然有更多的形象。
在龐大的基因數據面前,它為我們尋找答案;在浩渺的宇宙探索面前,它為我們贏得時間;在殘酷的國家戰爭面前,它為我們驅動武器。
如果你也相信,每個人都有與生俱來的使命。那么你也許會理解,安全可靠的云計算系統麒麟云,對譚郁松來說有多重要。
本文作者史中(微信:Fungungun),雷鋒網主筆
雷峰網原創文章,未經授權禁止轉載。詳情見轉載須知。