2001年北京化工大学学报
JOURNALOFBEIJINGUNIVERSITYOFCHEMICALTECHNOLOGYVol.28,No.4
2001
PC集群的建立与MPI并行环境的实现及其应用
王 莹 屈一新
(北京化工大学化学工程学院,北京 100029)
摘 要:通过网络集线器,采用以太网形式,建立了由多台微机(PC)组建的PC集群。采用TURBO-LINUX操作系统,使MPI并行环境在该PC机群上得以实现。利用了该系统实现了分子动力学程序的并行计算。关键词:并行计算;PC集群;MPI并行环境;分子动力学中图分类号:TP316.8
1 PC集群的建立
计算机集群系统,也称为计算机机群系统,简称集群,是互相连接的多个独立计算机的集合。这些计算机可以是单机或多处理器系统(PC或工作站),每个结点都有自己的存储器,I/O设备和操作系统。
集群的性能取决于下面几个因素:节点本身;节点之间互联设备;底层通信软件(包括互联设备的驱动);全局资源管理系统以及并行计算环境等等。111 PC集群节点的组成
经过努力,成功地自行设计并组建了四台PC机组成的PC集群,本集群节点主要配置如下:
CPU 主节点PÒ400MHz,从节点PÒ400MHz;
内存 主节点64M,从节点64M;
网卡 主节点Intel(R)PRO/100+PSIAdapter,从节点Intel(R)PRO/100+PSIAdapter;
硬盘 主节点4G,从节点4G;
显示卡 主节点S3Trio64V+PCI(765),从节点S3Trio64V2-DX/GX(775/785)。112 底层通信设备与全局资源管理系统
本研究中底层通信设备采用SuperstackÒspeedhub500,底层通信软件采用以太网(Ether-net)。
本集群采用TURBO-LINUX作为操作系统,它实际是一种能在PC机上运行的UNIX的变体
收稿日期:2001-03-13
基金项目:国家自然科学基金资助项目(29806001)第一作者:女,1976年生,硕士生
[2][1]
是一个以Intel系列CPU为平台的、高性能的32位多任务、多用户的完全免费的UNIX兼容系统。
2 MPI的实现
国际上大部分并行工作是在可移植网络并行环境PVM和可移植消息传递界面MPI并行环境下进行的。MPI发展较快,本研究采用了可移植消息传递界面MPI并行环境。211 MPI在LINUX系统上的实现
虽然免费下载的MPICH称其可在LINUX上实现,但在具体实施中需对LIUNX的一些配置文件进行修改。
21111 建立各处理机之间的信任关系 在MPI程序运行之前,必须通过以下步骤在各处理机之间建立信任关系。
第一步建立用户帐号,即系统管理员以root登录,建立用户帐号。
第二步是修改密码文件passwd。当系统利用隐蔽口令系统时,本字段被设置为/*0。由于/*0并不是密码字段的有效字符,所以/*0阻止注册访问帐号。这个字段(在建立口令之后)永远不能进行手工编辑。笔者用文本编辑器进入passwd文件删除该字段。
第三步修改密码文件shadow。一般系统都利用隐蔽口令系统,这时系统中存在一个含有密码的单独文件,名叫shadow,被存放在/etc/子目录中。由于保证在各个处理机之间可以执行rlogin命令,以及无身份验证的rsh命令是网络并行计算平台MPI可以运行的必要前提,因此需要把要运行MPI程序的用户设置为无口令的用户,即以root的身份把用户的口令删除。修改shadow与修改passwd的,
第4期 王 莹等:PC集群的建立与MPI并行环境的实现及其应用#5#
方法相类似。
第四步修改网间守护程序inetd.conf文件。如果上述删除操作已完成,但还无法执行rlogin命令或无须口令验证的rsh命令等r命令,则问题有可能出现在网间守护程序(InternetDeamon)上。因此,需要修改inetd.conf文件增加rlogin和rsh服务。
修改inetd.conf文件的执行步骤如下(在终端中以root身份执行):
#cd/etc
#mvinetd.confinetd.conf.org
#catinetd.conf.org|seds/#shell/shell/>inetd.conf
#killall-HUPinetd
#cd/etc
#mvinetd.confinetd.conf.org
#catinetd.conf.org|seds/#login/login/>inetd.conf
#killall-HUPinetd
第五步定义可信任主机与可信任用户,可信任主机又称为/等价主机0[3]。系统假设对可信任主机具有访问权的用户对本地主机也应具有等价的访问权,在两个主机上具有相同名字的用户帐号应由同一个用户拥有。因此这种验证系统需要定义可信任主机和可信任用户的数据库,它们为
/etc/host.equiv它为整个系统定义可信任主机与可信任用户。
.rhosts它为单个帐号定义可信任主机与可信任用户。
第六步修改MPI程序的机器名列表。用文本编译器修改....../mpich/util/machines/machines.LINUX文件,该文件中要列出所有的处理机的名称。这个文件的格式为
hostname2hostname3.......hostsname1其中hostname1为主节点名。
经过这些步骤之后,就可以对MPI的并行程序进行编译和运行了。
212 MPI并行程序设计流程图
图1给出了MPI并行程序设计流程图。其中,在所有MPI函数中,MPI
Init必须被首先调用,而
且只能调用一次,其作用是初始化进程,使之进入MPI系统,并可进一步调用其它MPI函数。同时,进程结束前,必须调用函数MPIFinalize来通知MPI系统。
3 微机网络并行计算实例
311 分子动力学程序的并行计算
计算机分子模拟[4]即人们所说的计算机实验,是现代统计力学和分子热力学中一个重要的研究方法。它可分为MonteCarlo(MC)分子模拟及分子动力学(MolecularDynamics,MD)模拟。前者主要用于通过模拟来得到体系的平衡性质,如密度、压力、体积、热力学能、自由能及反映体系内部结构的径向分布函数等;而后者能获得平衡性质的同时还可得到体系的传递性质(或运输性质),如动量、表面自由能、粘度及传递性质等。
MD方法的特点确定了并行化计算比MC方法更为容易。MD是通过解牛顿运动方程组求得各粒子在不同时刻下的位置、速度及其方向等微观信息,应用时间平均的方法得到宏观性质,因其计算的对象为粒子的作用力及位置,而这些计算是相互独立的。故可将粒子平均分配到并行计算机不同的节点上运算而同时完成体系中所有的粒子的计算。计算方法的并行度较好,并行效率较高。图2所示为MD模拟并行计算方法的一般性框图。312 并行计算数据及分析
为了验证并行编程的可靠性,本文计算了对比密度(Q=019)不同对比温度下体系的热力学能值和压力值,其结果如图3和图4所示。从图3,4可以看到本文的计算值与文献值[5]吻合良好,表明模拟程序是正确可靠的。
用Lennard-Jones模型进行计算,实验结果如下。
规模 500个分子点。单台处理机 运算时间为18604159s;两台处理机 运行时间为10891166s。
*
#6#北京化工大学学报 2001年
图4 并行MD模拟热力学能值与文献值比较Fig.4 Relationshipbetweenreducedthermodynamic
energyandreducedtemperature
加速比为11708。并行效率为0854;四台处理机 运行时间为70861192s。加速比为21625。并行效率为016563。
参
子科技导报,1999
[2] 杨文志.Linux最佳实用手册.北京:人民邮电出版社,
1999
[3] HuntC.TCP/IP网络管理.翟炯,石祥生,石秋云译.
北京:电子工业出版社,1999
[4] FrenkelD,SmitB.Understandingmolecularsimulation.
图3 并行MD模拟压力值与文献值比较Fig.3 ComparationparallelMDsimulated
pressuevalueswithliteraturevalues
Amsterdam:AcademicPress,1996
[5] SurridegM,TildiosleyDL,KongYC,etal.Aparallel
dynamicssimulationcodefordialkylcationicssurfactants.ParallelComputing,1997,22:1053~1071
考文献
[1] 钟 玲,孙强南.机群:并行计算机的新类型.北京:电
ClusterofPCanditsdevelopmentenvironment
LINUXOSandMPIandapplication
WANGYing QUY-ixin
(CollegeofChemicalEngineering,BeijingUniversityofChemicalTechnology,Beijing100029,China)
Abstract:TheclusterofPCanditsdevelopmentenvironmentLINUXOSanditsplatformMPIwereintroducedandhowtoinstallMPIonLINUXOSwasthemainfeatureinthispaper.Aprogramwasgivenasexamplesoftheparallelcomputationapplication.
Keywords:parallelcomputation;clusterofPC;MPIparallelcomputationdevelopmentenvironment;molecular
dynamics
因篇幅问题不能全部显示,请点此查看更多更全内容