摘要:計(jì)算機(jī)和網(wǎng)絡(luò)硬件設(shè)備逐步實(shí)現(xiàn)商品化和標(biāo)準(zhǔn)化,PC機(jī)或工作站的性能越來越高而價(jià)格越來越便宜,同時(shí)開源Linux微內(nèi)核及集群工具中間件技術(shù)也日趨成熟穩(wěn)定,高性能計(jì)算集群逐漸發(fā)展起來,并成為主流的高性能計(jì)算平臺(tái)。
高性能計(jì)算集群逐漸替代專用、昂貴的超級(jí)計(jì)算機(jī)對(duì)大規(guī)模并行應(yīng)用構(gòu)建原型、調(diào)試和運(yùn)行。
基于PCs或工作站的高性能計(jì)算快速部署及其可靠性和可管理性研究,對(duì)高性能計(jì)算集群在科學(xué)研究和工程計(jì)算等領(lǐng)域的應(yīng)用,促進(jìn)高性能計(jì)算技術(shù)的應(yīng)用方面具有深遠(yuǎn)的意義。
本文以O(shè)SCAR集群為實(shí)例,部署一個(gè)五結(jié)點(diǎn)的集群環(huán)境并運(yùn)行簡(jiǎn)單的并行測(cè)試?yán)印?/p>
關(guān)鍵詞:高性能計(jì)算;集群;OSCAR;MPI;并行計(jì)算
中圖分類號(hào):TP312文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)14-20971-03
1 引言
自20世紀(jì)90年代早期以來,昂貴而特制的并行超級(jí)計(jì)算機(jī)逐漸向由單個(gè)或多個(gè)處理器的PCs或工作站[1]組成的價(jià)廉、通用、松耦合的系統(tǒng)轉(zhuǎn)換,而促成該轉(zhuǎn)換的主要驅(qū)動(dòng)力是高性能工作站和網(wǎng)絡(luò)部件的快速商品化。這些技術(shù)的發(fā)展使網(wǎng)絡(luò)化計(jì)算機(jī)(PCs或工作站)成為并行處理的理想工具,從而導(dǎo)致了普通商品化超級(jí)計(jì)算機(jī)的出現(xiàn)。
自1994年美國(guó)航空航天局(NASA)的Goddard航天中心采用16個(gè)66MHz 處理器的PCs和10Mbit/s 以太網(wǎng)組成了第一個(gè)計(jì)算機(jī)集群系統(tǒng)(Beowulf Cluster)[2]以來,隨著計(jì)算機(jī)制造技術(shù)的飛速發(fā)展,硬件設(shè)備逐步實(shí)現(xiàn)商品化和標(biāo)準(zhǔn)化,PC機(jī)的性能越來越高而價(jià)格越來越低;同時(shí)開源的Linux操作系統(tǒng)內(nèi)核及集群工具套件(Cluster Toolkit)也日趨成熟穩(wěn)定,高性能計(jì)算集群逐漸發(fā)展起來,成為主流的高性能計(jì)算平臺(tái),在2007年11月Top500的分析報(bào)告中,采用集群架構(gòu)的超級(jí)計(jì)算機(jī)系統(tǒng)已占81.2%[3]。
使用高性能計(jì)算集群對(duì)并行應(yīng)用構(gòu)建原型、調(diào)試、運(yùn)行逐漸替代使用專用,特別是昂貴的并行計(jì)算平臺(tái)。一些集群軟件工具套件已經(jīng)具有很多的整合性、可管理性、易配置,例如OSCAR[4, 6]等工具套件。研究基于PCs或工作站的高性能計(jì)算集群快速部署及其可管理性和可靠性研究,對(duì)高性能計(jì)算集群在科學(xué)研究和工程計(jì)算等領(lǐng)域的應(yīng)用,促進(jìn)高性能計(jì)算技術(shù)的應(yīng)用方面具有深遠(yuǎn)的意義。
2 集群系統(tǒng)架構(gòu)
高性能計(jì)算集群是一種并行處理系統(tǒng),由多個(gè)連接在一起的獨(dú)立計(jì)算機(jī)組成,像一個(gè)單獨(dú)集成的計(jì)算資源一樣協(xié)同工作[5],用來解決具有重大挑戰(zhàn)的問題。集群是全體計(jì)算機(jī)(結(jié)點(diǎn))的集合,這些計(jì)算機(jī)由高性能網(wǎng)絡(luò)或局域網(wǎng)物理互連。一般情況下,每個(gè)計(jì)算機(jī)結(jié)點(diǎn)是一臺(tái)PC機(jī)、工作站或SMP服務(wù)器。重要的是,所有集群結(jié)點(diǎn)能一起協(xié)同工作,如同一個(gè)單一集成的計(jì)算資源提供服務(wù)。集群概念帶來了許多好處,其中重要的是能用性、可用性、可擴(kuò)展性和性能價(jià)格比。
從硬件架構(gòu)看,集群結(jié)點(diǎn)可以是PCs、工作站、SMP服務(wù)器,甚至子集群。但集群各結(jié)點(diǎn)在保持本身計(jì)算機(jī)系統(tǒng)完備性的同時(shí),能夠相互協(xié)作,形成單一、集成的計(jì)算資源。典型集群系統(tǒng)包括下列結(jié)構(gòu)組件[5],如圖1所示。
多個(gè)高性能計(jì)算機(jī)(PCs、工作站或SMP);
分層或微內(nèi)核結(jié)構(gòu)的操作系統(tǒng);
高性能互連網(wǎng)絡(luò);
網(wǎng)絡(luò)接口卡;
快速通信協(xié)議與服務(wù);
含單一系統(tǒng)映像(SSI)、高可用性(HA)工具和資源管理與調(diào)度的集群中間件;
諸如消息傳遞接口(MPI)[8]等并行編程環(huán)境與工具;
串行、并行或分布式等應(yīng)用。
3 集群系統(tǒng)構(gòu)建
2001年,Open Cluster Group發(fā)布開源集群應(yīng)用資源(Open Source Cluster Application Resources,OSCAR)。該集群工具套件具有以下特點(diǎn):統(tǒng)一框架中安裝、配置和管理集群;基于向?qū)В╓izard)的集群組件安裝;統(tǒng)一的結(jié)點(diǎn)映像。OSCAR集群工具套件提供了構(gòu)建和運(yùn)行一個(gè)高性能計(jì)算集群所需要的工具。在安裝OSCAR的同時(shí)也默認(rèn)安裝了并行編程環(huán)境MPI、PVM及作業(yè)調(diào)度系統(tǒng)PBS等軟件包。其中系統(tǒng)安裝套件 (SIS),集群控制工具套件(C3),環(huán)境切換器(switcher)和OSCAR向?qū)в糜诩合到y(tǒng)的安裝和配置。SIS是一個(gè)基于映像的安裝包,可通過使用SIS來引導(dǎo)節(jié)點(diǎn)的安裝:內(nèi)核引導(dǎo),磁盤分區(qū),和操作系統(tǒng)的安裝等。C3方便并行命令的執(zhí)行,使用戶輸入的命令可同時(shí)在所有的節(jié)點(diǎn)上運(yùn)行。用戶可以用環(huán)境切換器來定制環(huán)境變量。OSCAR向?qū)峁┝艘粋€(gè)圖形化界面來幫助用戶完成集群系統(tǒng)的安裝和配置。
本研究課題以5臺(tái)PCs結(jié)點(diǎn),100Mbit/s以太網(wǎng)互連網(wǎng)絡(luò)搭建一個(gè)OSCAR集群環(huán)境。
(1)硬件環(huán)境
管理結(jié)點(diǎn):一臺(tái)Intel Pentium3 2.0GHz處理器,256MB內(nèi)存,20GB硬盤存儲(chǔ)。
計(jì)算節(jié)點(diǎn):四臺(tái)Intel Pentium3 2.0GHz處理器,256MB內(nèi)存,20GB硬盤存儲(chǔ)。
互連網(wǎng)絡(luò):100Mbit/s 以太網(wǎng)交換機(jī)。
(2)軟件環(huán)境
操作系統(tǒng):Red Hat Enterprise Linux 4。
OSCAR版本:5.0,已集成以下軟件工具包:
Open MPI 1.1.1:并行編程環(huán)境;
Maui 3.2.6p14 + Torque 2.0.0p8:作業(yè)調(diào)度系統(tǒng);
SGE 6.0u8:作業(yè)調(diào)度系統(tǒng):
LAM/MPI 7.1.2:并行編程環(huán)境;
MPICH 1.2.7:并行編程環(huán)境;
Ganglia 3.0.3:集群狀態(tài)監(jiān)控系統(tǒng);
SC3:擴(kuò)展的C3集群管理工具;
Netbootmgr:管理結(jié)點(diǎn)PXE啟動(dòng);
sync_files 2.4:控制異構(gòu)集群中用戶的數(shù)據(jù)庫(kù);
packman 2.8:包抽象管理器;
systeminstaller-oscar 2.3.1:應(yīng)用packman創(chuàng)建映像image;
Systemconfigurator 2.2.7-12ef:安裝配置框架。
OSCAR安裝向?qū)7]提供了一個(gè)圖形化界面來幫助用戶完成集群系統(tǒng)的安裝和配置。如圖2所示。該向?qū)⒁龑?dǎo)用戶方便快捷地進(jìn)行集群的安裝和配置,用只需要按步驟點(diǎn)擊向?qū)О粹o,每一個(gè)步驟都會(huì)有
按照此向?qū)е鸩綀?zhí)行,最后配置結(jié)點(diǎn)從網(wǎng)絡(luò)啟動(dòng),等待所有的結(jié)點(diǎn)從網(wǎng)絡(luò)啟動(dòng)并成功加載映像重啟之后,安裝向?qū)?zhí)行完畢,OSCAR集群系統(tǒng)的安裝完成。
4 簡(jiǎn)單并行例子
執(zhí)行下面一段并行C語言程序hello world,測(cè)試OSCAR集群環(huán)境。該程序打印參與運(yùn)算的結(jié)點(diǎn)主機(jī)名及進(jìn)程ID,存儲(chǔ)為hello.c,運(yùn)用mpi命令進(jìn)行編譯、運(yùn)行:
#mpicc –o hello hello.c
#mpirun –np 4 hello
Hello World! Process 1 of 4 on oscarnode1
Hello World! Process 3 of 4 on oscarnode2
Hello World! Process 2 of 4 on oscarnode3
Hello World! Process 0 of 4 on oscarnode4
#include \"mpi.h\"
#include
#include
int main(int argc,char *argv[])
{int myid, numprocs;
int namelen;
char processor_name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(argc,argv);
MPI_Comm_rank(MPI_COMM_WORLD,myid);
MPI_Comm_size(MPI_COMM_WORLD,numprocs);
MPI_Get_processor_name(processor_name,namelen);
fprintf(stderr,\"Hello World! Process %d of %d on %s\\",
myid, numprocs, processor_name);
MPI_Finalize();
}
5 結(jié)論
本文在研究高性能計(jì)算集群的發(fā)展技術(shù)及體系結(jié)構(gòu)的基礎(chǔ)上,以O(shè)SCAR集群為實(shí)例,快速部署一個(gè)五結(jié)點(diǎn)的集群環(huán)境并運(yùn)行簡(jiǎn)單的并行測(cè)試?yán)印8咝阅苡?jì)算集群將逐漸替代專用、特別是昂貴的超級(jí)計(jì)算機(jī)對(duì)大規(guī)模并行應(yīng)用構(gòu)建原型、調(diào)試和運(yùn)行?;赑Cs或工作站的高性能計(jì)算快速部署及其可靠性和可管理性研究,對(duì)高性能計(jì)算集群在科學(xué)研究和工程計(jì)算等領(lǐng)域的應(yīng)用,促進(jìn)高性能計(jì)算技術(shù)的應(yīng)用方面具有深遠(yuǎn)的意義。接下來的工作將集中在集群環(huán)境的可靠性及可管理性研究,是高性能計(jì)算集群更好地為科學(xué)、工程計(jì)算服務(wù)。
參考文獻(xiàn):
[1] Thomas E. Anderson, David E.Culler, David A. Patterson et al., \"A Case for NOW (Networks of Workstations),\"IEEE Micro, February 1995,pp.54-64.
[2] Beowulf Project, http://www.beowulf.org/.
[3] TOP500 Report,available fromhttp://www.top500.org/.
[4] OSCAR Project, http://oscar.openclustergroup.org/.
[5] 鄭緯民,等,譯.[美]Rajkumar Buyya,編.高性能集群計(jì)算:結(jié)構(gòu)與系統(tǒng)(第1卷),電子工業(yè)出版社,2001.
[6] Timothy G. Mattson,\"High Performance Computing at Intel: The OSCAR software solution stack for cluster computing\", IEEE Proceedings of the 1st International Symposium on Cluster Computing and the Grid (CCGRID’01).
[7] OSCAR Administrator’s Guide, http://oscar.openclustergroup.org/.
[8] MPI Forum.http://www.mpi-forum.org/.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文