找回密码
 注册
查看: 2087|回复: 6

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

[复制链接]
发表于 2007-4-3 09:36:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人是大连理工大学工程力学系在读博士,看了canter的并行文章之后,将自己一年多来做并行计算的心得与大家分享一下,还望对大家有所帮助,有什么学术问题可以与我交流
qq413689923
1。开头
     传统上cfd行业的并行计算以集群为主要特点,对于有时间限制的cfd工程项目,可能需要租用大型的集群设备,比如我的副导师所就职的英国vestas公司,而对于大部分科研机构的研究工作,中小规模的集群设备可以说有可以实现的需要和可能性。
    我们大连理工大学在2003完成了联想深腾1800的组装,共计128节点,每节点为inter至强处理器2.8ghz,内存2gb,共享1TB硬盘阵列,对于此机器我抱有很大希望,但是由于cfx对于无盘集群的工作限制(必须占用master的主节点),而此机器为全校师生所公用,所以不能占用主节点,而可恶的ansys公司不提供对于cfx5.6老版本的float license,所以在经费允许的情况下,我自己购买并组建了双集群,进行两种形式的cfd并行计算。
 楼主| 发表于 2007-4-3 09:47:31 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

2。关于自行购买计算集群的配置
    本人所购买集群共有两套,分为有盘和无盘两种,所谓盘就是指硬盘
    有盘集群的共有8台机器,其中七台配置为,inter奔腾D930(双核3.00GHZ,二级缓存4MB),,微星945G主板,内存2GB-DDR2-533,硬盘200GB
,还有一台配置为AMD皓龙265*2(4核心,1.8hgz每核心),内存4GB,200GB硬盘,这就是以有盘形式组建的局域网,其操作系统均为redhat RHEL4U2
    无盘集群的配置相对简单,共计15个子节点和一个master,配置均为inter奔腾D945(双核3.4GHZ),2gb内存,华硕945G主板,interPRO1000千兆网卡(注意网卡很重要对并行计算),master上安装有250GB硬盘(希捷SATA2)。操作系统CENTOS4.4最终版。
    两套机器成本共计为13万五千元
    下面针对本人的两种集群分别谈一下组装及使用经验,由于第一次发帖,怕白打字,请大家见谅
   
 楼主| 发表于 2007-4-3 10:10:42 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

3,有盘集群的设置
    对于inter双核处理器,本人的感觉就一个字,爽,不过还是言规正传吧,对于有盘的集群,使用是非常灵活的,可以选用任意数目机器,用任意机器作任务启动的master,至于按装cfx的事情,本人感觉cfx5.6已经足够用了,因为只是使用solver功能,安装高版本只需要在pre用,建模画网格本人一直用icem(现在最新版本11.0),已经足够强大了,具体过程如下:
    先在每个机器上安装操作系统(废话,呵呵),然后安装cfx,这个可以参照canter的文章,不过我觉得5.6足够了,只需要在同一个目录下建立两个子目录,一个叫5.6,一个叫Licensing,然后在win下破解license,再拷贝到Licensing目录下就好了,安装5.6后不用安装linux的license-setup,没用的。按完cfx后就是最重要的设置并行了:
     我分成几步,大家也许看得比较清楚
