狂飆的計算機:百萬CPU集群作戰(zhàn)!強悍的超級計算機……
每當(dāng)新款的智能手機或者家用電腦發(fā)布時,人們討論最多的話題總是離不開中央處理器(CPU)的運算性能以及散熱問題??赡芪覀儾⒉磺宄娮釉O(shè)備的CPU內(nèi)部具體的計算架構(gòu),但卻可以真切地感受到CPU運算能力的提升給我們生活、工作帶來的巨大改變。
實際上,小到我們中學(xué)時期經(jīng)常使用的科學(xué)計算器,大到現(xiàn)在日常辦公必備的筆記本電腦,這些具備數(shù)據(jù)處理能力的電子設(shè)備都可以統(tǒng)稱為電子計算機。
那么,在經(jīng)典計算機的基礎(chǔ)上,有沒有更快、更強的計算機呢?
“0”與“1”組成的奇妙世界
當(dāng)我們每次按下手機按鍵或者電腦鍵盤的時候,這些字符或者信息首先需要被轉(zhuǎn)化為電子計算機能夠處理的編碼:0或者1的排列組合。
例如,根據(jù)ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)的字符編碼,英文字母K被編碼為“01001011”。而當(dāng)經(jīng)過電子計算機CPU的運算處理后,一串0或1編碼的信息又可以轉(zhuǎn)化成我們認(rèn)識的字母或者圖片呈現(xiàn)在眼前。
在電子計算機的CPU中,電子晶體管可以作為0或者1進行數(shù)值運算的基本單元,此時電子晶體管的通路可以代表數(shù)值1,斷路就代表數(shù)值0,而當(dāng)數(shù)以百萬計的電子晶體管及其他電子元件通過超大規(guī)模集成電路工藝被封裝在一小塊半導(dǎo)體晶片上時,這種具備數(shù)據(jù)處理能力并且被微型封裝的集成電路一般簡稱為“芯片”。
16核不夠用?那就再多“億”點!
然而,隨著生活和工作中數(shù)據(jù)處理任務(wù)的不斷增加,電子設(shè)備上CPU單一核心的運算能力往往很難達(dá)到需求,這時候我們可以在CPU上集成多個運算核心,從而保證多個核心可以同時獨立地處理數(shù)據(jù)任務(wù)。
現(xiàn)在常見的商用計算機一般是采用8核CPU,甚至某些用以處理大型計算任務(wù)的工作站會擁有16核CPU。
但即使這樣高性能的計算機也難以滿足越來越復(fù)雜的計算需求,以我們常見的天氣預(yù)報為例,計算機需要將特定區(qū)域的大氣層離散成網(wǎng)格進行數(shù)值模擬,而如果要達(dá)到對未來3天的準(zhǔn)確度達(dá)到90%以上的氣象預(yù)測,則需要高達(dá)百億量級的浮點運算,如果普通商用計算機來計算的話,需要耗時至少半個月。
此外,大數(shù)據(jù)中心支持下的城市智能交通和在線云端計算都需要指數(shù)量級的數(shù)據(jù)處理能力,于是,人們開始著手將高達(dá)數(shù)百萬的CPU互聯(lián)起來協(xié)同工作,從而建造能夠并行計算的“超級計算機”。
實際上,“超級計算機”并非單獨一臺擁有超級算力的計算機,而是超級計算機集群的簡稱。
也就是說,超級計算機集群的每個節(jié)點都是一臺獨立的計算機,它的“超級”之處在于自己內(nèi)部存在獨特的節(jié)點互聯(lián)的結(jié)構(gòu),這樣就可以同時調(diào)度所有節(jié)點上的成千上萬顆CPU,并且每顆CPU內(nèi)一般有幾十個物理核心,從而擁有指數(shù)量級的數(shù)據(jù)處理能力。
但是,“超級計算機”并非全能型選手,它只對可并行運算的算法問題有強大的處理能力,卻無法加速處理串行計算的數(shù)據(jù)任務(wù),此外,“超級計算機”操作系統(tǒng)的任務(wù)調(diào)度策略和編譯器的優(yōu)化也極大影響了自身的性能表現(xiàn)。
這里的串行/并行運算任務(wù)可以這樣通俗地理解:一堆土方原本需要1個人用10小時搬運完,同時也可以安排10個人用1小時搬完。
但是,如果遇到需要1個人花10小時挖一口只能容納一人進行作業(yè)的井情況,就無法安排10個人在1小時內(nèi)完成,這就是“超級計算機”也難以高效處理的串行運算任務(wù)。
因此,“超級計算機”并不是簡單的CPU和運算核心的堆疊,其加速運算能力不僅僅依靠CPU核心之間的高度協(xié)同互聯(lián),還要優(yōu)化數(shù)據(jù)處理任務(wù)的算法次序來充分調(diào)用每一顆CPU的運算潛能。
我們熟知的“神威·太湖之光”超級計算機共有40960顆CPU,并且其峰值的運算速度達(dá)到了12.54億億次/秒,并且持續(xù)計算的速度達(dá)到了9.3億億次/秒。
“神威·太湖之光”超級計算機助力清華大學(xué)、北師大以及中科院團隊完成“全球大氣非靜力云分辨模擬”,并實現(xiàn)了全球10公里高分辨率的地球系統(tǒng)數(shù)值模擬,這一研究成果進一步增強了我國應(yīng)對復(fù)雜氣象條件下的自然災(zāi)害監(jiān)測能力。
目前,“超級計算機”廣泛運用于醫(yī)藥研發(fā)中的分子動力學(xué)模擬,電動汽車中的燃料電池設(shè)計,飛行器設(shè)計中的氣動外形優(yōu)化,核聚變領(lǐng)域中的約束裝置邊界穩(wěn)定性計算,以及原子物理學(xué)中的量子力學(xué)技術(shù)等。
超級計算機,亦有局限
但是,“超級計算機”的建造不僅僅需要數(shù)十億元的投入成本,還需要每日高達(dá)數(shù)十萬元的電費支出。
此外,占據(jù)上千立方米的龐大體積以及復(fù)雜的水冷散熱系統(tǒng)也限制了“超級計算機”的進一步發(fā)展。于是,人們開始重新思考如何讓計算機在更小的體積和更低的功耗下實現(xiàn)更強的數(shù)據(jù)運算能力。
一個自然的想法是在同一塊芯片上集成更多的晶體管,曾經(jīng)作為英特爾創(chuàng)始人之一的戈登·摩爾就提出“摩爾定律”,即集成電路上的晶體管數(shù)目每經(jīng)過18~24個月便會增加一倍,這樣CPU的數(shù)據(jù)處理能力就會翻一番。
這就是為什么,即使我們現(xiàn)在千元價位的手機CPU也比十年前的商用電腦擁有更強的運算能力——因為晶體管密度增加了呀。
但是,“摩爾定律”并不能永遠(yuǎn)維持下去,原因之一是用于芯片微電路加工的光刻工藝已經(jīng)逼近2~3nm的光學(xué)衍射極限,已經(jīng)很難在保證芯片良品率的條件下進一步提高晶體管密度。
此外,隨著晶體管尺寸的不斷減小,電極間的漏電現(xiàn)象以及巨大的散熱問題,也會導(dǎo)致芯片的性能失效。
面對這樣的困境,難道說,我們的計算機技術(shù)發(fā)展到此就進入瓶頸了嗎?別著急,在下篇文章中筆者自然會為大家揭曉答案。