你可能已經(jīng)認(rèn)識(shí)到給臺(tái)式機(jī)或者筆記本選用4核處理器是一種浪費(fèi),但是這不是你的問(wèn)題:編寫(xiě)并行執(zhí)行的代碼是相當(dāng)困難的,所以大部分的應(yīng)用(除下一些計(jì)算密集型電子游戲)都只能在單核心上運(yùn)行。然而一組來(lái)自斯坦福的研究者最近發(fā)布已經(jīng)模擬出在百萬(wàn)核心上的并行處理。
隨著并行處理的"家喻戶曉",在多個(gè)節(jié)點(diǎn)上運(yùn)行應(yīng)用程序可以比以往更快 —— 工作量可以分配于多個(gè)節(jié)點(diǎn)進(jìn)行并行處理,核心越多越快。這也是Hadoop誕生的原因,非常適合大體積數(shù)據(jù)的處理。MapReduce框架將作業(yè)分配到多個(gè)節(jié)點(diǎn)上進(jìn)行處理,然后匯總出結(jié)果輸出。
但是即使是Hadoop也只能夠在上萬(wàn)個(gè)節(jié)點(diǎn)上運(yùn)行,因?yàn)樗P(guān)注的是節(jié)點(diǎn) —— 在多核心處理器的利用上并不是很充分。IBM出品的Sequoia超級(jí)計(jì)算機(jī)(安置在勞倫斯利弗莫爾國(guó)家實(shí)驗(yàn)室),斯坦福團(tuán)隊(duì)用98304個(gè)處理器(或節(jié)點(diǎn))構(gòu)成;每個(gè)處理器封裝了16個(gè)計(jì)算核心,總計(jì)1572864核心;研究員已經(jīng)可以利用到大部分核心,他們稱(chēng)以開(kāi)創(chuàng)許多類(lèi)別上的記錄。
不去管記錄,這確實(shí)是件復(fù)雜到難以置信的任務(wù);這個(gè)模擬實(shí)現(xiàn)了超過(guò)百萬(wàn)的任務(wù)在上萬(wàn)個(gè)節(jié)點(diǎn)(每個(gè)節(jié)點(diǎn)16核心)上的分配。因?yàn)槿绻@些進(jìn)程中出現(xiàn)一處碰撞,都可能會(huì)導(dǎo)致系統(tǒng)變慢或者摧毀整個(gè)模擬。
即使在經(jīng)常會(huì)出現(xiàn)幾十萬(wàn)核心的超算世界中(其中可能還會(huì)有特殊用途搭載GPU的處理器),都缺少充分利用這些核心的解決方案。高性能計(jì)算世界正向著百萬(wàn)兆級(jí)運(yùn)算邁進(jìn),但是比能源消耗更大的問(wèn)題可能會(huì)出現(xiàn) —— 應(yīng)用程序需要更多的計(jì)算能力以及適應(yīng)如此規(guī)模的算法。
(編譯/仲浩 審校/王旭東)