当前位置:文档之家› 用于并行计算的PC集群系统构建

用于并行计算的PC集群系统构建


以及对PC集群系统进行了性能评测。
关键词:集群系统;并行计算;Linux;消息传递接口;Pv骼
中图分类号:TP393
文献标志码:A
文章编号:1001.3695(2009)03.1042.02
PC cluster system build for parallel computing
LI Min,ZHANG Yi-sheng,LI De—qun (State芯!y Laboratory ofMaterial Processing&Die&Mould Technology,Huazhong Umversi秒of&/ence&Techno如gy,Wuhan 430074,Ch/na)
以及随时间变化各处的压力变化等科学和工程领域经常应用大规模科学计算。随着基于网格的计算和数据处理
日益复杂,很多计算一般PC系统无法满足要求,需要超级计算环境。因为不断追求更高的计算精度和日益复杂的
对象而扩大计算规模,传统的串行处理方式难以满足这些要求。因此,现代高性能计算的低成本、高效率成为选
择并行计算的解决方式。重点阐述如何构建一个用于并行计算的PC集群系统,结合实例阐朗MPI的实现方法,
万方数据
第3期
李敏,等:用于并行计算的PC集群系统构建
·1043·
比较长,而且使用的标准通信协议下的商用协议开销比较大,影 响到系统的性能,需要一个高效的通信子系统。
2 PC集群系统配置及瓶颈的解决
2.1集群系统的软件配置
由于高性能计算机价格昂贵,在科学计算领域中,人们开始 将注意力投向通过普通Pc机或工作站的集群来代替昂贵的超 级计算机。用于科学计算并行集群的最广泛的操作系统平台是 Linux,其价廉、高效的网络性能及可靠性得到广泛认同。因此, 选择了RedHat Linux EL4(内核2.4.2)作为每个节点的操作 系统。
act=.false.
act=.true.
call initab(m,酬,P,n,a,Ida,b,sum)
call locmv(m,n,a,Ida,b,sin)
if act=true,call reduce_watter,otherwize call alhHlu∞
根据不同的标准,常见的集群分类有以下几种: a)故障切换集群。最简单的故障切换集群只有两个节点, 即保持活动的节点和保持等待并不断监视活动的节点,一旦活
动节点崩溃,这个等待着的节点便立即接手,这样就保持了一个 系统能在紧急情况下持续发挥作用。
b)负载平衡集群。该集群通常用在繁忙的网站服务器,使 用数个节点做同一个站点的主机,每一个网页的新请求被动态 地发送到负载较低的那个节点上。
2.2集群计算瓶颈的解决
集群中有大量的信息交互,如进程间数据传输、进程间数据 同步等。通信性能对于集群并行计算非常重要,如果通信性能 不能满足交互的需要,将导致计算性能快速下降。在集群组成 的各个部分中,通信瓶颈主要集中在网络的延迟和带宽方面。 根据有关的实验资料表明,如果集群中每个计算节点采用单个 100 Mbps以太网卡,节点数量达到4个节点后通信瓶颈将非常 严重;节点数量达到8个节点时,由于通信堵塞计算反而比一个 节点还慢。
Abstract:The materials involved in the Newton and Newton viscous flow simulation and the latter part of the cooling process simulation in the injection molding,and the clI{mg既in the pressure during the simulation of injection molding process need large—scale scientific computing.As snd-based computing and data—processing increasingly complex,many PC computing systems Can not meet the general requirements,need super computing environment to finish the computing job.aS constant pursuit of higher accu珀cy and the target of all increasingly complex and expand the scale of calculation,the traditional serial calculation can’t meet these requirements.Therefore,岫gh-performance computing,low-cost,high efficiency,became a choice of parallel computing solutions.This paper focused on how tO build a Pc cluster system for parallel computing.with examples clarify the implementation of MPI,and how the PC cluster system pefformaneed evaluation. Key words:cluster system;parallel computing;Lintlx;MPI;PVFS
收稿日期:2008.05.18;修回日期:2008-07—29 基金项目:国家自然科学基金资助项目(50675080)
作者简介:李敏(1982.),男,江西赣州人,博士研究生,主要研究方向为数字化及网络化制造工程(hast—limin@yahoo.咖.cII);张宜生(1951.),
男,教授,博导,主要研究方向为数字化及网络化制造工程;李德群(1946一),男,教授,博导,主要研究方向为数字化材料成形与模拟技术.
随着科学工程要求,作为非线性数值模拟研究主要手段之 一的计算机,其性能要求也不断提高,单一的计算机系统已经不 能满足实验和研究的要求。而现在用于大型计算和分析的并行 计算的发展为数值模拟的发展提供了一个越来越宽阔而高效的 平台。因此,建立一种具有高性能和高扩展性而且易于维护和 使用的集群系统非常必要。
一些程序经常会在磁盘上读写大量的数据,这时文件I/O 成为计算中最慢的—个步骤。更快的硬盘驱动器能够改善此问 题,但是总有不够的时候。当一个硬盘分区在所有的节点之间 共享时(如使用NFS)这个问题更突出了,而这在Linux集群中 是很常见的。这就是并行文件系统能派上用场的地方。并行文 件系统将一个文件分散在许多不同节点的硬盘上,这些节点被 称做I/0节点。当一个程序试图读一个文件时,那个文件的每
与PVM相比较,MPI得到了更多的支持,它运行效率更高 并且已经是国际标准。MPI以语言独立的形式提供了一个接口 库,Fortran和c语言中可以直接对这些库中函数进行调用。 MPI—l标准提供了与C、Fortran77等语言的绑定;MPI-2标准将 语言绑定扩展到Foman90和C++。因此选用了应用广泛、可 免费获取的MPI工具集MPICH.1.2.5作为集群并行程序的开 发环境,该工具集支持MPI-1标准,部分支持+MPI-2标准。
本文通过使用相同的数据,测试不同的节点数采集的计算
数据,如下所示:
.。
progrmn re如't
include。mpiL h’
integer Ida,cols,maxnp
p岫eter(1da=100,cols=100,maxnp 2 5)
integer咧d,P,mycomm,ierr,m,n,counts(m∞lp) real a(Ida,cols),b(eots),c(Ida),sm(Ida)
并行通信库是一层中间件,它可以使用户程序发送/接收消 息,只需通过简单调用库函数即可统一访问集群的不同节点,不 管节点上运行的是什么操作系统。这类消息传递接口库软件 中,广泛应用的是MPI(message passing interface)和PVM(paral— lel virtual machine),它们均能提供简便的消息传递API接口,并 支持多数的并行计算体系结构和操作系统。
c)高性能集群。这些集群被用来运行并行程序,这些通常 是对时间有较高要求的情况,所以科学领域中对高性能集群有 特别的兴趣,科学家们通常会想在普通的硬件上以较少的时间 运行仿真器和其他对运算能力有高要求的程序。
1.3集群系统的设计要点 集群中存在着大量的冗余可用资源,如处理器、内存和磁盘
等,这就要求系统设计必须满足五个要点:a)RAS性能,要充分 考虑系统的可靠性(reliability)、可用性(available)、可维护性 (serviceability)。b)单一系统映像SSI通过组合各节点上的操 作系统提供对资源的统一访问,表现为一个单一的系统。c)作 业管理(job management)。因为集群要获得较高的系统使用率, 所以作业管理软件需要提供批处理、负载均衡和并行处理等功 能。d)并行文件系统PFS。由于机群上大量并行应用,需要大 量I/0操作,要有PFS支持。e)高效通信。由于节点间的连线
通过应用网卡捆绑技术来部分地解决这一瓶颈:首先,在每
个计算节点上安装配置双100脚s以太网卡,并通过一个多通
道绑定程序实现双网卡捆绑;其次,通过配置交换机端口,将第 群内部网络划分为两个虚拟局域网VLAN。这样数据包被拆分 成两等分从两块网卡同时输入/输出,使进程间的交换数据能够 通过两块网卡并行传输,通信性能因而得到很大提高。经笔者 测试,在双节点上传输长度为64 Byte的数据包,平均传输时间 约为62炉,长度在200 Byte以下的包,平均传输时间小于 100 p。
第26卷第3期 2009年3月
计算机应用研究 Application Research of Compute瑙
相关主题