MPICH在PC集群系统中的应用

发布时间:   来源:文档文库   
字号:
第4卷第4期福建工程学院学报
』!坠墨型堂!山i!!旦!业!望i!z丛里!!呈!!!艇
v01.4No.4
三Q堕生!星
文章编号:1672—4348(2006}04—0448—03
垒竖:兰咝
MPICH在PC集群系统中的应用
徐巍,李玉榕
(福州大学电气工程与自动化学院,福建福州350002)
摘要:采用MPICH并行技术,建立了基于Pc局域网平台的并行集群系统,并通过VC++6.0调用消
息传递库MPI函数编写并行遗传算法,完成了相关并行计算实例。计算结果表明:在现有并行集群系统下能有效地利用现有计算机资源,大幅度提高计算效率,并可获得可观的加速比,为一些复杂问题的求解提供了可行方案。
关键词:并行计算;并行遗传算法;MPICH;MPI中图分类号:TP393:0242
文献标识码:A
ApplicationofMPICHinthePCclustersystem
XUWei,LIYurong
(CollegeofElectricalEngineeringandAutomation,FuzhouUniversity,Fuzhou350002,China)
Abstract:Aparallelclustersystembased
on
PClocalareanetworkplatformWas
set
up
byMPICHspecifi。
to
cation.SomecorrespondingexampleswereachievedbyusingVC++6.0callingMPIfunction
program
design

forparallelgeneticalgorithm.'Ilaeresultshowsthatthecomputingresourceisbetterutilizedand

thecomputingefficiencyissignificantlyimprovedviaparallelcomputingwith
highercomputingspeedfor
theparallelclustersystem.Feasibleschemesareprovidedforthesolutionofsomecomplicatedproblems.Keywords:parallelcomputing;parallelgeneticalgorithm;MPICH;MPI(messagepassing
interface)

引言
随着工作站和PC机性能的提高和网络技术
优点…,且网络中的计算机资源具有复用性,网络上的处理机既可作为并行系统的一个处理单元来使用,又可作为一个普通的计算系统来使用,因而很有研究与利用价值。基于网络的并行遗传算法研究和应用目前刚刚起步,国内在这方面的研究文献几乎没有,国外所做的研究也相对较少。是近年来国际上并行处理的一个重要研究方向。
的发展,集群系统(Cluster)是近年来人们开始研究的一种新计算机系统,也称网络并行计算系统,是利用高速通讯网络将一组高性能工作站或PC机连接起来而形成的一种分布式并行计算系统。它通常采用消息传递(MessagePassing)的方式进行并行计算,这种计算系统较适合于粗粒度的并行处理问题,利用局域网将这些同构或异构的计算系统连接起来,通过相应的并行计算支撑软件(例如消息传递程序库和并行程序开发环境)作为平台,就可以构成一个进行网络并行计算的机群系统。与昂贵的高性能并行计算机相比,这种网络并行具有投资少,易实现,见效快,灵活性强等
收稿13期:2006—07—04
基金项目:福建省教育厅资助项目(JB04002)
1并行遗传算法
1.1遗传算法的并行性分析
遗传算法的并行设计可从2个方面分析:(1)遗传算法的内在并行
遗传算法本身适
合大规模并行,可以把初始种群分为若干子种群,每个子种群交给一台计算机单独进化,等进化结束后进行通讯比较,选择最佳个体,适合在各种并
第一作者简介:徐巍(1981一),男(汉),上海人,硕士研究生,研究方向:基于Interact的并行分布式进化计算研究
万方数据

