一文搞懂讓你懵圈的超級計算機(jī):真的不是堆CPU就行
6 月 18 日,在德國法蘭克福舉行的國際超級計算大會(ISC)上公布了***一期的超級計算機(jī)前 500 強(qiáng)榜單。
本次入門的超級計算機(jī)門檻非常高,***全部超過 1PFlops (每秒一千萬億次浮點運算),這是全球超級計算機(jī) 500 強(qiáng)榜單發(fā)布 26 年以來的一次歷史性突破。
在這份 500 強(qiáng)的榜單中,中國的超級計算機(jī)數(shù)量達(dá) 219 臺,數(shù)量位居世界***,其中 173 臺來自聯(lián)想,71 臺來自浪潮,63 臺來自曙光。
對于普通人來說,平常鮮有機(jī)會接觸到超級計算機(jī),因此對于超級計算機(jī)的理解也處于一知半解的狀態(tài)中。為此,騰訊科技摘取多位知乎專業(yè)答主的內(nèi)容,并稍加整理,通過一篇文章讓你徹底搞懂超級計算機(jī)。
超級計算機(jī)的核心技術(shù)是什么?——知乎答主張競揚
CPU 是超級計算機(jī)的重要組成部分,但不是超級計算機(jī)技術(shù)的全部。網(wǎng)絡(luò)上一些人將 CPU 技術(shù)等同于超級計算機(jī)技術(shù),認(rèn)為如果沒有自主的 CPU,就沒有掌握核心技術(shù)。
這種說法并不準(zhǔn)確。實際上,相對于聲名顯赫的 CPU,默默無聞的體系結(jié)構(gòu)設(shè)計才是一直被大眾和媒體忽略的關(guān)鍵技術(shù)。舉例來說,曙光星云采用了自主研發(fā)的超并行處理體系結(jié)構(gòu)、神威藍(lán)光超級計算機(jī)采用了大規(guī)模并行處理體系結(jié)構(gòu)、天河 1 號采用了多陣列可配置協(xié)同并行體系結(jié)構(gòu)、天河二號采用了自主創(chuàng)的新型異構(gòu)多態(tài)體系結(jié)構(gòu)。
體系結(jié)構(gòu)設(shè)計能力有多重要呢?打個比方,如果說超級計算機(jī)是一只軍隊,那么體系結(jié)構(gòu)設(shè)計就是軍隊的歷史傳承、光榮傳統(tǒng)、組織管理水平、軍事訓(xùn)練水平、武器裝備、后勤能力、高級將領(lǐng)的戰(zhàn)略指揮水平和中下層軍官的戰(zhàn)術(shù)指揮能力,而 CPU 則是軍隊的士兵。
此外,超級計算機(jī)不是簡單的 CPU 堆砌。因為堆 CPU 也是一個技術(shù)活,體系結(jié)構(gòu)設(shè)計的不好,高速互聯(lián)網(wǎng)絡(luò)做的不行,系統(tǒng)軟件做的不好,儲存列陣做的不行,即使堆再多的 CPU,超級計算機(jī)的性能也上不去。簡單粗暴的堆砌 CPU 根本不可能制造出一臺超級計算機(jī),更不要說是能與天河 2 號相匹敵的超級計算機(jī)。
另外,哪怕掌握了正確的堆砌 CPU 的方法,也不是單憑靠堆 CPU 數(shù)量就能獲得一臺能與天河 2 號相匹敵的超級計算機(jī)。原因何在? 因為超級計算機(jī)建設(shè)不是簡單的搭積木式的堆砌 CPU——即便堆砌了海量的計算卡,但受制于其他方面,比如高速互聯(lián)網(wǎng)的技術(shù)水平而導(dǎo)致無法到達(dá)理論計算性能。
具體來說,高速互聯(lián)網(wǎng)絡(luò)的難點在于超級計算機(jī)的計算節(jié)點之間傳輸?shù)臄?shù)據(jù)量巨大,延遲要求嚴(yán)格,當(dāng)互聯(lián)網(wǎng)絡(luò)效率不足,就會導(dǎo)致數(shù)據(jù)擁堵,大幅降低超級計算機(jī)整機(jī)系統(tǒng)效率。而超級計算機(jī)的計算節(jié)點越多,對互聯(lián)網(wǎng)絡(luò)的要求也就越高。因此,即使想通過堆砌 CPU 來提升運算能力,也會受限制互聯(lián)網(wǎng)絡(luò)的性能,造成這種做法并不能無節(jié)制的提升超級計算機(jī)的性能——受限于諸如互聯(lián)網(wǎng)絡(luò)以及其他方面的瓶頸,整機(jī)效率被拉低,導(dǎo)致實際性能并沒有因為堆砌了更多的 CPU 而有所提高。
另外,堆砌過多的 CPU 還存在功耗過大、機(jī)箱體積過大等問題,非常不利于日后的運營維護(hù)和使用,在超級計算機(jī)市場基本不具備市場競爭力。
在軟件系統(tǒng)方面,控制少量計算節(jié)點和控制大量計算節(jié)點對軟件系統(tǒng)的要求近乎于天差地別。軟件系統(tǒng)必須保證每個超級計算機(jī)計算節(jié)點的性能被發(fā)揮到***才能充分挖掘出硬件上的潛力。否則,就會影響超級計算機(jī)的整機(jī)效率。
因此,如果沒有一個好的體系結(jié)構(gòu),那么 CPU 的性能將無法全部發(fā)揮出來,而且堆砌的 CPU 數(shù)量越多,整個系統(tǒng)就越復(fù)雜,對高速互聯(lián)網(wǎng)絡(luò)、存儲列陣、監(jiān)控系統(tǒng)、冷卻系統(tǒng)和軟件方面的要求也就越高,整機(jī)效率的提升也就越難。而體系結(jié)構(gòu)設(shè)計能力水平不夠高的情況下,單純堆砌 CPU 數(shù)量,反而會降低整機(jī)效率,無法提升整機(jī)性能。
超級計算機(jī)與普通計算機(jī)有哪些區(qū)別?——知乎答主小侯飛氘
超級計算機(jī)沒有那么神秘,就是個計算工具。你輸入計算條件,它給你輸出計算結(jié)果。和買菜用的計算器是一樣一樣的,只是規(guī)模上有區(qū)別而已。
家用電腦一般只有一顆 CPU(GPU 同理),每顆 CPU 內(nèi)一般只有2~8 個物理核心。而一般的超級計算機(jī)有成千上萬顆 CPU,每顆 CPU 內(nèi)一般有幾十個物理核心。
這么多 CPU 當(dāng)然不是拿來供暖的,而是為了通過并行計算,完成繁重的計算任務(wù)的。舉個例子,在飛行器制造領(lǐng)域,經(jīng)常要計算飛機(jī)附近空氣的流動,以及飛行器本身的受力情況。最常用的計算方法是把空氣、機(jī)體分割成一個個小塊塊,分別計算每個小塊的運動和受力,再整合起來得到整體的運動和受力情況。
一般來說,分割的越精細(xì),每個小塊越小,計算越準(zhǔn)確。而魚與熊掌不可兼得,分割的越精細(xì),計算量也越大。
假如要把一個 1 的立方體分成 1 的小方塊,那么就要對 10 億個小方塊進(jìn)行計算。如果用單個 CPU 核心,需要連續(xù)做 10 億次運算,算完整個過程可能要花上一天。而如果有 10 個 CPU 核心,那就可以把這 10 億個方塊分成 10 份,每個 CPU 核心只要計算 1 億個方塊,然后把得到的結(jié)果整合起來就行。這樣大約能快上 10 倍,兩個小時就能算完了。
在科研和工程領(lǐng)域,有許許多多這樣的計算任務(wù),例如原子基本性質(zhì)的量子力學(xué)計算、藥物反應(yīng)過程的分子動力學(xué)模擬、黑洞碰撞的相對論模擬、大氣運動和天氣變化的預(yù)測、橋梁設(shè)計中的受力計算……這些復(fù)雜的問題,如果用單個 CPU 核心計算,可能要花上幾個月甚至是幾年才能得到結(jié)果。這么長的計算時間是難以接受的,所以我們需要用多個 CPU 核心進(jìn)行并行計算以提高效率,集成大量 CPU 于一身的超級計算機(jī)自然就應(yīng)需而生了。
超級計算機(jī)都被用來做什么?——知乎答主史中
舉幾個例子:
1、“核模擬”就需要高性能計算
核反應(yīng)是一個鏈?zhǔn)椒磻?yīng),原子裂變之后會影響到周圍的原子,周圍的原子又會影響它們周圍的原子,對于這些原子行為模擬所需要的計算數(shù)量級,就迅速變成了指數(shù)型的關(guān)系。
這就需要非常強(qiáng)大的超級計算機(jī)才能進(jìn)行模擬。而且,要知道這種模擬對于計算力的要求是沒有上限的。計算能力越強(qiáng),模擬就能進(jìn)行得更精準(zhǔn),從而能夠發(fā)現(xiàn)更深層的規(guī)律。
氣候預(yù)測也是高性能計算的一個巨大的應(yīng)用方向。
2、氣候預(yù)測同樣需要高性能計算
氣候預(yù)測,廣泛來看就是對全球氣流、洋流等等的預(yù)測,局限來看就是天氣預(yù)報。天氣預(yù)報的基本原理,就是通過氣象衛(wèi)星捕捉地圖上每一個點的云層和氣流運動軌跡,然后通過大量的計算推導(dǎo)出他們未來的走向。
要知道,即使是今天,對于天氣的預(yù)報,精度都難以達(dá)到 80% 以上。但是,你一定能感覺到,現(xiàn)在的天氣預(yù)測已經(jīng)比你小時候準(zhǔn)確得多。這就是因為我們現(xiàn)在的高性能計算能力大幅提高了。
舉個例子,之前氣象計算的粒度是 1 個經(jīng)緯度,大概是 111 公里,而現(xiàn)在我們氣象計算的精度已經(jīng)細(xì)到了 3 公里,氣象科學(xué)家們已經(jīng)把精度提高到 1 公里。這樣的精度提升,對于計算力的要求可是指數(shù)級的。
3、視頻渲染也是高性能計算的需求“大戶”
你還記得《阿凡達(dá)》嗎?這部 2009 年上映的電影里,特效場景比例達(dá)到了 70%。自從阿凡達(dá)之后,特效已經(jīng)成為了電影的標(biāo)配,甚至兩個演員在綠布前就可以完成一部高質(zhì)量的太空科幻電影。支撐這些特效的,無疑就是巨大的高性能計算力。
4、除此之外,高性能計算還可以進(jìn)行天體物理計算、地震預(yù)測、材料科學(xué)計算、基因組測序、交通分析、人類組織系統(tǒng)研究等等等等。