
Linux高性能计算集群的设计与实现
李红梅
(安徽新华学院信息工程学院,安徽合肥230088)
摘要:计算机和网络硬件设备逐步实现商品化和标准化,PC机或工作站的性能越来越高而价格越来越便宜,同时开源Linux微内核及集群工具中间件技术也日趋成熟稳定,高性能计算集群逐渐发展起来,并成为主流的高性能计算平台。
高性能计算集群逐渐替代专用、昂贵的超级计算机对大规模并行应用构建原型、调试和运行。
基于PCs或工作站的高性能计算快速部署及其可靠性和可管理性研究,对高性能计算集群在科学研究和工程计算等领域的应用,促进高性能计算技术的应用方面具有深远的意义。
本文以OSCAR集群为实例,部署一个五结点的集群环境并运行简单的并行测试例子。
关键词:高性能计算;集群;OSCAR;MPI;并行计算
中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)14-20971-03
Linux-basedHighPerformanceComputingClustersDesignandImplementation
LIHong-mei
(AnhuiXinhuaUniversity,Hefei230088,China)
Abstract:Ascomponentsofcomputersandnetworkareincreasingtoachievecommercializationandstandardization,theperformanceofPCsorworkstationsisincreasingwhilethepriceisbecomingcheaper.Atthesametime,Linuxkernelandopen-sourceclustermiddlewaretechnologyarebecomingincreasinglymatureandstable.Clustersaremainstreamhighperformancecomputingplatformsgradually.Theuseofhighperformancecomputingclusterstoprototype,debug,andrunparallelapplicationsisbecominganincreasinglypopu-laralternativetousingspecialized,especiallyexpensive,supercomputingplatforms.ItisfullofsignificanceforscientificandengineeringcomputingapplicationstoresearchondeploymenthighperformancecomputingclustersbasedonPCsorworkstationsrapidlyaswellasitsreliabilityandmanageability.
ThispaperprovidesacasestudyaboutOSCARclusterwithfivePCsnodesandfastEthernetinterconnect,andthenrunsomesimpleparallelexamplesonit.
Keywords:Highperformancecomputing;Cluster;OSCAR;MPI;Parallelcomputing
1引言
自20世纪90年代早期以来,昂贵而特制的并行超级计算机逐渐向由单个或多个处理器的PCs或工作站[1]组成的价廉、通用、松耦合的系统转换,而促成该转换的主要驱动力是高性能工作站和网络部件的快速商品化。这些技术的发展使网络化计算机(PCs或工作站)成为并行处理的理想工具,从而导致了普通商品化超级计算机的出现。
自1994年美国航空航天局(NASA)的Goddard航天中心采用16个66MHz处理器的PCs和10Mbit/s以太网组成了第一个计算机集群系统(BeowulfCluster)[2]以来,随着计算机制造技术的飞速发展,硬件设备逐步实现商品化和标准化,PC机的性能越来越高而价格越来越低;同时开源的Linux操作系统内核及集群工具套件(ClusterToolkit)也日趋成熟稳定,高性能计算集群逐渐发展起来,成为主流的高性能计算平台,在2007年11月Top500的分析报告中,采用集群架构的超级计算机系统已占81.2%[3]。
使用高性能计算集群对并行应用构建原型、调试、运行逐渐替代使用专用,特别是昂贵的并行计算平台。一些集群软件工具套件已经具有很多的整合性、可管理性、易配置,例如OSCAR[4,6]等工具套件。研究基于PCs或工作站的高性能计算集群快速部署及其可管理性和可靠性研究,对高性能计算集群在科学研究和工程计算等领域的应用,促进高性能计算技术的应用方面具有深远的意义。
2集群系统架构
高性能计算集群是一种并行处理系统,由多个连接在一起的计算机组成,像一个单独集成的计算资源一样协同工作[5],用来解决具有重大挑战的问题。集群是全体计算机(结点)的集合,这些计算机由高性能网络或局域网物理互连。一般情况下,每个计算机结点是一台PC机、工作站或SMP服务器。重要的是,所有集群结点能一起协同工作,如同一个单一集成的计算资源提供服务。集群概念带来了许多好处,其中重要的是能用性、可用性、可扩展性和性能价格比。
从硬件架构看,集群结点可以是PCs、工作站、SMP服务器,甚至子集群。但集群各结点在保持本身计算机系统完备性的同时,能够相互协作,形成单一、集成的计算资源。典型集群系统包括下列结构组件[5],如图1所示。
多个高性能计算机(PCs、工作站或SMP);
分层或微内核结构的操作系统;
高性能互连网络;
网络接口卡;
收稿日期:2008-02-18
作者简介:李红梅,女,安徽淮北人,助教,工作:安徽新华学院。研究方向:软件与理论。
971
电脑知识与技术
本栏目责任编辑:贾薇薇
计算机工程应用技术快速通信协议与服务;
含单一系统映像(SSI)、高可用性(HA)工具和资源管理与调度的集群中间件;
诸如消息传递接口(MPI)[8]等并行编程环境与工具;
串行、并行或分布式等应用。
3集群系统构建
2001年,OpenClusterGroup发布开源集群应用资源(OpenSourceClusterApplicationResources,OSCAR)。该集群工具套件具有
以下特点:统一框架中安装、配置和管理集群;基于向导(Wizard)的集群组件安装;统一的结点映像。OSCAR集群工具套件提供了构
建和运行一个高性能计算集群所需要的工具。在安装OSCAR的同时也默认安装了并行编程环境MPI、PVM及作业调度系统PBS等软件包。其中系统安装套件(SIS),集群控制工具套件(C3),环境切换器(switcher)和OSCAR向导用于集群系统的安装和配置。SIS是一个基于映像的安装包,可通过使用SIS来引导节点的安装:内核引导,磁盘分区,和操作系统的安装等。C3方便并行命令的执
行,使用户输入的命令可同时在所有的节点上运行。用户可以用环境切换器来定制环境变量。OSCAR向导提供了一个图形化界面来
帮助用户完成集群系统的安装和配置。
本研究课题以5台PCs结点,100Mbit/s以太网互连网络搭建一个OSCAR集群环境。
(1)硬件环境
管理结点:一台IntelPentium32.0GHz处理器,256MB内存,20GB硬盘存储。
计算节点:四台IntelPentium32.0GHz处理器,256MB内存,20GB硬盘存储。
互连网络:100Mbit/s以太网交换机。
(2)软件环境
操作系统:RedHatEnterpriseLinux4。
OSCAR版本:5.0,已集成以下软件工具包:
OpenMPI1.1.1:并行编程环境;
Maui3.2.6p14+Torque2.0.0p8:作业调度系统;
SGE6.0u8:作业调度系统:
LAM/MPI7.1.2:并行编程环境;
MPICH1.2.7:并行编程环境;
Ganglia3.0.3:集群状态监控系统;
SC3:扩展的C3集群管理工具;
Netbootmgr:管理结点PXE启动;
sync_files2.4:控制异构集群中用户的数据库;
packman2.8:包抽象管理器;
systeminstaller-oscar2.3.1:应用packman创建映像image;
Systemconfigurator2.2.7-12ef:安装配置框架。
OSCAR安装向导[7]提供了一个图形化界面来帮助用户完成集群系统的
安装和配置。如图2所示。该向导将引导用户方便快捷地进行集群的安装和
配置,用只需要按步骤点击向导按钮,每一个步骤都会有<Help>按钮,点击
显示该步骤的目的。
按照此向导逐步执行,最后配置结点从网络启动,等待所有的结点从网
络启动并成功加载映像重启之后,安装向导执行完毕,OSCAR集群系统的安
装完成。
4简单并行例子
执行下面一段并行C语言程序helloworld,测试OSCAR集群环境。该
程序打印参与运算的结点主机名及进程ID,存储为hello.c,运用mpi命令进
行编译、运行:图1集群系统架构
图2OSCAR安装和配置972
#mpicc–ohellohello.c
#mpirun–np4hello
HelloWorld!Process1of4onoscarnode1
HelloWorld!Process3of4onoscarnode2
HelloWorld!Process2of4onoscarnode3
HelloWorld!Process0of4onoscarnode4
#include"mpi.h"
#include<stdio.h>
#include<math.h>
intmain(intargc,char*argv[])
{intmyid,numprocs;
intnamelen;
charprocessor_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,"HelloWorld!Process%dof%don%s\n",
myid,numprocs,processor_name);
MPI_Finalize();
}
5结论
本文在研究高性能计算集群的发展技术及体系结构的基础上,以OSCAR集群为实例,快速部署一个五结点的集群环境并运行简单的并行测试例子。高性能计算集群将逐渐替代专用、特别是昂贵的超级计算机对大规模并行应用构建原型、调试和运行。基于PCs或工作站的高性能计算快速部署及其可靠性和可管理性研究,对高性能计算集群在科学研究和工程计算等领域的应用,促进高性能计算技术的应用方面具有深远的意义。接下来的工作将集中在集群环境的可靠性及可管理性研究,是高性能计算集群更好地为科学、工程计算服务。
参考文献:
[1]ThomasE.Anderson,DavidE.Culler,DavidA.Pattersonetal.,"ACaseforNOW(NetworksofWorkstations),"IEEEMicro,February1995,pp.54-64.
[2]BeowulfProject,http://www.beowulf.org/.
[3]TOP500Report,availablefromhttp://www.top500.org/.
[4]OSCARProject,http://oscar.openclustergroup.org/.
[5]郑纬民,等,译.[美]RajkumarBuyya,编.高性能集群计算:结构与系统(第1卷),电子工业出版社,2001.
[6]TimothyG.Mattson,"HighPerformanceComputingatIntel:TheOSCARsoftwaresolutionstackforclustercomputing",IEEEProceed-ingsofthe1stInternationalSymposiumonClusterComputingandtheGrid(CCGRID’01).
[7]OSCARAdministrator’sGuide,http://oscar.openclustergroup.org/.
[8]MPIForum.http://www.mpi-forum.org/.
(上接第947页)
一点是,上述操作在500%的显示比例下可以很容易精确实现。当感觉制作的坐标纸满足要求时,一张完美的对数坐标纸就是呈现在你面前了,这时保存图像就可以了。这样第二步就完成了。
4利用Word对坐标纸进行排版
第二步的工作完成后,一张完美的对数坐标纸就已经完成了,但为了打印的方便和合理利用纸张,这一步也是必要的。
将坐标图以图片形式插入到Word中,根据实际情况,选择合适的纸张,适当缩小边距,一般0.8mm就足够了,也可以适当调整坐标纸的大小,但调整时要注意,一定要按原图比例缩放,保证坐标纸横纵坐标撑比例。调整原则是满足条件情况下,尽可能节约纸张,充分利用纸张。
到此,所有的工作就都完成了,就可以打印出自己想要的对数坐标纸了。
5结束语
优点:操作简单,利用常用软件就可以打造出各式各样的对数坐标纸。
缺点:操作虽简单,但有点麻烦,如果利用matlab代替Excel的操作会更简单些,但matlab由于是专业软件,且占用硬盘和内存也较大,所以很普遍。
973