1.打开系统服务中的rsh,rlogin,rexec服务,并且重新激活xinetd,其实关于rsh的开启网上很多文章供大家参考,命令行我就不打了
2。最重要的将所有节点通过ip连起来,可以任意选择一个做ip服务器,前提是需要在你选定服务器里设置一个服务ip,例如192.168.0.1,掩码填255.255.255.0,dns网关啥的都不填,其它的机器则在ip里填192.168.0.*(*为1-253任意),网关和dns都填192.168.0.1,这样的话就够添了一个局域网络
3.将左右机器互相加入自己rsh用户列表里,这样的话彼此就可以相互rsh了,也就可以使用cfx的并行功能了,具体命令号为&echo "192.168.0.*空格root"空>>空/root/.rhosts
4。还有一点就是要在网络管理里把主机名和对应的ip地址填好,例如192.168.0.1-dlut1,每个机器都把所有的节点信息填一便,至此,前期工作就搞定了,是不是很麻烦亚,所以我比较喜欢无盘集群,就配置主节点就好了
5启动并行的命令行,转到def的目录下,然后终端输入/....../5.6/bin/cfx5solve -def -par-dist "dlut1*2,dlut2*2,...." -part * -size 1.2 &
其中-part后面的*表示你共有多少个节点来计算,比如我用4个机器计算,就是-part 8,因为每个机器双核心
6关于网卡,对于局域网来说,网卡的要求就是普通pci千兆网卡就可以了,不然的话通讯时间很长,影响并行效率,交换机就用普通的全千兆交换机(千元以内)就好了
 楼主| 发表于 2007-4-3 10:16:22 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

写到这,我想告诉大家,用双核并行计算就不要用windows了,根本没有加速比,所以win下的并行没啥大的用处,除非用一堆单核的机器互连,不过即使那样,也比linux下的速度慢很多,因为网络的速度linux快一些,cpu的性能好一些,win系统的计算性能我只能说一个字,哭
累死了,先去看看昨天的模型,今晚上无盘集群的配置方法,谢谢大家关注
 楼主| 发表于 2007-4-19 22:06:21 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

唉,转眼间半个月过去了,又是浑浑噩噩,今天把无盘集群的组建方法给写上来吧
3。无盘集群的设置方法
对于只有服务器有硬盘而其它机器无硬盘的集群,有两种组建途径,一种是编译一下linux的内核,改一下其源代码,使其支持client段的启动,对于这种方法,涉及到很多企业的发行软件及工程项目,目前来看,不值得我们具体学习,因为实在是成本时间耗费巨大。在这里,我推荐台湾的优秀无盘网软件drbl,网上很多相关的文章,关于如何组建drbl无盘网络。
在这里,我想强调两点,第一点就是对于cfd的计算,一定要保证最好每个子节点计算能力大体相同;第二点就是服务器相对强些,例如子节点是3.2g,2g内存,那服务器最好是3.4g,3g内存,由于本人学校的限制,姑且选用一样的配置
网络方面,毋庸置疑sever端一定是GLAN,而且最好使用inter,3com大厂的网络产品,交换机也是全千兆的即可,client段只要保证是GLAN就行了,并且支持网卡boot,这是无盘网的必要条件。
具体的安装步骤:
首先,安装操作系统,我选用的是centos4.4final,因为drbl不支持REHL as4.0,然后安装完操作系统,后安装cfx,drbl的安装可参考drbl的官方网站:http://drbl.nchc.org.tw
其次,在drbl环境下的rsh设置方法其网站也有详细的解答,参见其问题集,因为其支持rsh,所以我们cfd的并行才有了可能。
最后就是网络的最终设置了,在主机名里drbl会自动把子节点添加到列表,很是省事,然后把子节点手动添加到/root/.rhosts,形如$echo "192.168.100.* root" >> /root/.rhosts,这样就可以算题了,呵呵

 楼主| 发表于 2007-4-19 22:12:58 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

两种可能的并计算网络形式都已经总结完毕了,记得当时攻克这两种集群我几乎一周没好好吃饭睡觉,不过却是很有成就感,现在一般的模型很快就可以算完,再也不用看别人脸色了,说起来,还是有盘的比较麻烦,得每个机器上重复一遍,而无盘的那个集群,现在我组建成功只需要不到一小时了,呵呵,完全是机械运动了。
祝所有从事cfd事业的同行们工作顺利,多多发财,
哈哈哈哈!!!!
发表于 2007-7-5 18:13:34 | 显示全部楼层

有感于canter的并行,将自己的并行计算经验跟大家分享一下,适合低成本cfd科研

虽然没搞过并行计算,还是谢谢愿与大家共享经验
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表