跑在純國產處理器上的麒麟雲,有哪些不為人知的故事?

中興被美封殺,對核心技術的討論比之前多了許多,貼出之前寫的一篇關於麒麟雲的一篇文章,供君參考。

-----------------------正文分割線----------------------

兩隻手握在了一起,主席笑容可掬,川普春風滿面。然而,聚光燈之外,畫風並不溫暖。稜鏡計劃掀起海底光纜、美國對中國禁運 Intel 「至強」晶元的往事歷歷在目。坐在牌桌上,如果說我們手中有底牌,一定來自於中國人在賽博世界中的代碼廝殺。

一個從頭到腳,從底層晶元到上層代碼都烙著自主可控的雲計算系統,是一張值得我們驕傲的底牌。

這正是譚郁松的夢想。

▲譚郁松

跑在純國產處理器上的麒麟雲,有哪些不為人知的故事?

文 | @史中

採訪對象 | 譚郁松,國防科大計算機學院 研究員

天河往事

世界第一的中國超算

天河二號,可以算是超算界的網紅。

中國的科學家們,用特有的超算技術,幫助天河二號在世界超算排名中連續三年六次蟬聯冠軍。國防科大計算機學院研究員譚郁松便是其中一員。

天河二號上運行著中國人自主研發的銀河麒麟系統,在它最輝煌的日子裡,也飽受外界吐槽,因為這個世界上最快的「超級大腦」雖然代表了中國,使用的卻是 Intel 的晶元。有人說,Intel 晶元的超強算力才是天河的成功秘訣。

很多人認為超算就是把一堆晶元拼湊起來,但這不太正確。舉個例子,如果資金充足,你可以用錢堆出一輛很豪華的車,但未必能堆出 F1賽車。晶元運算速度固然重要,但超算技術,最核心的部分在於如何對系統進行軟硬協同的優化設計。天河二號在超高速互聯、異構計算加速、編譯優化以及對資源高效調度等方面,都有著世界領先的技術。

譚郁松說。

▲天河二號

從超算到雲計算

手握「超算」,譚郁松卻並不滿意。

正如他所說,超算的精髓在於對計算資源的精確且高效地調配。而這種精確調配的能力,僅僅用於高精尖的超算顯得有些浪費,它還有一個巨大的應用方向:雲計算。這正是麒麟雲誕生的原因。

很多人會困惑,超算和雲計算的區別在於哪裡呢?

如果把超算比作F1,那麼雲計算就是公共汽車。一個追求頂尖的速度,一個追求彈性的空間。換言之:超算追求的是計算力並行的緊耦合,把一個任務做到極致;雲計算追求的是計算力分布的松耦合,把池化資源的平均利用率做到最高。

譚郁松和團隊的科研背景,讓他們成為了中國較早對雲計算技術鑽研的團隊。

技術大牛的烏托邦

故事要追溯到2006年。

彼時他從學術角度來看,計算機在資源管理方面的核心就是在做抽象和調度,普通集群如此,超算也是如此。如果能把超算直接變形成雲服務,就像構建一幢沒有內部沒有承重牆的大廈,裡面的隔板可以隨時打掉重組,會是一件很酷的事情。

這樣一幢大廈,面臨什麼技術難度呢?

▲用超算構建的雲計算,如同構建一個沒有內部承重牆的大廈

在2013年,雲計算大多還停留在一個集群幾百個節點的時候,譚郁松和團隊選擇了在天河二號上挑戰用6400個節點做雲,這就是麒麟雲(KYLINCLOUD)的最初形態。

上輩子是超算的麒麟雲(KYLINCLOUD),遇到過什麼坑?

麒麟雲面臨的第一個大問題,仍然是算力的調度和協調。

一個控制節點相當於一個頭領,下面一堆兄弟。但是在雲的情況下,一個節點既要管理開銷,又要維護狀態,這時一個頭領就忙不過來了。此時可能需要多個頭領,但問題又來了,管理節點之間要做狀態同步,且不能發生管理衝突。類似這樣的問題數不勝數,如果解決不了,就會出現「集群規模增加, 管理成本增加更快」的問題。因此,如何進行高效能的算力調度和協調,支持資源的彈性伸縮是關鍵。經過努力,做到了單雲規模達到6400節點,這應是當時規模最大的單雲。

譚郁松對我說。

麒麟雲面臨的第二個問題,是軟硬體可靠性的問題。

任何硬體和軟體都有發生故障的概率。在一個簡單系統里,組件發生問題的概率相對較低。從理論上說,系統越複雜,出問題的可能性越大。

解決這個問題有兩個方向,一個是讓部件可靠,讓組成簡單。另一個方向就是不斷完善高可用方案來應對故障。我們在第二個方向上有更多的發揮空間。我們採用了多級、多類的高可用保障機制,結合故障定位及恢復策略,使得系統的可用性得到顯著提升。

