摘要:計算機和網絡硬件設備逐步實現商品化和標準化,PC機或工作站的性能越來越高而價格越來越便宜,同時開源Linux微內核及集群工具中間件技術也日趨成熟穩定,高性能計算集群逐漸發展起來,并成為主流的高性能計算平臺。
高性能計算集群逐漸替代專用、昂貴的超級計算機對大規模并行應用構建原型、調試和運行。
基于PCs或工作站的高性能計算快速部署及其可靠性和可管理性研究,對高性能計算集群在科學研究和工程計算等領域的應用,促進高性能計算技術的應用方面具有深遠的意義。
本文以OSCAR集群為實例,部署一個五結點的集群環境并運行簡單的并行測試例子。
關鍵詞:高性能計算;集群;OSCAR;MPI;并行計算
中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2008)14-20971-03
1 引言
自20世紀90年代早期以來,昂貴而特制的并行超級計算機逐漸向由單個或多個處理器的PCs或工作站[1]組成的價廉、通用、松耦合的系統轉換,而促成該轉換的主要驅動力是高性能工作站和網絡部件的快速商品化。這些技術的發展使網絡化計算機(PCs或工作站)成為并行處理的理想工具,從而導致了普通商品化超級計算機的出現。
自1994年美國航空航天局(NASA)的Goddard航天中心采用16個66MHz 處理器的PCs和10Mbit/s 以太網組成了第一個計算機集群系統(Beowulf Cluster)[2]以來,隨著計算機制造技術的飛速發展,硬件設備逐步實現商品化和標準化,PC機的性能越來越高而價格越來越低;同時開源的Linux操作系統內核及集群工具套件(Cluster Toolkit)也日趨成熟穩定,高性能計算集群逐漸發展起來,成為主流的高性能計算平臺,在2007年11月Top500的分析報告中,采用集群架構的超級計算機系統已占81.2%[3]。
使用高性能計算集群對并行應用構建原型、調試、運行逐漸替代使用專用,特別是昂貴的并行計算平臺。一些集群軟件工具套件已經具有很多的整合性、可管理性、易配置,例如OSCAR[4, 6]等工具套件。研究基于PCs或工作站的高性能計算集群快速部署及其可管理性和可靠性研究,對高性能計算集群在科學研究和工程計算等領域的應用,促進高性能計算技術的應用方面具有深遠的意義。
2 集群系統架構
高性能計算集群是一種并行處理系統,由多個連接在一起的獨立計算機組成,像一個單獨集成的計算資源一樣協同工作[5],用來解決具有重大挑戰的問題。集群是全體計算機(結點)的集合,這些計算機由高性能網絡或局域網物理互連。一般情況下,每個計算機結點是一臺PC機、工作站或SMP服務器。重要的是,所有集群結點能一起協同工作,如同一個單一集成的計算資源提供服務。集群概念帶來了許多好處,其中重要的是能用性、可用性、可擴展性和性能價格比。
從硬件架構看,集群結點可以是PCs、工作站、SMP服務器,甚至子集群。但集群各結點在保持本身計算機系統完備性的同時,能夠相互協作,形成單一、集成的計算資源。典型集群系統包括下列結構組件[5],如圖1所示。
多個高性能計算機(PCs、工作站或SMP);
分層或微內核結構的操作系統;
高性能互連網絡;
網絡接口卡;
快速通信協議與服務;
含單一系統映像(SSI)、高可用性(HA)工具和資源管理與調度的集群中間件;
諸如消息傳遞接口(MPI)[8]等并行編程環境與工具;
串行、并行或分布式等應用。
3 集群系統構建
2001年,Open Cluster Group發布開源集群應用資源(Open Source Cluster Application Resources,OSCAR)。該集群工具套件具有以下特點:統一框架中安裝、配置和管理集群;基于向導(Wizard)的集群組件安裝;統一的結點映像。OSCAR集群工具套件提供了構建和運行一個高性能計算集群所需要的工具。在安裝OSCAR的同時也默認安裝了并行編程環境MPI、PVM及作業調度系統PBS等軟件包。其中系統安裝套件 (SIS),集群控制工具套件(C3),環境切換器(switcher)和OSCAR向導用于集群系統的安裝和配置。SIS是一個基于映像的安裝包,可通過使用SIS來引導節點的安裝:內核引導,磁盤分區,和操作系統的安裝等。C3方便并行命令的執行,使用戶輸入的命令可同時在所有的節點上運行。用戶可以用環境切換器來定制環境變量。OSCAR向導提供了一個圖形化界面來幫助用戶完成集群系統的安裝和配置。
本研究課題以5臺PCs結點,100Mbit/s以太網互連網絡搭建一個OSCAR集群環境。
(1)硬件環境
管理結點:一臺Intel Pentium3 2.0GHz處理器,256MB內存,20GB硬盤存儲。
計算節點:四臺Intel Pentium3 2.0GHz處理器,256MB內存,20GB硬盤存儲。
互連網絡:100Mbit/s 以太網交換機。
(2)軟件環境
操作系統:Red Hat Enterprise Linux 4。
OSCAR版本:5.0,已集成以下軟件工具包:
Open MPI 1.1.1:并行編程環境;
Maui 3.2.6p14 + Torque 2.0.0p8:作業調度系統;
SGE 6.0u8:作業調度系統:
LAM/MPI 7.1.2:并行編程環境;
MPICH 1.2.7:并行編程環境;
Ganglia 3.0.3:集群狀態監控系統;
SC3:擴展的C3集群管理工具;
Netbootmgr:管理結點PXE啟動;
sync_files 2.4:控制異構集群中用戶的數據庫;
packman 2.8:包抽象管理器;
systeminstaller-oscar 2.3.1:應用packman創建映像image;
Systemconfigurator 2.2.7-12ef:安裝配置框架。
OSCAR安裝向導[7]提供了一個圖形化界面來幫助用戶完成集群系統的安裝和配置。如圖2所示。該向導將引導用戶方便快捷地進行集群的安裝和配置,用只需要按步驟點擊向導按鈕,每一個步驟都會有
按照此向導逐步執行,最后配置結點從網絡啟動,等待所有的結點從網絡啟動并成功加載映像重啟之后,安裝向導執行完畢,OSCAR集群系統的安裝完成。
4 簡單并行例子
執行下面一段并行C語言程序hello world,測試OSCAR集群環境。該程序打印參與運算的結點主機名及進程ID,存儲為hello.c,運用mpi命令進行編譯、運行:
#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 結論
本文在研究高性能計算集群的發展技術及體系結構的基礎上,以OSCAR集群為實例,快速部署一個五結點的集群環境并運行簡單的并行測試例子。高性能計算集群將逐漸替代專用、特別是昂貴的超級計算機對大規模并行應用構建原型、調試和運行。基于PCs或工作站的高性能計算快速部署及其可靠性和可管理性研究,對高性能計算集群在科學研究和工程計算等領域的應用,促進高性能計算技術的應用方面具有深遠的意義。接下來的工作將集中在集群環境的可靠性及可管理性研究,是高性能計算集群更好地為科學、工程計算服務。
參考文獻:
[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,編.高性能集群計算:結構與系統(第1卷),電子工業出版社,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/.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文