每日最新頭條.有趣資訊

美國超越中國重奪“超算”冠軍,到底有啥用?

美國重回超算排行榜第一位,中國的五年冠軍終結。此文為你解答常見問題:中國超算用的都是外國芯片,所以不值一提嗎?超算是按照什麽排名的?超算有什麽用?超算和量子電腦是什麽關係?……中國正在發展下一代超算,可能在不久之後又會重回第一,拭目以待!

2018年6月8日,美國能源部橡樹嶺國家實驗室宣布,造出了目前世界上最快的超級電腦,叫做“Summit”(頂點)。

在學術界,有一個著名的超算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是頂峰的意思,那麽最大值和峰值哪個大?這可真成了一個哲學問題了!

真正的回答是,Rmax是實測的最高速度,Rpeak是理論上的最高速度。總會有些實際原因使超算的性能達不到理論上限,所以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台。基本上,你認為是科技強國的那些國家,就是超算的強國,這兩個集合是高度重疊的。這也可以反映出超算的重要性,它相當於科技界的一種基礎設施。

好,以上是關於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倍嗎?你立刻就可以發現,不是。實際上,你要讓多個芯片同時乾事,就必須首先給它們劃分好任務,這個任務劃分是要消耗時間的。然後,當各個芯片開始計算之後,還不時地要和其他芯片交換數據,這個數據通信也是要消耗時間的。因此,計算速度的增長,總是低於芯片數的增長。超算的速度與單個芯片速度的比值,稱為加速比。現在我們明白了,加速比總是低於芯片數的。

當芯片比較少的時候,加速比上升得比較快。隨著芯片數的增加,加速比上升得越來越平緩。當芯片很多的時候,任務劃分和數據通信會變成瓶頸因素,這些負擔的增加會抵消芯片增加的好處,因此加速比會達到飽和,不再上升。由此可見,芯片並不是越多越好的,光靠堆芯片是堆不出超級電腦的。

如果你在大的組織當中做過事,例如大企業、大的政府機構以至大的非政府組織,你就會有很多親身體會,人浮於事、推諉扯皮之類的毛病,在越大的組織中越容易出現。所以,組織並不是越大越好的。超算也是同樣的道理!

現在你可以理解,一台超算能夠容納下多少芯片,並不是取決於有多少錢能用來買芯片,而是取決於系統架構。只有你的系統架構改進了,才能讓更多的芯片發揮作用,達到更高的計算能力。超算的芯片數增加,是一個結果,而不是原因。超算的技術含量,是表現在這裡!不要以為只有芯片是核心技術,超算架構同樣也是核心技術!

例如,天河二號取得突破,最關鍵的技術之一就是中國自製的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年,中國連續兩次獲得這個戈登·貝爾獎,獲獎的應用分別叫做“千萬核可擴展大氣動力學全隱式模擬”和“非線性地震模擬”,它們用的都是神威太湖之光。如果你對這兩個名字感到雲裡霧裡,那麽只要我跟你說,後面那個就是對唐山大地震的高精度模擬,你就明白這個研究有多重要了吧?

經常有人認為,中國的超算排第一,只是面子工程,沒有用處。還經常有人認為,中國的超算排第一,是因為超算的性能已經夠用了,其他國家沒有動力發展更快的。現在你可以明白,這些觀點是多麽愚蠢了吧!

當然,中國的超算工作仍然有需要改進的地方。超算的使用者會注意到一個問題,就是中國的超算應用普及還有待加強。雖然我們上榜TOP500的超算數量已經成了全世界最多的,500台裡佔了206台,但中國的超算畢竟發展的時間還比較短,許多相關部門和人士還沒有及時跟上這個潮流。例如不同超算的應用界面不一樣,就會讓許多初學者感覺很頭疼,然後就不願意用超算了。

如果中國在衝擊超算性能高峰的同時,各個地區也能夠統籌計算資源,共享系統和硬體,作業全域調配,改善超算的易用性,那麽應用效果就會好得多。事實上,如果學生們能親身體會到國家的計算能力在提升,“太湖之光”、“西湖之光”、“鄱陽湖之光”等等就在身邊,那麽這本身就是一種很好的宣傳。國家應該有一攬子計劃,推動超算的普及。研發更快的超算只是這個計劃的一個環節,後面還有許多工作要做。

下面一個問題,終於是一個相當有技術含量的問題:超算和量子電腦是什麽關係?推而廣之,有許多人問:美國的量子電腦是不是已經要取代超算了?還有許多人問:超算是不是已經無所謂了,中國應該在量子電腦上彎道超車?

對此的基本回答是:超算和量子電腦完全是兩回事。當然,它們都很重要,都很值得關注,不過有兩個基本的區別。