一開始的時候,系統每天都在「冒火」,我們解決一個問題,就試著把這種解決方案固化下來,變成自動運維庫。到現在,我們的系統已經可以處理絕大多數日常故障,並且可以根據局部資源使用情況預先做出平衡計算壓力的智能調整。

他說。

回憶起麒麟雲的往事,譚郁松感慨良多。和諸多國產晶元、國產系統一樣,麒麟雲也經歷了難忘的起步艱辛。

▲麒麟雲界面

萬節點的雲計算

做6400節點的雲計算,其實源於麒麟雲這群技術大牛的「理想國」。

IBM 曾經斷言,世界上只需要五台計算機就夠了,實際上現在五億台計算機都遠遠不夠。但是如果用雲的方法來理解計算機,也許全世界只需要五朵雲就真的夠了。 在我的理想中,一朵雲應該是一台機器的形態,反之亦然。

就是這樣簡單粗暴的烏托邦理念,最終讓這群大牛完成了6400節點的雲計算系統。

譚郁松說,這麼多節點處於一個集群中,可以自由地分配算力,可以更靈活地滿足用戶對資源的動態、彈性的需求。經過特定優化,對於需要各個節點高度協作的任務,處在同一個業務集群在信息交互、資源調度和執行性能上幾乎無折損。

雲計算的特種兵

從2015年開始,兼容ARM指令集的飛騰晶元成為了一匹黑馬,在同樣是自主研發的晶元龍芯和申威的迭代空檔期,發力佔領了大量安全可靠計算機市場。「飛騰晶元+銀河麒麟系統」成為了安全可靠計算機標配之一。

▲飛騰晶元

由於支持「飛騰晶元+麒麟系統」的自主可控架構,麒麟雲受到了關鍵行業用戶的偏愛。這些機構使用雲計算,往往有著和一般商業公司不同的目的,所以絕大多數情況下,天津麒麟都會為他們定製開發雲計算系統。

這些定製化,經常要挑戰雲計算的技術極限。

譚郁松講了一個故事。

某特殊領域需要定製一個雲計算系統。

雖然系統規模不是很大,但是對技術要求卻很高。由於涉及到精密的控制操作,需要我們的系統保證極低的延時。對於一般的雲計算系統來說,實時性一般不是他們考慮的問題。

這其中,涉及到優先順序的調度,包括可剝奪的策略;還涉及到對事件響應的確認機制。

當時有很多大的友商也參與前期測試,但是最終很多企業做到的延時都在毫秒以上,只有我們成功把延時控制在了120多μs。

這種對延時的控制,需要從面向處理器、網路以及軟體系統的全棧優化,要對從上到下的系統有深刻的了解才能做到。我們能夠做到,感覺很驕傲。

從種種表現來看,麒麟雲更像是一個雲計算的特種兵。一些雲行業的友商在其它方面很優秀,但是卻不適合完成這些技術要求過高或者投入產出比不盡如人意的關鍵行業項目。

▲麒麟云為某機關辦公開發的雲計算架構

對於譚郁松和麒麟團隊來說,關鍵行業的雲計算項目需要耗費巨大的心力,但是這些關係國計民生的系統卻更需要有人來做。這就是他們的使命感。

我的團隊,不少都是開源領域的資深貢獻者,有四個甚至是 OpenStack 開源社區的 core reviewer,他們如果離開麒麟雲,身價會遠比現在拿到的年薪更高。但是他們都選擇在麒麟云為關鍵行業用戶提供定製服務,一方面因為他們的使命感,另一方面也是因為,他們在這裡能夠遇到的項目,在其他地方無論如何都碰不到。

挑戰,對於工程師來說,是非常重要的。我們的感受是:從科學探索中多獲得的興奮是更強烈和持續的。

他說。

後記

雲計算,更多地以商業的面目出現在我們的認知中,但是它顯然有更多的形象。

在龐大的基因數據面前,它為我們尋找答案;在浩渺的宇宙探索麵前,它為我們贏得時間;在殘酷的國家戰爭面前,它為我們驅動武器。

如果你也相信,每個人都有與生俱來的使命。那麼你也許會理解,安全可靠的雲計算系統麒麟雲,對譚郁松來說有多重要。

-----------End--------

再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以關注微博:史中方槍槍,或者加我微信:shizhongst

不想走丟的話,你也可以關注我的自媒體公眾號「淺黑科技」

推薦閱讀:

現階段,哪些國產手機比較棒?
測評:變色鏡片,國產的好還是進口的好?
對於國產漫畫《畫江湖之不良人》里鬼王和黑白無常的看法?
國產電視機購買的指南攻略有哪些?
你知道國產汽車有多牛嗎?

TAG:國產 | 麒麟處理器 | 麒麟 |