Rocks Cluster助HPC高性能計(jì)算機(jī)集群在科研計(jì)算應(yīng)用
簡(jiǎn)單的說(shuō),集群(cluster)就是一組計(jì)算機(jī),它們作為一個(gè)整體向用戶(hù)提供一組網(wǎng)絡(luò)資源。這些單個(gè)的計(jì)算機(jī)系統(tǒng)就是集群的節(jié)點(diǎn)(node)。一個(gè)理想的集群是,用戶(hù)從來(lái)不會(huì)意識(shí)到集群系統(tǒng)底層的節(jié)點(diǎn),在他/她們看來(lái),集群是一個(gè)系統(tǒng),而非多個(gè)計(jì)算機(jī)系統(tǒng)。并且集群系統(tǒng)的管理員可以隨意增加和刪改集群系統(tǒng)的節(jié)點(diǎn)。
集群并不是一個(gè)全新的概念,其實(shí)早在七十年代計(jì)算機(jī)廠商和研究機(jī)構(gòu)就開(kāi)始了對(duì)集群系統(tǒng)的研究和開(kāi)發(fā)。由于主要用于科學(xué)工程計(jì)算,所以這些系統(tǒng)并不為大家所熟知。直到Linux集群的出現(xiàn),集群的概念才得以廣為傳播。
對(duì)集群的研究起源于集群系統(tǒng)的良好的性能可擴(kuò)展性(scalability)。提高CPU主頻和總線(xiàn)帶寬是最初提供計(jì)算機(jī)性能的主要手段。但是這一手段對(duì)系統(tǒng)性能的提供是有限的。接著人們通過(guò)增加CPU個(gè)數(shù)和內(nèi)存容量來(lái)提高性能,于是出現(xiàn)了向量機(jī)、對(duì)稱(chēng)多處理機(jī)(SMP)等。但是當(dāng)CPU的個(gè)數(shù)超過(guò)某一閾值,象SMP這些多處理機(jī)系統(tǒng)的可擴(kuò)展性就變得極差。主要瓶頸在于CPU訪(fǎng)問(wèn)內(nèi)存的帶寬并不能隨著CPU個(gè)數(shù)的增加而有效增長(zhǎng)。與SMP相反,集群系統(tǒng)的性能隨著CPU個(gè)數(shù)的增加幾乎是線(xiàn)性變化的。
集群系統(tǒng)的優(yōu)點(diǎn)并不僅在于此,下面列舉了集群系統(tǒng)的主要優(yōu)點(diǎn):
高可擴(kuò)展性:如上所述。
高可用性:集群中的一個(gè)節(jié)點(diǎn)失效,它的任務(wù)可以傳遞給其他節(jié)點(diǎn),可以有效防止單點(diǎn)失效。
高性能:負(fù)載平衡集群允許系統(tǒng)同時(shí)接入更多的用戶(hù)。
高性?xún)r(jià)比:可以采用廉價(jià)的符合工業(yè)標(biāo)準(zhǔn)的硬件構(gòu)造高性能的系統(tǒng)。
2、高性能計(jì)算機(jī)集群簡(jiǎn)介
簡(jiǎn)單的說(shuō),高性能計(jì)算(High-Performance Computing)是計(jì)算機(jī)科學(xué)的一個(gè)分支,它致力于開(kāi)發(fā)超級(jí)計(jì)算機(jī),研究并行算法和開(kāi)發(fā)相關(guān)軟件。高性能計(jì)算主要應(yīng)用于如下兩類(lèi)問(wèn)題的研究。
?。笠?guī)??茖W(xué)問(wèn)題,像天氣預(yù)報(bào)、地形分析和生物制藥等
?。鎯?chǔ)和處理海量數(shù)據(jù),像數(shù)據(jù)挖掘、圖象處理和基因測(cè)序
顧名思義,高性能集群就是采用集群技術(shù)來(lái)研究高性能計(jì)算。
影響高性能計(jì)算機(jī)系統(tǒng)分類(lèi)的因素有很多,所以從不同的分類(lèi)標(biāo)準(zhǔn)得出的高性能集群計(jì)算機(jī)的系統(tǒng)架構(gòu)也各不相同。但如果考慮到采用大規(guī)模生產(chǎn)的商用計(jì)算機(jī)和同樣是大規(guī)模生產(chǎn)的商用LAN及ATM網(wǎng)絡(luò)來(lái)制造的話(huà),主要都是如下兩種架構(gòu)。
目前,主流的PC服務(wù)器一般含有一到四個(gè)處理器,在一個(gè)操作系統(tǒng)的控制下,共同存取一個(gè)唯一的內(nèi)存地址空間。各處理器在內(nèi)存的存取上是平等的,存取代價(jià)是相同的。所以這種系統(tǒng)叫做一致內(nèi)存存取系統(tǒng),或叫SMP(對(duì)稱(chēng)多處理計(jì)算機(jī)系統(tǒng))系統(tǒng)。在這個(gè)系統(tǒng)中,處理器是以系統(tǒng)總線(xiàn)、交叉開(kāi)關(guān)或其它專(zhuān)有網(wǎng)絡(luò)與內(nèi)存連接在一起。
SMP系統(tǒng)的最大特點(diǎn)是:一方面,系統(tǒng)架構(gòu)及共享內(nèi)存的編程模式的相對(duì)簡(jiǎn)單,所以制造和應(yīng)用成本很少,為廣大中小企業(yè)所喜愛(ài)。這是我們用于構(gòu)建集群節(jié)點(diǎn)的主要原因。另一方面,它的可拓展性相對(duì)較差,一般如果處理器的數(shù)量超過(guò)四個(gè),那它的制造成本就會(huì)變得相當(dāng)可觀。這就制約了它的進(jìn)一步的發(fā)展。
但是業(yè)界為了彌補(bǔ)這種不足,又推出了另外一種系統(tǒng)――分布式內(nèi)存存取系統(tǒng)。它較之SMP系統(tǒng)的最大特點(diǎn)是沒(méi)有一個(gè)統(tǒng)一的內(nèi)存空間。這種系統(tǒng)的每一個(gè)處理器和它的內(nèi)存空間構(gòu)成一個(gè)獨(dú)立的系統(tǒng),由一個(gè)操作系統(tǒng)控制,可以獨(dú)立運(yùn)行。在這里我們叫它作節(jié)點(diǎn),這些節(jié)點(diǎn)均使用它的網(wǎng)絡(luò)接口連接到互連網(wǎng)絡(luò),并通過(guò)網(wǎng)絡(luò)通信。
DM系統(tǒng)具有很多優(yōu)秀的特點(diǎn):
1、系統(tǒng)的可拓展性強(qiáng)。拓展成本低,無(wú)需使用專(zhuān)用的計(jì)算機(jī)及定制的網(wǎng)絡(luò)設(shè)備;各個(gè)節(jié)點(diǎn)可采用通用的LAN或ATM網(wǎng)絡(luò)連接,技術(shù)難度低。
2、可使用成熟通用的LINUX操作系統(tǒng)作為軟件平臺(tái)。
3、大量成熟而各具特色的集群軟件,如ROCKS CLUSTERS、OPENMOSIX、OSCAR等。
在方案中,我們使用主流的SMP系統(tǒng)作為集群的節(jié)點(diǎn),互連網(wǎng)絡(luò)也使用類(lèi)似Myrinet的高速網(wǎng),我們把這種系統(tǒng)叫作SMP集群。這種集群可以使用MPI+OPENMP的混合編程模式。在這種模式下,節(jié)點(diǎn)內(nèi)的處理器利用共享內(nèi)存進(jìn)行通信,位于不同的節(jié)點(diǎn)的處理器在節(jié)點(diǎn)之間利用信息傳遞機(jī)制進(jìn)行通信。這種混合編程模式充分利用了內(nèi)存共享和信息傳遞機(jī)制的特點(diǎn),被公認(rèn)為是最有效的編程模式。 #p#page_title#e#
3、集群軟件介紹
基于分布式運(yùn)算的觀點(diǎn),在此方案中我們推薦使用ROCKS CLUSTERS,一個(gè)NPACI(美國(guó)高級(jí)計(jì)算基礎(chǔ)設(shè)施合作委員會(huì))負(fù)責(zé)開(kāi)發(fā)的集群系統(tǒng)。ROCKS CLUSTERS以性能優(yōu)秀、成熟和穩(wěn)定的REDHAT ADVANSCE SERVER為開(kāi)發(fā)基礎(chǔ),完全按照我們所介紹的SMP集群的分布式架構(gòu)進(jìn)行開(kāi)發(fā)。在軟件方面也是由FRONTEND(管理節(jié)點(diǎn))加NODE(計(jì)算節(jié)點(diǎn))組成。作為業(yè)界最出色的集群操作系統(tǒng),具有相當(dāng)多的優(yōu)點(diǎn):
在系統(tǒng)的安裝、維護(hù)方面
ROCKS CLUSTERS在系統(tǒng)內(nèi)集成大量的自動(dòng)化腳本,并由于以REDHAT ADVANSCE SERVER為基礎(chǔ)開(kāi)發(fā)的,所以它在安裝的時(shí)候會(huì)自動(dòng)設(shè)置好NFS文件服務(wù)器、NIS服務(wù)、MPI并行環(huán)境及數(shù)學(xué)函數(shù)庫(kù),計(jì)算節(jié)點(diǎn)全部通過(guò)PXE網(wǎng)絡(luò)系統(tǒng)從主節(jié)點(diǎn)下載文件并自動(dòng)完成所有的安裝與設(shè)置。這里體現(xiàn)的不是一個(gè)簡(jiǎn)單的功能整合,而是融合了開(kāi)發(fā)小組對(duì)于軟件與硬件方面的優(yōu)化。ROCKS CLUSTERS對(duì)于故障節(jié)點(diǎn)的管理思想是,在硬件修復(fù)完成后,此節(jié)點(diǎn)只需接入集群網(wǎng)絡(luò)即會(huì)自動(dòng)完成文件的下載與安裝,無(wú)需人為干預(yù)。
計(jì)算任務(wù)的提交與管理
ROCKS CLUSTERS系統(tǒng)提供了一整套基于WEB的組件用于監(jiān)控自身的活動(dòng)及配置狀況,如處理器使用數(shù)量、內(nèi)存及交換分區(qū)使用情況、網(wǎng)絡(luò)負(fù)載、節(jié)點(diǎn)狀態(tài)和當(dāng)前計(jì)算任務(wù)的進(jìn)展。當(dāng)然也有第三方廠商為ROCKS開(kāi)發(fā)的任務(wù)管理系統(tǒng)如SGE(SUNGRIDENGINE)。
豐富的應(yīng)用軟件
ROCKS CLUSTERS的優(yōu)秀也體現(xiàn)在有強(qiáng)大的第三方的軟件支持。首先有來(lái)自最球最大的處理器生產(chǎn)商的大力支持,專(zhuān)為CLUSTER高性能計(jì)算開(kāi)發(fā)的一系列套件:intelmpi并行環(huán)境、intelmkl數(shù)學(xué)函數(shù)庫(kù)、TOTALVIEW、MPIDEBUG工具等。其次有性能最為優(yōu)秀的GOTO數(shù)學(xué)函數(shù)庫(kù);最后有大量的科學(xué)計(jì)算方面的開(kāi)源軟件。所有這些優(yōu)秀的軟件都采用了簡(jiǎn)單安裝方式-----用戶(hù)只會(huì)感覺(jué)到在一臺(tái)機(jī)器上處理它們。同時(shí)由于ROCKS CLUSTERS支持滾動(dòng)升級(jí)的特性,在軟件方面,當(dāng)主節(jié)點(diǎn)完成升級(jí)后,只在主節(jié)點(diǎn)使用相當(dāng)簡(jiǎn)單的指令就可以使計(jì)算節(jié)點(diǎn)在下一次重起后自動(dòng)完成所有的升級(jí)工作;在集群規(guī)模擴(kuò)展方面,所有需要加入的節(jié)點(diǎn)只要接入集群網(wǎng)絡(luò)時(shí)打開(kāi)PXE請(qǐng)求即可完成相關(guān)的安裝工作;在系統(tǒng)軟件方面,軟件升級(jí)或功能擴(kuò)展完全可以通過(guò)ROLLS或CLUSTER-FORK指令來(lái)完成安裝,這些工作則由主節(jié)點(diǎn)集中完成,系統(tǒng)管理員無(wú)需為每一節(jié)點(diǎn)的龐大的配置工作而彼于奔命。
龐大的的開(kāi)發(fā)團(tuán)隊(duì)
ROCKS CLUSTERS龐大的開(kāi)發(fā)團(tuán)隊(duì)包括NPACI自身、SanDiegoSupercomputerCenter,UCSD(加利福尼亞圣迭戈分校超級(jí)計(jì)算機(jī)中心)、MillenniumGroupatUCBerkeley(位于加利福尼亞伯克利大學(xué)的開(kāi)發(fā)團(tuán)隊(duì))、ScalableSystemsPteLtdinSingapore(新加坡可升級(jí)系統(tǒng)有限公司以及OpenSCEinThailand(泰國(guó)開(kāi)放式可升級(jí)集群開(kāi)發(fā)環(huán)境)等。