用于并行计算的PC集群系统构建
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2008.05.18;修回日期:2008-07—29 基金项目:国家自然科学基金资助项目(50675080)
作者简介:李敏(1982.),男,江西赣州人,博士研究生,主要研究方向为数字化及网络化制造工程(hast—limin@yahoo.咖.cII);张宜生(1951.),
男,教授,博导,主要研究方向为数字化及网络化制造工程;李德群(1946一),男,教授,博导,主要研究方向为数字化材料成形与模拟技术.
c)高性能集群。这些集群被用来运行并行程序,这些通常 是对时间有较高要求的情况,所以科学领域中对高性能集群有 特别的兴趣,科学家们通常会想在普通的硬件上以较少的时间 运行仿真器和其他对运算能力有高要求的程序。
1.3集群系统的设计要点 集群中存在着大量的冗余可用资源,如处理器、内存和磁盘
等,这就要求系统设计必须满足五个要点:a)RAS性能,要充分 考虑系统的可靠性(reliability)、可用性(available)、可维护性 (serviceability)。b)单一系统映像SSI通过组合各节点上的操 作系统提供对资源的统一访问,表现为一个单一的系统。c)作 业管理(job management)。因为集群要获得较高的系统使用率, 所以作业管理软件需要提供批处理、负载均衡和并行处理等功 能。d)并行文件系统PFS。由于机群上大量并行应用,需要大 量I/0操作,要有PFS支持。e)高效通信。由于节点间的连线
根据不同的标准,常见的集群分类有以下几种: a)故障切换集群。最简单的故障切换集群只有两个节点, 即保持活动的节点和保持等待并不断监视活动的节点,一旦活
动节点崩溃,这个等待着的节点便立即接手,这样就保持了一个 系统能在紧急情况下持续发挥作用。
b)负载平衡集群。该集群通常用在繁忙的网站服务器,使 用数个节点做同一个站点的主机,每一个网页的新请求被动态 地发送到负载较低的那个节点上。
与PVM相比较,MPI得到了更多的支持,它运行效率更高 并且已经是国际标准。MPI以语言独立的形式提供了一个接口 库,Fortran和c语言中可以直接对这些库中函数进行调用。 MPI—l标准提供了与C、Fortran77等语言的绑定;MPI-2标准将 语言绑定扩展到Foman90和C++。因此选用了应用广泛、可 免费获取的MPI工具集MPICH.1.2.5作为集群并行程序的开 发环境,该工具集支持MPI-1标准,部分支持+MPI-2标准。
第26卷第3期 2009年3月
计算机应用研究 Application Research of Compute瑙
V01.26 No.3 Mar.2009
用于并行计算的PC集群系统构建
李敏,张宜生,李德群
(华中科技大学材料成形与模具技术国家重点实验室,武汉430074)
摘要:在注射成形模拟研究过程中,涉及材料的牛顿和非牛顿黏性流动模拟和注射成形后期的冷却过程模拟,
以及对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)
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
个小部分被并行地读取。这样减少了每一个磁盘控制器的负载 并允许它们接收更多的请求。
PVFS是开源并行文件系统中一个很好的例子;在一个 Linux集群上使用标准IDE磁盘的环境下,磁盘的性能已经超过 了1 GBps。PV硒可以作为Linux内核模块或者可以被编译进 Limtx内核,后台实现的概念是很简单的,如图2所示。
lov【cal set call mpi_init(ierr) call mpi_comm_dup(mpi_eomm_world,myeomm,ieⅡ) call mpi_comm_rank(mycomm,myid,ierr) call mpi_comm size(mycomm,P,ierr) print},。PIⅨⅫs‘,myid,‘of-,P,‘is mmingI if(P.gt.maxnp)goto 999 m=100
图1基本的集群体系构架
图2 PVFS系统构架
3 PC集群系统的实现与简单的性能测试
Pc集群系统拓扑示意图如图3所示。使用P个节点计算
c=肋。其中:A是m阶矩阵;6是m维向量。假设m=印(如
不能整除将剩余部分放在最后一个进程中),在每个进程中存放 月的n列和对应的6的一个分量。
图3 PC集群系统拓扑示意图
并行通信库是一层中间件,它可以使用户程序发送/接收消 息,只需通过简单调用库函数即可统一访问集群的不同节点,不 管节点上运行的是什么操作系统。这类消息传递接口库软件 中,广泛应用的是MPI(message passing interface)和PVM(paral— lel virtual machine),它们均能提供简便的消息传递API接口,并 支持多数的并行计算体系结构和操作系统。
万方数据
第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∞
通过应用网卡捆绑技术来部分地解决这一瓶颈:首先,在每
个计算节点上安装配置双100脚s以太网卡,并通过一个多通
道绑定程序实现双网卡捆绑;其次,通过配置交换机端口,将第 群内部网络划分为两个虚拟局域网VLAN。这样数据包被拆分 成两等分从两块网卡同时输入/输出,使进程间的交换数据能够 通过两块网卡并行传输,通信性能因而得到很大提高。经笔者 测试,在双节点上传输长度为64 Byte的数据包,平均传输时间 约为62炉,长度在200 Byte以下的包,平均传输时间小于 100 p。
本文通过使用相同的数据,测试不同的节点数采集的计算
数据,如下所示:wk.baidu.com
.。
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)
一些程序经常会在磁盘上读写大量的数据,这时文件I/O 成为计算中最慢的—个步骤。更快的硬盘驱动器能够改善此问 题,但是总有不够的时候。当一个硬盘分区在所有的节点之间 共享时(如使用NFS)这个问题更突出了,而这在Linux集群中 是很常见的。这就是并行文件系统能派上用场的地方。并行文 件系统将一个文件分散在许多不同节点的硬盘上,这些节点被 称做I/0节点。当一个程序试图读一个文件时,那个文件的每
1集群系统的研究
1.1集群的概念 简单地说,集群(cluster)就是一组计算机,它们作为一个整
体向用户提供一组网络资源。这些单个的计算机系统就是集群 的节点(node)。一个理想的集群是,用户从来不会意识到集群 系统底层的节点,在用户看来,集群是一个系统,而非多个计算 机系统。集群系统的管理员可以随意增加和删改集群系统的节 点。图1是目前最基本的,也是最容易搭建的集群构架。 1.2集群分类
以及随时间变化各处的压力变化等科学和工程领域经常应用大规模科学计算。随着基于网格的计算和数据处理
日益复杂,很多计算一般PC系统无法满足要求,需要超级计算环境。因为不断追求更高的计算精度和日益复杂的
对象而扩大计算规模,传统的串行处理方式难以满足这些要求。因此,现代高性能计算的低成本、高效率成为选
择并行计算的解决方式。重点阐述如何构建一个用于并行计算的PC集群系统,结合实例阐朗MPI的实现方法,
随着科学工程要求,作为非线性数值模拟研究主要手段之 一的计算机,其性能要求也不断提高,单一的计算机系统已经不 能满足实验和研究的要求。而现在用于大型计算和分析的并行 计算的发展为数值模拟的发展提供了一个越来越宽阔而高效的 平台。因此,建立一种具有高性能和高扩展性而且易于维护和 使用的集群系统非常必要。