第一,超算是一個現實的技術,已經用了很多年,而量子電腦還在實驗室演示階段,離實用還很遠。雖然各國都在努力發展,但量子電腦什麽時候能夠達到實用的程度,還完全無法預測。

這第一點區別是很容易理解的,而第二點區別就不是那麽容易了,需要很多背景知識。第二點是,許多媒體常常把量子電腦描繪成無所不能,因為它幹什麽都特別快——但這是錯誤的!

實際情況是,量子電腦並不是對於所有問題都特別快,而是隻對於某些特定的問題比傳統的電腦快。這是因為對這些問題,可以設計出快得多的量子算法,這些算法只能在量子電腦上實現,在傳統電腦上不能用。而對於大多數問題,目前並沒有巧妙的量子算法可用,量子電腦也就沒有優勢可言了。也就是說,量子電腦的優勢,是依賴於問題的,並不是幹什麽都靈。

有人可能聽說過一個詞,“通用的量子電腦”,然後以為通用的量子電腦就會比專用的量子電腦強得多,在所有問題上都會比傳統的電腦快。很遺憾,這種理解也是錯誤的。

所謂通用的量子電腦,意思是它可以編程,可以在上面實現所有的量子算法,而專用的量子電腦只能做特定的某些事。這就好比計算尺和現代電腦的區別,在現代的電子電腦出現之前三百年,我們已經有了計算尺,它只能做四則運算,而現代的電腦可以做任何程式允許實現的事情。但是這個區別不會帶來本質性的變化,如果一件事是做不到的,那麽從專用到通用,仍然是做不到的。

最近,科大郭光燦院士的研究組在《物理評論快報》上發表了一篇文章,提出了基於時間複用的新型量子行走方案,建成了50步的光學量子行走實驗系統,並基於該系統首次直接測量了具有手征對稱性的量子行走中的體拓撲不變量。量子行走可以實現普適的量子計算,“普適”英文是general,其實就是“通用”。因此,這個研究對建造通用的量子電腦是有幫助的。當然,這種量級的成果在科大隔三差五地就有出現,歡迎同學們來到科大,為量子資訊的發展做出貢獻!

量子電腦擅長的問題雖然還不是很多,但在其中就有一些是非常重要的。例如因數分解,也就是說把21分解成3乘以7這樣。因數分解的困難性,是目前最常用的密碼體系RSA的基礎,因此這是個非常重要的問題。如果量子電腦能夠實用了,那麽我們就可以迅速分解長達幾千位的數字,RSA密碼體系就會迅速被破解,這會造成重大的影響。想想看,如果你的移動支付資訊輕易就被破解了,社會會變成什麽樣!

就關於超算的問題而言,量子電腦當然是非常重要的,有顛覆世界的潛力,但發展量子電腦跟發展超算並沒有矛盾。我們現在是兩條腿走路,對超算是作為一個現實的技術來發展,對量子電腦是作為一個前瞻性的研究來發展。

最後一個問題是,在了解了這麽多之後,我們應該如何看待美國重回TOP500第一,中國的五年冠軍告一段落呢?

基本的回答是:這是一個良性競爭。既然超算是一個這麽有技術含量、又這麽有用的技術,那麽無論哪個國家取得進步,對全人類來說都是好事,都是值得肯定的。大家你追我趕,共同把人類的能力邊界推向前進,這是一個非常積極的景象。

事實上,美國這次奪冠,對於業內人士來說絲毫不意外,因為這些研究項目都是公開的,幾年以前大家就都知道了。中國也正在發展下一代的超算,如果順利的話,可能在不久之後又會重回第一的位置,並且把超算速度從現在的每秒十億億次提高到百億億次的量級。每秒計算百億億次的超算,稱為E級超算,是現在全世界突破的下一級台階。

例如,在2018年5月的第二屆世界智能大會上,國家超算天津中心展示了“天河三號”原型機,它的設計性能就達到了百億億次。天河三號全部採用自主技術,處理器是自主的飛騰芯片,通信是自主的天河高速互聯通信,作業系統是自主的麒麟作業系統。天河三號原型機將會在2018年6月部署到天津超算中心,年底的時候會正式投入使用。請注意,這個是原型機,用於小規模驗證。如果驗證成功,整機會在一兩年後問世。

除了天河三號之外,中國也有其他的百億億次超算項目,例如中科曙光的“E級超算”以及江南所/濟南超算中心的“神威E級”。千帆競渡,百舸爭流,讓我們拭目以待!

來源:微信公眾號“風雲之聲” 作者:袁嵐峰

獲得更多的PTT最新消息
按讚加入粉絲團