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