美國超越中國重奪“超算”冠軍,到底有啥用?
美國重回超算排行榜第一位,中國的五年冠軍終結。此文為你解答常見問題:中國超算用的都是外國芯片,所以不值一提嗎?超算是按照什么排名的?超算有什么用?超算和量子計算機是什么關系?……中國正在發展下一代超算,可能在不久之后又會重回第一,拭目以待!
2018 年 6 月 8 日,美國能源部橡樹嶺國家實驗室宣布,造出了目前世界上最快的超級計算機,叫做“Summit”(頂點)。
超級計算機“頂點”由一排排電冰箱大小的黑色模塊單元構成,總重 340 噸。圖片來源:紐約時報
在學術界,有一個著名的超算 500 強排行榜,叫做 TOP500,自從 1993 年 6 月創辦以來,每半年發布一次。2018 年 6 月 25 日,TOP500 榜單更新了,Summit 如愿登頂。這件事引起了很多人的關注,因為這是 5 年以來,美國第一次重新奪回 TOP500 的第一名。從哪個國家的手里奪回的呢?你猜對了,就是中國!
下面,我們先來介紹一下現在的 TOP500 榜單,然后解答若干個關于超算的常見問題。我知道,你最關心的問題是“這事對中國有什么影響”,請稍安勿躁,等到你了解了原理之后,答案自然就水到渠成了。
第一個也是最基本的問題是,TOP500 是按照什么來給超算排名的?用日常語言來說,當然就是計算速度。用專業語言來說,是每秒能夠執行多少次浮點運算。
但是當你去看 TOP500 的榜單時,你就會發現,對于每臺超算都列出了兩個計算速度,一個叫做 Rmax,一個叫做 Rpeak。例如對于目前排第一的 Summit,Rmax 是每秒 12.23 億億次,Rpeak 是每秒 18.77 億億次。那么這兩個符號是什么意思呢?我們到底應該關注哪個?我們知道,max 是最大的意思,peak 是頂峰的意思,那么最大值和峰值哪個大?這可真成了一個哲學問題了!
▲2018 年 6 月 TOP500 榜單
真正的回答是,Rmax 是實測的最高速度,Rpeak 是理論上的最高速度??倳行嶋H原因使超算的性能達不到理論上限,所以 Rmax 總是小于 Rpeak,就像剛才這兩個數值,12.23 億億小于 18.77 億億。因此,TOP500 排名用的是實測的最高速度,Rmax。媒體為了突出超算的神速,往往喜歡報道理論最高速度 Rpeak,但其實這有一定的誤導成分。大家以后看到關于超算的新聞時,請一定看清楚了,他說的到底是哪個速度。
好,我們來看 TOP500 目前排第二的超算。這是中國的“神威太湖之光”,它的 Rmax 是 9.3 億億次每秒,相當于 Summit 的 76%。神威太湖之光是一臺了不起的超算,曾經在從 2016 年 6 月到 2017 年 11 月的四期 TOP500 榜單中排在首位,四連冠。Summit 這次登頂,就是超過了神威太湖之光。
▲神威太湖之光
第三名是美國的“Sierra”(山脊)。這是一臺新的超算,初次上榜就打到了第三。它的 Rmax 是 7.16 億億次每秒,相當于 Summit 的 58.5%,神威太湖之光的 77%。
第四名是中國的“天河二號”,它的 Rmax 是 6.14 億億次每秒。天河二號也是一臺了不起的超算,曾經在 2013 年 6 月至 2015 年 10 月的六期榜單中六連冠,直到 2016 年 6 月讓位給神威太湖之光,然后一直保持亞軍,直到這次再下降兩位到第四。
▲天河二號
第五名是日本的“人工智能橋接云基礎設施”,這是一個超長的名字,英文叫做 AI Bridging Cloud Infrastructure,簡稱 ABCI,我們還是叫這個簡稱方便。ABCI 也是一臺新的超算,它的 Rmax 是 1.99 億億次每秒。請注意,這個數值跟天河二號的 6.14 億億次每秒就有巨大的差距了,天河二號相當于 ABCI 的 3.09 倍。而從第一位的 Summit 到第四位的天河二號,Rmax 的變化只不過是 2 倍而已。因此,可以認為 TOP500 的前四名組成一個第一集團,而從第五名以下的若干臺超算組成第二集團。
從第六位到第十位,分別是瑞士的“Piz Diant”(代恩特峰),美國的“Titan”(泰坦),美國的“Sequoia”(紅杉),美國的“Trinity”(三一),和美國的“Cori”。它們的性能變化就比較平緩了,第十位的 Cori 也有 1.4 億億次每秒,相當于第五位 ABCI 的 70%。
從第 11 位往下看,你會發現美國、中國、日本、瑞士這四國之外的其他國家也紛紛出現了。例如韓國,第 11 位;意大利,第 13 位;法國,第 14 位;英國,第 20 位;西班牙,第 22 位;德國,第 23 位;沙特阿拉伯,第 29 位;印度,第 39 位;加拿大,第 53 位;俄羅斯,第 72 位;瑞典,第 92 位。好吧,前 100 名中只出現了這些國家。基本上,世界科研的主力國家也都在其中了。當然,你可以認為沙特阿拉伯是亂入的——有錢雖然能為所欲為,但花錢雇一群外國人來搞科研總不是長遠之計啊!
上面的統計,很自然地讓人想起一個問題:在 TOP500 的這 500 臺超算中,來自哪個國家的最多?
回答是:中國!中國占據了 TOP500 中的 206 臺超算。這高達 41.2% 的比例,用足球界的常用語來說,彰顯了統治性。
第二是誰呢?第二當然是美國嘍,以美國的實力,沒理由連第二都排不上。美國在 TOP500 中占據 124 臺,比例是 24.8%。你如果問美國人,對這個成績感到開心嗎?回答肯定是:不開心。因為這是美國的最低成績,歷史新低。
其實自從 TOP500 開始發布的 1993 年以來,美國曾經不止一次地失去速度最快的桂冠,但始終保持著上榜數最多的地位。因此,你可以說美國一直保持著最強的整體實力,或者用籃球的語言說,板凳的深度最深。但是到了 2017 年 6 月,榜單中是美國 169 臺,中國 160 臺,雙方已經十分接近了。到了 2017 年 11 月,兩者的順序終于翻轉,中國達到了 202 臺,美國下降到 145 臺,中國第一次在上榜數目上登頂,美國第一次失去這個第一。在最新的榜單中,中國失去了速度排行的第一位,但擴大了上榜數目的優勢,從 202 增加到 206,而美國從 145 下降到 124。在這個意義上,現在是中國具有最強的整體實力、板凳深度。
我們繼續往下看。目前在 TOP500 中第三多的是日本,36 臺。第四是英國,22 臺。第五是德國,21 臺。第六是法國,18 臺?;旧希阏J為是科技強國的那些國家,就是超算的強國,這兩個集合是高度重疊的。這也可以反映出超算的重要性,它相當于科技界的一種基礎設施。
好,以上是關于 TOP500 的一個大致的背景。我們應該如何看待這些新聞呢?
最最基本的一點值得向公眾科普的是,超算是非常有技術含量的。
在中國的超算占據首席的 5 年中,很多人對此不屑一顧。他們以為超算就是處理器堆出來的,有錢多買些處理器,計算能力就上去了。他們還以為中國的超算都是買的外國的處理器,因此計算能力再高也不值一提。我必須指出,這是雙重的誤解。
要澄清第一點誤解,一句話就夠了:神威太湖之光用的芯片是中國自己生產的,不是從外國買的。如果你還想了解更多細節,那么就是神威太湖之光安裝了 40960 個中國自主研發的“申威 26010”眾核處理器,該眾核處理器采用 64 位自主申威指令系統。芯片叫做“申威”,申請的申,所以超算叫做“神威”,神奇的神,看明白這兩者的關系了吧?
你也許會問:那么天河二號,用的是誰的芯片呢?回答是:天河二號以前用的是美國英特爾的 Xeon Phi 芯片,Xeon 的中文名字就是大家熟悉的“至強”。
然后,這里就有一段故事了。天河二號連續四次奪冠后,2015 年 4 月 9 日,美國商務部就拒絕了英特爾公司向中國的國家超級計算廣州中心出售至強芯片用于天河二號系統升級的申請。中國的國家超級計算長沙中心、廣州中心、天津中心和國防科技大學這四家國家超算中心,被美國列入了出口管制名單。所以你看,美國早就在大動作限制中國超算的發展了。與此同時,美國又宣布要建造 3 臺超過天河二號3-6 倍的超級計算機,Summit 就是其中之一。這明顯就是一方面要扼殺你,一方面自己要奪回第一。
但是因為中國在自主研發芯片,所以讓美國的限制落了空。中國橫空出來一臺神威太湖之光,用的全都是自主芯片,在冠軍位置上又占據了兩年。不但是神威太湖之光,以后中國的超算用的必然也都是自主芯片,因為中國在制定超算發展規劃時,就已經這么明確規定了!
神威太湖之光從一開始用的就是國產芯片,那么天河二號怎么辦?天河二號表示:我覺得我還可以搶救一下。于是乎,2017 年底,天河二號用國產的 Matrix-2000 協處理器替換了用了五年的 Xeon Phi 加速器。沒錯,這個國產芯片的名字叫做 Matrix-2000!
好吧,無論這個名字令你們產生什么樣的聯想,這次升級把天河二號的每秒計算次數從 3.39 億億次提升到了 6.14 億億次,而功耗只增加了不到4%。所以,作為一臺五年“高齡”的超算,天河二號還能在 TOP500 上排到第四,這是相當不容易的,堪稱一個杰出的成就。
OK,以上解釋的是第一點誤解,這些事實性的東西很容易理解。要澄清第二點誤解,就稍微復雜一點,需要了解超算的基本原理。
請問,超級計算機為什么算得那么快,能夠比個人電腦快成千上萬倍?是因為超算用了一個比個人電腦的芯片快成千上萬倍的芯片嗎?當然不是,世界上沒有這樣的芯片。
實際的辦法是,超算用了很多個芯片,讓它們同時執行任務,而單個芯片的性能跟個人電腦的芯片是差不多的。用科學術語來說,這叫做“并行計算”,這是高性能計算的基本思路。用日常生活來比喻,就是“三個臭皮匠,頂個諸葛亮”!有人指出,這里的“皮匠”其實不是處理毛皮的工匠,而應該是“裨將”,即主將身邊的副將。無論如何,超算用的遠不止是三個裨將,而是三千、三萬以至更多個裨將。
下一個問題是,如果你用了n個芯片,你的計算速度就是單個芯片的n倍嗎?你立刻就可以發現,不是。實際上,你要讓多個芯片同時干事,就必須首先給它們劃分好任務,這個任務劃分是要消耗時間的。然后,當各個芯片開始計算之后,還不時地要和其他芯片交換數據,這個數據通信也是要消耗時間的。因此,計算速度的增長,總是低于芯片數的增長。超算的速度與單個芯片速度的比值,稱為加速比?,F在我們明白了,加速比總是低于芯片數的。
當芯片比較少的時候,加速比上升得比較快。隨著芯片數的增加,加速比上升得越來越平緩。當芯片很多的時候,任務劃分和數據通信會變成瓶頸因素,這些負擔的增加會抵消芯片增加的好處,因此加速比會達到飽和,不再上升。由此可見,芯片并不是越多越好的,光靠堆芯片是堆不出超級計算機的。
▲典型的加速比曲線,橫軸是處理器數目,縱軸是加速比
如果你在大的組織當中做過事,例如大企業、大的政府機構以至大的非政府組織,你就會有很多親身體會,人浮于事、推諉扯皮之類的毛病,在越大的組織中越容易出現。所以,組織并不是越大越好的。超算也是同樣的道理!
現在你可以理解,一臺超算能夠容納下多少芯片,并不是取決于有多少錢能用來買芯片,而是取決于系統架構。只有你的系統架構改進了,才能讓更多的芯片發揮作用,達到更高的計算能力。超算的芯片數增加,是一個結果,而不是原因。超算的技術含量,是表現在這里!不要以為只有芯片是核心技術,超算架構同樣也是核心技術!
例如,天河二號取得突破,最關鍵的技術之一就是中國自制的 TH Express-2 主干拓撲結構網絡連接,這是世界領先的。
因此,無論是哪個國家,能在 TOP500 上名列前茅,都是非常有技術含量的。現在你明白那些認為中國的超算不值一提的人,是犯了多少錯誤了吧?
順便說一句,有些人認為超算沒有多少技術含量,理由是超算很容易造,例如誰誰用多少臺游戲機就堆出了一臺超算。這實際上,是犯了一個概念錯誤。我們關注的是那些性能最高的超算,而不是泛泛而言的超算。
現在 TOP500 的最后一名,是瑞士的一臺超算,叫做“EPFL Blue Brain IV”。它的 Rmax 只有 715.6 萬億次每秒,也就是 0.07156 億億次每秒,跟第一名 Summit 的 12.23 億億次每秒相比,只相當于 0.585%,連人家的零頭都不到??墒沁@已經是世界上第 500 位的超算了,好歹是在兵器譜上有排名的,稱得上有頭有臉了,那么后面那些連排名都談不上的超算,能有什么樣的技術指標?指著這樣的超算,說超算技術含量不高,不覺得自己腦子有問題嗎?
好比我們來看豪華汽車,入門級的寶馬 1 系可以叫做豪華汽車,時速超過 400 公里的布加迪威航也可以叫做豪華汽車,但你會覺得這兩個是一回事嗎?
▲布加迪威航
在澄清了這個最基本的誤解之后,還有一個常見的問題:超算有什么用?
不要笑,雖然在稍微有點見識的人看來這確實是個可笑的問題。許多人問這個問題,并不是因為他們有證據認為超算沒用,而是因為他們“感覺”中國的就是沒用的。這是一種條件反射,并不是理性思考。
雖然如此,我們還是可以給出一個正經的回答。超算的用途非常廣泛,因為現在有太多的領域可以用計算來模擬了。例如空氣動力學,這對飛機和汽車的設計都是非常基本的。大家知道飛機和汽車需要吹風洞,超算模擬就相當于吹一個數值的風洞。又如氣象預測,你想知道颶風的移動軌跡嗎?超算告訴你。又如宇宙的演化,你想知道銀河系是怎么變成現在這個樣子的,以后會變成什么樣嗎?超算告訴你。我的專業領域叫做理論與計算化學,這個學科的主要內容就是用計算來預測分子的結構、材料的性質,那么超算的用處就更是一目了然了!
▲銀河系
有人也許會問:有什么必要非要算得那么快?算得慢點有什么不可以?
不要笑,雖然這聽起來也是個很可笑的問題,但我們還是可以給出一個正經的回答。有許多問題,我們是希望能實時預測的。例如化工的過程,原料在反應器里如何擴散,如何反應,這是大家十分關心的問題。假如你算得比實際的過程快,那么你就可以預先操縱。但假如你算得不如實際過程快,那么你的計算就毫無用處,你還不如老老實實跟著原料走呢,你也就無法操縱了。因此,計算快慢的區別并不一定是 80 分和 90 分的區別,而可能是 0 和 1 的區別,以至于生與死的區別。前中科院副院長李靜海院士多次強調過,計算能力就是一個國家的核心能力之一。
實際上,計算能力永遠沒有足夠的時候。一旦當前的問題得到了解決,人們立刻就會提出需要更高計算能力的下一層次的問題。例如在計算流體力學里有直接數值模擬,試圖捕捉最小尺度的漩渦,但目前只能算到幾毫米的空間。你覺得最小尺度的漩渦是多???這得需要多大的計算量?又比如現在一種新興的發動機叫做超燃沖壓發動機,里面的超聲速燃燒就涉及化學基元反應、湍流、熱交換等許多復雜的過程。當我們期望通過數值模擬去了解更為精細的過程的時候,我們就會發現,計算能力總是不夠的。
▲超燃沖壓發動機
在超算業界,有一個最高級的獎項叫做戈登·貝爾獎(Gordon Bell Prize),是授予最杰出的高性能計算應用的,每年頒發一次。理所當然地,獲得戈登·貝爾獎的應用,一般都是在最快的超算上運行的。2016 年和 2017 年,中國連續兩次獲得這個戈登·貝爾獎,獲獎的應用分別叫做“千萬核可擴展大氣動力學全隱式模擬”和“非線性地震模擬”,它們用的都是神威太湖之光。如果你對這兩個名字感到云里霧里,那么只要我跟你說,后面那個就是對唐山大地震的高精度模擬,你就明白這個研究有多重要了吧?
▲清華大學地球系統科學系副教授付昊桓等共同領導的團隊完成的“非線性地震模擬”獲得 2017 年戈登·貝爾獎
經常有人認為,中國的超算排第一,只是面子工程,沒有用處。還經常有人認為,中國的超算排第一,是因為超算的性能已經夠用了,其他國家沒有動力發展更快的?,F在你可以明白,這些觀點是多么愚蠢了吧!
當然,中國的超算工作仍然有需要改進的地方。超算的使用者會注意到一個問題,就是中國的超算應用普及還有待加強。雖然我們上榜 TOP500 的超算數量已經成了全世界最多的,500 臺里占了 206 臺,但中國的超算畢竟發展的時間還比較短,許多相關部門和人士還沒有及時跟上這個潮流。例如不同超算的應用界面不一樣,就會讓許多初學者感覺很頭疼,然后就不愿意用超算了。
如果中國在沖擊超算性能高峰的同時,各個地區也能夠統籌計算資源,共享系統和硬件,作業全域調配,改善超算的易用性,那么應用效果就會好得多。事實上,如果學生們能親身體會到國家的計算能力在提升,“太湖之光”、“西湖之光”、“鄱陽湖之光”等等就在身邊,那么這本身就是一種很好的宣傳。國家應該有一攬子計劃,推動超算的普及。研發更快的超算只是這個計劃的一個環節,后面還有許多工作要做。
下面一個問題,終于是一個相當有技術含量的問題:超算和量子計算機是什么關系?推而廣之,有許多人問:美國的量子計算機是不是已經要取代超算了?還有許多人問:超算是不是已經無所謂了,中國應該在量子計算機上彎道超車?
對此的基本回答是:超算和量子計算機完全是兩回事。當然,它們都很重要,都很值得關注,不過有兩個基本的區別。
第一,超算是一個現實的技術,已經用了很多年,而量子計算機還在實驗室演示階段,離實用還很遠。雖然各國都在努力發展,但量子計算機什么時候能夠達到實用的程度,還完全無法預測。
這第一點區別是很容易理解的,而第二點區別就不是那么容易了,需要很多背景知識。第二點是,許多媒體常常把量子計算機描繪成無所不能,因為它干什么都特別快——但這是錯誤的!
實際情況是,量子計算機并不是對于所有問題都特別快,而是只對于某些特定的問題比傳統的計算機快。這是因為對這些問題,可以設計出快得多的量子算法,這些算法只能在量子計算機上實現,在傳統計算機上不能用。而對于大多數問題,目前并沒有巧妙的量子算法可用,量子計算機也就沒有優勢可言了。也就是說,量子計算機的優勢,是依賴于問題的,并不是干什么都靈。
有人可能聽說過一個詞,“通用的量子計算機”,然后以為通用的量子計算機就會比專用的量子計算機強得多,在所有問題上都會比傳統的計算機快。很遺憾,這種理解也是錯誤的。
所謂通用的量子計算機,意思是它可以編程,可以在上面實現所有的量子算法,而專用的量子計算機只能做特定的某些事。這就好比計算尺和現代計算機的區別,在現代的電子計算機出現之前三百年,我們已經有了計算尺,它只能做四則運算,而現代的計算機可以做任何程序允許實現的事情。但是這個區別不會帶來本質性的變化,如果一件事是做不到的,那么從專用到通用,仍然是做不到的。
最近,科大郭光燦院士的研究組在《物理評論快報》上發表了一篇文章,提出了基于時間復用的新型量子行走方案,建成了 50 步的光學量子行走實驗系統,并基于該系統首次直接測量了具有手征對稱性的量子行走中的體拓撲不變量。量子行走可以實現普適的量子計算,“普適”英文是 general,其實就是“通用”。因此,這個研究對建造通用的量子計算機是有幫助的。當然,這種量級的成果在科大隔三差五地就有出現,歡迎同學們來到科大,為量子信息的發展做出貢獻!
量子計算機擅長的問題雖然還不是很多,但在其中就有一些是非常重要的。例如因數分解,也就是說把 21 分解成 3 乘以 7 這樣。因數分解的困難性,是目前最常用的密碼體系 RSA 的基礎,因此這是個非常重要的問題。如果量子計算機能夠實用了,那么我們就可以迅速分解長達幾千位的數字,RSA 密碼體系就會迅速被破解,這會造成重大的影響。想想看,如果你的移動支付信息輕易就被破解了,社會會變成什么樣!
就關于超算的問題而言,量子計算機當然是非常重要的,有顛覆世界的潛力,但發展量子計算機跟發展超算并沒有矛盾。我們現在是兩條腿走路,對超算是作為一個現實的技術來發展,對量子計算機是作為一個前瞻性的研究來發展。
最后一個問題是,在了解了這么多之后,我們應該如何看待美國重回 TOP500 第一,中國的五年冠軍告一段落呢?
基本的回答是:這是一個良性競爭。既然超算是一個這么有技術含量、又這么有用的技術,那么無論哪個國家取得進步,對全人類來說都是好事,都是值得肯定的。大家你追我趕,共同把人類的能力邊界推向前進,這是一個非常積極的景象。
事實上,美國這次奪冠,對于業內人士來說絲毫不意外,因為這些研究項目都是公開的,幾年以前大家就都知道了。中國也正在發展下一代的超算,如果順利的話,可能在不久之后又會重回第一的位置,并且把超算速度從現在的每秒十億億次提高到百億億次的量級。每秒計算百億億次的超算,稱為E級超算,是現在全世界攻關的下一級臺階。
例如,在 2018 年 5 月的第二屆世界智能大會上,國家超算天津中心展示了“天河三號”原型機,它的設計性能就達到了百億億次。天河三號全部采用自主技術,處理器是自主的飛騰芯片,通信是自主的天河高速互聯通信,操作系統是自主的麒麟操作系統。天河三號原型機將會在 2018 年 6 月部署到天津超算中心,年底的時候會正式投入使用。請注意,這個是原型機,用于小規模驗證。如果驗證成功,整機會在一兩年后問世。
▲天河三號原型機
除了天河三號之外,中國也有其他的百億億次超算項目,例如中科曙光的“E級超算”以及江南所/濟南超算中心的“神威E級”。千帆競渡,百舸爭流,讓我們拭目以待!