《如何建造一臺超級計算機》要點:
本文介紹了如何建造一臺超級計算機,希望對您有用。如果有疑問,可以聯(lián)系我們。
你需不需要一臺每秒可以進(jìn)行數(shù)百萬億次浮點運算的機器?或者,你想不想知道點關(guān)于你家地下室里的超級計算機是如何上電運行的趣事兒?建造一臺屬于自己的計算集群——亦即超級計算機——是每個閑得發(fā)慌還有錢燒的專業(yè)極客都能做到的事情!從技術(shù)上來講,一臺現(xiàn)代多處理器超級計算機實際上是一個計算機網(wǎng)絡(luò),這些計算機并行地工作以解決特定的計算問題.本文將從硬件和軟件兩個角度為你解開建造一臺超級計算機的神秘面紗.
Steps

1.首先要確定硬件部件和所需要的資源
你需要一個頭節(jié)點(head node),至少一打的計算節(jié)點(compute node),一臺以太網(wǎng)交換機,一個電源分配單元(power distribution unit)和一個服務(wù)器機架.計算一下電力消耗,冷卻需求和占地需求.同樣,你需要確定你的私有網(wǎng)絡(luò)的IP地址段,節(jié)點的命名,預(yù)計使用的軟件包以及搭建服務(wù)集群所用的技術(shù)(后面會有更多解釋).
- ●盡管硬件相當(dāng)昂貴,但是這里列出的軟件都是免費的,并且大多都是開源的;
- ●如果你想要了解一下你的超級計算機理論上能有多快,你可以用這個工具:http://hpl-calculator.sourceforge.net/

2.建立計算節(jié)點
你需要自己組裝計算節(jié)點,或者你也可以使用預(yù)配置的服務(wù)器.
- ●選擇一款能夠最大化空間、冷卻和能源消耗效率的機架式服務(wù)器;
- ●或者,你可以使用一打左右閑置的過時服務(wù)器——它們集合在一起工作的性能要比它們獨立運行時的總和還多,而且還能省你一大筆錢!整個系統(tǒng)的處理器、網(wǎng)絡(luò)適配器、主板應(yīng)該是同一型號的,這樣才能達(dá)到最佳運行效能.當(dāng)然了,別忘了給每個節(jié)點配內(nèi)存和硬盤,并且至少給頭節(jié)點配一臺光驅(qū).

3.將服務(wù)器裝在機架上
安裝的時候從下面開始,這樣可以避免機架頭重腳輕.你可能會需要朋友的幫助才能完成這件事——這么多的服務(wù)器將非常的重,把它們放到機架的滑軌上會非常困難.
4.在機架頂端安裝以太網(wǎng)交換機
現(xiàn)在來配置交換機:允許9000字節(jié)的大的幀,將IP地址設(shè)置為你在第一步里面確定的靜態(tài)地址,關(guān)閉例如SMTP嗅探這樣不必要的路由協(xié)議.
5.安裝能源分配單元
根據(jù)目前你的節(jié)點的最大需求,可能220V就能滿足你的高性能計算需求了.
6. 一切都安裝妥當(dāng)之后,就可以開始配置環(huán)節(jié)了
Linux是高性能計算集群(HPC Cluster)操作系統(tǒng)的事實標(biāo)準(zhǔn),這不僅因為Linux是科學(xué)計算的理想環(huán)境,也是由于在數(shù)以百計甚至千計的節(jié)點上安裝的時候,Linux不會產(chǎn)生任何花費.設(shè)想一下,在如此多的節(jié)點上安裝Windows會花掉你多少錢呢?
- ●從更新主板BIOS的固件開始,將所有節(jié)點的BIOS固件都更新至最新的版本;
- ●在每個節(jié)點上都安裝好你喜歡的Linux發(fā)行版,頭節(jié)點需要安裝隊圖形界面的支持.比較流行的選擇,包括CentOS、OpenSuse、Scientific Linux、RedHat以及SLES;
- ●作者極力推薦你使用Rocks Cluster Distribution來搭建計算集群.除了它已經(jīng)安裝好計算集群需要使用的所有工具外,Rock還提供了一種通過PXE和RedHat的“Kick Start”來進(jìn)行批量部署的方案.
7. 安裝消息傳送界面、資源管理器以及其他必須的庫
如果上一步里你沒有選擇Rock做為你的節(jié)點的操作系統(tǒng),那么現(xiàn)在你需要手動設(shè)置并行計算機制所必需的軟件.
- ●首先,你需要一個便攜的bash管理系統(tǒng),例如Torque Resource Manager,這些軟件允許你劃分以及分配計算任務(wù);
- ●如果安裝了Torque Resource Manager,那么你還需要Maui Cluster Scheduler來完成設(shè)置;
- ●其次,你需要安裝消息傳送界面(message passing interface),用來在不同的計算節(jié)點的進(jìn)程之間共享數(shù)據(jù).不用想了,OpenMP是你的菜!
- 最后,不要忘了用多線程的數(shù)學(xué)庫及編譯器來編寫你的計算任務(wù).我是不是說過其實你只需要Rocks?

8.將所有的計算節(jié)點接入網(wǎng)絡(luò)
頭節(jié)點負(fù)責(zé)將任務(wù)分配到計算節(jié)點,計算節(jié)點再把結(jié)果返回回來,節(jié)點間的消息傳遞也是如此,所以當(dāng)然是越快越好了.
- ●使用私有網(wǎng)絡(luò)將集群中的所有節(jié)點互聯(lián)起來;
- ●頭節(jié)點其實還充當(dāng)局域網(wǎng)里的NFS、PXE、DHCP以及NTP服務(wù)器;
- ●你必須將該網(wǎng)絡(luò)從公網(wǎng)中分離出來,這樣可以保證該網(wǎng)絡(luò)中的廣播報文不會影響到其他的網(wǎng)絡(luò);
9.對集群進(jìn)行測試
在你把你強大的Top500計算集群交付給客戶之前,你還要測試一下它的性能.HPL(High Performance Lynpack)評測軟件包是測試集群的計算速度的常見選擇.你需要從源代碼編譯它,編譯的時候根據(jù)你選擇的架構(gòu),打開所有可能的優(yōu)化選項.
- ●當(dāng)然了,在編譯源代碼的時候,你需要打開所有可能的編譯優(yōu)化選項.例如,如果你使用的是AMD的CPU,編譯Open64的時候,請加上-0fast優(yōu)化選項;
- ●把跑分結(jié)果和TOP500.org上最快的計算機做個比較!
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/4627.html