第4期徐巍,等:MPICH在PC集群系统中的应用
449
行机或分布式系统中进行并行处理。
(2)遗传算法的隐含并行遗传算法采用种群方式组织搜索,可以同时搜索解空间中的多个区域,并相互交流信息。这种搜索方式使得它虽然每次只执行与种群规模Ⅳ成比例的计算,而实质上进行了大约D(,v3)次有效搜索,这就使得遗传算法能以较少的计算获得较大的受益。1.2遗传算法的并行化
遗传算法的固有并行性可通过不同的方法和途径去挖掘和实现,从而产生了不同类型的并行化方法。并行遗传算法大体可分为3种计算拓扑模式乜】:主从式、粗粒度和细粒度模式。
(1)主从式
主从式模型(见图1)将选择、交
叉、变异等全局操作交给主处理器串行执行,而将适应度评估等局部操作交给从处理器网络并行执行。主从式模型对计算机体系结构没有严格要求,适合运行在共享存储和分布式存储的并行计算机上。
图1主从式模型
Fig.1
Master-slavemodel
(2)粗粒度式粗粒度模型又称分布式模型或岛屿模型,是适应性最强和应用最广的并行化模型(见图2)。粗粒度模型是将随机生成的初始群体依处理器个数分割成若干个子群体。各个子群体在不同的处理器上相互独立地并发执行进化操作。为了防止群体早熟,每经过一定的进化代数,各子群体间会交换部分个体以引入其他子群体的优秀基因,丰富各子群体的多样性,防止早熟收敛的发生。粗粒度模型的通讯开销较小,可获得接近线性的加速比,而且非常适合运行在通讯带宽较低的集群系统上¨】。
图2岛屿模型
rig.2
Island-basodmodel
万方数据
(3)细粒度式细粒度模型又称领域模型、扩散模型或细胞模型(见图3),当并行计算机系
统的规模很大,处理器多到可以与染色体一一对应(理想情况),即每一处理器上驻扎一个染色体时,可以采用细粒度模型的并行进化算法。子群体之间具有极强的通讯能力,便于优良解传播到整个群体。全局选择被领域选择取代,对于每个染色体,进化操作都只在其所处的处理器及其领域中进行,这样的并行模型元需或只需很少的全局控制,在最大的限度上发挥了GA的并行潜力。由于对处理器数量的要求很高,所以细粒度模型的应用范围不广,一般只运行于大规模的SIMD
(SingleInstruction,MultipleData)并行计算机。
图3领域梗型
rig.3
Cellularmodel
目前,以粗粒度并行遗传算法模型最为流行,因为一是其实现较容易,只需在串行GA中增加迁移子例程,在并行计算机的节点上各自运行一个副本,并定期交换几个个体即可;二是在没有并行计算机时,也可在网络或单机系统上模拟实现。
2算法的程序设计及实现
2.1
函数优化问题的描述
函数优化可以描述为极大值或极小值问题:
maxf(髫)或minf(x)。
,∈S
,e

这里:S
R“称搜索空间;,:S—R称目标
函数。
2.2算法的实现平台
本文的并行遗传算法采用粗粒度模式,其拓扑连接模式采用单向环结构(见图4),既能保证优良基因在群体问的扩散,又较好地隔离了子群体,保护了群体间的多样性,虽然收敛速度慢,但
解的质量较高¨’。

450
福建工程学院学报
第4卷
图4单向环拓扑结构Fig.4
Theringtopology
局域网中单向环实现时,各节点间连接分为固定模式和动态模式。固定模式中,参与计算的各计算机按单向环顺序建立固定连接,中途不能有任何节点退出。动态连接时,各计算机预先无需固定连接顺序,满足迁移条件时,选择相邻的计算机发送连接信息,当连接信息回送到首节点、并成功建立连接时,环形拓扑连接建立成功,通讯过程中,某节点通讯失败或者中途退出时。通过监督机制,选择与之相邻的下一个节点继续建立连接,环形拓扑结构仍可重新建立。
在单向环拓扑结构中,每个节点驻扎一个子群体,进化若干代后,各进程之间进行同步,每个节点接收上一个节点传来的个体信息。并选出本群体中较好个体送给下一个节点。为防止死锁,节点1要先发后收,其他节点均为先收后发。
本文建立了由4台PC机组成的局域网并行计算平台,在此基础上可以十分灵活地扩展为更多节点的分布式计算平台。同时采用流行的消息传递接口MPI(Message
Passing
Fig.5
图5MPI程序设计流程图
MPIprogramming
Flowchartof

实验
实验时,选用局域网中的4台计算机,每台计
算机上驻留一定数目的子种群,进化一定代数后,各计算机之间按单向环拓扑建立通信连接。交换各种群之间的个体后(最优,最差原则),关闭本次连接。
实验对Camel函数(式1)和Rosenbrock函数(式2)进行局域网环境下并行遗传算法测试。为较好地评价并行遗传算法(PGA)的性能,PGA和SGA采用相同的遗传参数,种群设为400个,对于PGA,由于采用网络中的4台计算机,因此每台计算机种群为100个,以保证算法个体总数相同;交叉概率设为0.6,变异概率设为0.05;PGA为定期迁移,迁移率为0.2,迁移代频为25代。
Camel函数描述为
max以石,Y)=(4—2.1茗2+戈4/3)x2+xy+
(一4+4y2)Y2
s.t.一1≤茹≤一1,一1≤Y≤一1
Interface)作为程序
并行化的解决方案。用C++语言调用MPI消息传递库函数,编写并行遗传算法,并对选用的函数进行测试分析。
2.3
VC++6.0环境下的MPI编程
MPI是一种消息传递编程模型,它定义了一
(1)
8,
个实现消息传递模型标准的程序库,其最终目的是服务于进程间通信这一目标的。
MPICH是一个流行的对MPI标准的实现,它提供了C/C++语言和Fortran77/90语言的接口,要编译一个MPI+C或MPI+Fortran的程序必须先对编译器进行相应的设置,然后才能进行并行程序的编写。MPI并行程序的设计流程见图5。
该函数有6个局部极小点,其中(一0.089
0.712
6)和(0.089
628。
8,0.712
6)为’全局最小点,最小
值为一1.031
Rosenbrock函数描述为
max八算t,茗2)=100(茗:一菇2)2+(1一茹I)2
s.t.一2.048≤茗。≤2.048(i=1,2)
(2)
(下转第467页)
万方数据

