超級(jí)計(jì)算機(jī),指能夠執(zhí)行一般個(gè)人電腦無(wú)法處理的大資料量與高速運(yùn)算的電腦,其基本組成組件與個(gè)人電腦的概念無(wú)太大差異,但規(guī)格與性能則強(qiáng)大許多?,F(xiàn)有的超級(jí)計(jì)算機(jī)運(yùn)算速度大都可以達(dá)到每秒一兆(萬(wàn)億,非百萬(wàn))次以上?!俺?jí)計(jì)算機(jī)”(Supercomputing)這名詞第一次出現(xiàn)是在媒體“紐約世界報(bào)”于1929年關(guān)于IBM為哥倫比亞大學(xué)建造大型報(bào)表機(jī)(tabulator)的報(bào)導(dǎo)。
1960年代,超級(jí)計(jì)算機(jī)由希穆?tīng)枴た死?Seymour Cray)在Control Data Corporation里設(shè)計(jì)出來(lái)并領(lǐng)先市場(chǎng)直到1970年代克雷創(chuàng)立自己的公司──克雷研究。憑著他的新設(shè)計(jì),他控制了整個(gè)超級(jí)計(jì)算機(jī)市場(chǎng),并占據(jù)顛峰位置長(zhǎng)達(dá)五年(1985-1990)。到了1980年代,正值小型電腦市場(chǎng)萌芽階段,大量小型對(duì)手加入競(jìng)爭(zhēng)。在1990年代中期,很多對(duì)手受不了市場(chǎng)的沖擊而消聲匿跡。今天,超級(jí)計(jì)算機(jī)成了一種由大型電腦公司所特意設(shè)計(jì)的電腦。雖然這些公司通過(guò)不斷并購(gòu)其他公司而增強(qiáng)了自己的經(jīng)驗(yàn),但除他們以外的元老公司——克雷研究——依然是超級(jí)計(jì)算機(jī)領(lǐng)域的巨頭之一。
超級(jí)計(jì)算機(jī)的歷史
“超級(jí)計(jì)算機(jī)”一詞并無(wú)明確定義,其含義隨計(jì)算機(jī)業(yè)界的發(fā)展而發(fā)生變化。早期的控制數(shù)據(jù)公司機(jī)器可達(dá)十倍速于競(jìng)爭(zhēng)對(duì)手,但仍然是比較原始的標(biāo)量處理器。到了1970年代,大部分超級(jí)計(jì)算機(jī)就已經(jīng)是矢量處理器了,很多是新進(jìn)者自行開(kāi)發(fā)的廉價(jià)處理器來(lái)攻占市場(chǎng)。1980年代初期,業(yè)界開(kāi)始轉(zhuǎn)向大規(guī)模并行運(yùn)算系統(tǒng),這時(shí)的超級(jí)計(jì)算機(jī)由成千上萬(wàn)的普通處理器所組成。1980年代中葉,將適量的矢量處理器(一般由8個(gè)到16個(gè)不等)聯(lián)合起來(lái)進(jìn)行并行計(jì)算成為通用的方法。1990年代以后到21世紀(jì)初,超級(jí)計(jì)算機(jī)則主要由基于精簡(jiǎn)指令集的處理器(譬如PowerPC、PA-RISC或DEC Alpha)互聯(lián)進(jìn)行并行計(jì)算而實(shí)行。
超級(jí)計(jì)算機(jī)的用途
超級(jí)計(jì)算機(jī)常用于需要大量運(yùn)算的工作,譬如天氣預(yù)測(cè)、氣候研究、運(yùn)算化學(xué)、分子模型、天體物理模擬、汽車(chē)設(shè)計(jì)模擬、密碼分析等等。不過(guò)隨著互聯(lián)網(wǎng)的發(fā)展,特別是云計(jì)算、大數(shù)據(jù)、Web2.0的發(fā)展,超級(jí)計(jì)算機(jī)的功能正在逐漸拓展。在最近發(fā)布的中國(guó)TOP100超級(jí)計(jì)算機(jī)中,有45臺(tái)均應(yīng)用于互聯(lián)網(wǎng)領(lǐng)域。
超級(jí)計(jì)算機(jī)的設(shè)計(jì)
超級(jí)計(jì)算機(jī)的創(chuàng)新設(shè)計(jì)在于把復(fù)雜的工作細(xì)分為可以同時(shí)處理的工作并分配于不同的處理器。他們?cè)谶M(jìn)行特定的運(yùn)算方面表現(xiàn)突出,但在處理一般工作時(shí)卻差強(qiáng)人意。他們的數(shù)據(jù)結(jié)構(gòu)是經(jīng)過(guò)精心設(shè)計(jì)來(lái)確保數(shù)據(jù)及指令及時(shí)送達(dá)——傳遞速度的細(xì)微差別可以導(dǎo)致運(yùn)算能力的巨大差別。其輸入/輸出系統(tǒng)也有特殊設(shè)計(jì)來(lái)提供高帶寬,但是這里的數(shù)據(jù)傳輸延遲卻并不重要——超級(jí)計(jì)算機(jī)并非數(shù)據(jù)交換機(jī)。
根據(jù)阿姆達(dá)爾定律,超級(jí)計(jì)算機(jī)的設(shè)計(jì)都集中在減少軟件上的串行化、用硬體在瓶頸上加速。近年來(lái),并行應(yīng)用的興起使得超級(jí)計(jì)算機(jī)的發(fā)展開(kāi)始向并行化過(guò)度。特別是NVIDIA與英特爾公司分別推出特定應(yīng)用的加速器之后,并行計(jì)算所依賴(lài)的異構(gòu)計(jì)算已經(jīng)成為了超級(jí)計(jì)算機(jī)運(yùn)行的主流模式,盡管在TOP500中還有許多設(shè)備并沒(méi)有采用異構(gòu)加速的模式,但這種趨勢(shì)已經(jīng)不可阻擋。
超級(jí)計(jì)算機(jī)的類(lèi)型
從類(lèi)別來(lái)劃分,通用超級(jí)計(jì)算機(jī)大約可以分為以下三種類(lèi)型:矢量處理機(jī)器能為大量數(shù)據(jù)同時(shí)進(jìn)行同樣的運(yùn)算、叢集式處理器特別創(chuàng)建連接處理器及記憶體的通信網(wǎng)絡(luò)和大量服務(wù)器所組建的集群。在以上三種劃分中,由X86平臺(tái)服務(wù)器組建的集群已經(jīng)占據(jù)了超級(jí)計(jì)算機(jī)組成模式的主流,目前世界最快的超級(jí)計(jì)算機(jī)天河二號(hào)就是采用大量服務(wù)器和加速器所組建的集群。
超級(jí)計(jì)算機(jī)的速度單位
超級(jí)計(jì)算機(jī)速度以每秒浮點(diǎn)運(yùn)算次數(shù)"FLOPS"(floating-point operations per second)來(lái)作量度單位,常見(jiàn)的表示電腦中的峰值或速度用的單位英漢對(duì)照如下:
一個(gè)MFLOPS(megaFLOPS)等于每秒100萬(wàn)(=106)次的浮點(diǎn)運(yùn)算
一個(gè)GFLOPS(gigaFLOPS)等于每秒10億(=109)次的浮點(diǎn)運(yùn)算
一個(gè)TFLOPS(teraFLOPS)等于每秒1萬(wàn)億(=1012)次的浮點(diǎn)運(yùn)算
一個(gè)PFLOPS(petaFLOPS)等于每秒1千萬(wàn)億(=1015)次的浮點(diǎn)運(yùn)算
一個(gè)EFLOPS(exascaleFLOPS)等于每秒100億億(=1018)次的浮點(diǎn)運(yùn)算
此外,由于浮點(diǎn)積和熔加運(yùn)算或乘積累加是兩次的浮點(diǎn)運(yùn)算(每條FMA指令包括加/減及乘),因此當(dāng)處理器支持FMA指令時(shí),峰值是兩倍每秒所能運(yùn)行FMA指令的數(shù)目。