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