第4期沈员萍,等:解读线性空间中植物意境审美的“实”像与“虚”像467
与“虚”像共同作用的结果,以上通过线性空间为植物意境审美的“实”像与“虚”像解读是设计载体对植物意境审美的“实”像与“虚”像进行了深者进行植物意境美创造的桥梁,因此,希望更多的入的分析和解读,希望能为植物意境美的创造提设计者加入到对此进行不断探索的行列中来,为供一些启发。
创造高品质的植物景观提供更多的理论指导。
致谢:本篇论文在撰写过程中得到南京林业大学王浩教授的悉心指导,谨此感谢。
参考文献:
[I]余柏椿.城市设计感性原则与方法[M].北京:中国城市出版社,1997:31.
[2]黄仁征,熊忠臣,罗洁.桂林市区至磨盘山码头公路绿化景观设计构思浅析[J].蓝天园林,2003(7):47—49.[3]相西如.江苏省宝应县运河路滨河绿带设计[J].中国园林,2000(5):57—59.
[4]沈葆久,沈天翔,沈天鹏.深圳新园林一抽象式园林[M].深圳:海天出版社,1994:9—14.
(上接第450页)
该函数有2个局部极大点,(2.048,一2.048)=
对比结果可以看出粗粒度并行遗传算法不仅897.734
2和f(2.048,一2.048)=3905.926,其
提高了SGA的运行速度,而且有效地抑制了早熟中后者为全局最大点。用遗传算法对其进行优化现象的发生,这一改进明显优于传统遗传算法的计算时极易陷入前一个局部极大点。
求解性能。对上述2个函数,在选定的参数条件下进行50次测试,测试结果见表1。

结语
表1
SGA和PGA的比较
本文所研究的基于网络计算平台的PGA能
Tab.1
ThecomparisonbetweenSGAandPGA
够显著节约寻优时间,提高寻优质量,并且能够充分利用互联网上的计算机资源,运行成本低,有助于解决巨量优化问题,对于科研和工程应用具有
重要的意义。
在实际应用中,这种基于网络平台的PGA还需要考虑计算机之间的协同工作能力、网络通讯量、网络是否安全和用户是否愿意参与等问题b1。
参考文献:
[1]孙家昶,张林波,迟学斌,等.网络并行计算与分布式编程环境[M].北京:科学出版社,1996.[2]陈国良,王煦法,庄镇泉,等.遗传算法及其应用[M].北京:人民邮电出版社,1996.
【3JohnstonE.Rationaleand
strategy
for

21stcenturyscientific
computing
architecture:the
case
forusingcommercial
symmctnc
multiproecssors
supereomputers[J].Intofhighspeed
computing,1997,9(3):191—222.
[4]郭彤城,慕春棣.并行遗传算法的新进展[J].系统工程理论与实践.2002(2):15—23.[5]米凯利维茨.演化程序——遗传算法和数据编码的结合[M].北京:科学出版社,2000.
万方数据

本文来源:https://www.2haoxitong.net/k/doc/9ef7bdef102de2bd960588c3.html

《MPICH在PC集群系统中的应用.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式