Rhel6-mpich2 hpc集群配置文档

系统环境: rhel6 x86_64 iptables and selinux disabled

主机: 192.168.122.121 server21.example.com

192.168.122.173 server73.example.com (注:时间需同步)

所需的包:icpi-64

 

#配置mpich2

以下步骤在server21server73上实施:

[root@server21 ~]# yum install mpich2 -y

[root@server21 ~]# useradd -u 600 lmx

[root@server21 ~]# passwd lmx

 

以下步骤在server21server73上实施:

[root@server21 ~]# su - lmx

[lmx@server21 ~]$ vim .mpd.conf (注:这是隐藏文件)

secretword=westos

[lmx@server21 ~]$ chmod 600 .mpd.conf

[lmx@server21 ~]$ vim mpd.hosts (集群节点集合文件)

server21.example.com

server73.example.com (所有节点的主机名)

:如果以root用户启动mpd服务, mpd.conf文件创建在/etc目录中(不加"."), mpd.hosts放在root主目录中


#在各个集群节点之间创建SSH信任连接

例:

以下步骤在server21server73上实施:

[root@server21 ~]# su - lmx

[lmx@server21 ~]$ ssh-keygen (一路回车即可)

[lmx@server21 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub server21.example.com (与自己信任连接)

[lmx@server21 ~]$ ssh server21.example.com

 

[lmx@server21 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub server73.example.com (与其他节点信任连接)

或者采用nfs的方式:

以下步骤在server21上实施:

[lmx@server21 ~]$ logout

[root@server21 ~]# yum install nfs-utils.x86_64 -y

[root@server21 ~]# vim /etc/exports

/home/lmx *(rw,sync,anonuid=600,anongid=600)

[root@server21 ~]# /etc/init.d/rpcbind start

[root@server21 ~]# /etc/init.d/nfs start

 

以下步骤在其他所有节点上实施:

[root@server73 ~]# yum install showmount -y

[root@server73 ~]# showmount -e 192.168.122.121

[root@server73 ~]# mount 192.168.122.121:/home/lmx/ /home/lmx/

[root@server73 ~]# su - lmx

[lmx@server73 ~]$ ssh server73.example.com

[lmx@server73 ~]$ ssh server21.example.com

 

 

 

mpich2测试:

 

1.本地测试

 

启动mpich2: mpd& 查看启动机器:mpdtrace 退出:mpdallexit

 

 

2.运行集群系统

启动mpich2: mpdboot -n 2 -f mpd.hosts (参数-n 2指定要启动的机器个数,-f mpd.hosts指定了通过mpd.hosts运行)查看启动机器:mpdtrace 退出:mpdallexit

 

 

测试运行mpich2的圆周率的程序

mpich2的安装包examples目录里有圆周率计算的原代码icpi.c,先编译成可执 行文件

mpicc icpi.c -o icpi

1.单机测试

 

 

2集群测试

 

 

由上述测试的结果可以看出使用单机单进程运行,intervals设为1000000000,耗 时30.903027,而用两台机器双进程则只有16.075092,明显快很多,并行运算还是 很有效果的。不过,如果我们把intervals改为10000,单机运行只用了0.001421,而 两台机器却花了0.002374,这是因为并行运算过程中,参与运算的机器需要通过网

络传递一些消息,如果计算量不大的话,花在了这上面的时间影响会比较明显,因而

反不如单机版的来得快


 

你可能感兴趣的:(RHEL)