近日,又做了一个小型集群,简单整理一下安装过程,以备以后查用.我使用的是Mpich 1.2.5,没有用LAM,也没有用MPI2.下面简单讲一下安装过程.
一.系统安装
我们采用了RHAS4.6 X86_64.4.6是AS4的最新稳定版,而CPU是64位的,为了得到最高性能,我们采用这个版本.
分区:
/App单独分一个区,以备共享软件之用.
软件包,自定义,切记选上软件开发的包,不然什么东西都装不上.SElinux关闭,系统默认语言设置为英文.
二.rlogine及rsh配置
1.启用服务: vi /etc/xinetd.d/rlogin 及rsh,rexec三个文件,把disable=yes改成no.
service xinetd restart
netstat -anp |grep 513确认rlogin服务启动.如果没有启动,查看日志及配置文件,解决.
2.不要密码访问其它节点
vi /etc/hosts.equiv加入每个节点儿的名字.vi ~user/.rhosts加入node1 username(每个节点儿一行,所有的节点都写进去)
3.使用rsh-server中的rsh/rlogin等命令替换kerberos的.
cd /usr/kerberos/bin ;mv rlogin rlogin.bak;ln -s /usr/bin/rlogin ./ 同样操作rsh,rcp.
三.NFS及NIS配置
1.NFS
vi /etc/exports
加入以下内容
#
/App 192.168.1.0/255.255.255.0(rw,sync)
/home 192.168.1.0/255.255.255.0(rw,sync)
(根据自己需要改变IP)
servce nfs start
service nfslock start
2.NIS
a. vi /etc/sysconfig/network 加入NISDOMAIN=domainname
b.domainname domainname
c.service protmap start;service ypserv start
d./usr/lib64/yp/ypinit -m 按Crtl+d,按y(如果是32系统则用/usr/lib/yp/ypinit -m).
e.service yppasswdd start;service ypserv restart
f.在客户端上启动portmap,编辑/etc/fstab,挂载/home及/App.启动nfslock;用authconfig配置使用NIS,然后启动ypbind服务.
四.MPI安装
下载mpich-1.2.5.2.tar.gz(现在最新版本可能是Mpi-1.2.7).
tar xvzf mpich-1.2.5.2.tar.gz -C /tmp;cd /tmp/mpich-1.2.5
./configure --with-device=ch_p4 --prefix=/App/mpich-1.2.5/ch_p4
make ;make install
vi /App/mpich-1.2.5/ch_p4/share/machines.LINUX
加入node1
node1
node2
node2
每个节点系统认为有几个cpu,写几行.或者用它提示的node1:n(n=cpu个数,这种写法我没有测试成功)
然后用test用户测试
su - test
mpirun -np 16 cpi(cpi是mpi安装目录中examples中编译生成的,例如cd /App/mpich-1.2.5/examples;make,16 是因为我有4个节点,每个节点有4个cpu).如果有任何一台节点没有启动,请编辑machines.LINUX,去掉该节点,不然会报错.
注意:RHAS4.6自带lam 7.1.2,在~test/.bashrc中要加上export PATH=/App/mpich-1.2.5/ch_p4/bin:$PATH,不然会找系统自带的lam中的mpirun命令(而它是用ssh编译的),进程不能迁移到其它节点上.
OK.我们可以看到mpi的环境已经正常,进程可以顺利迁移到其它节点上.
五.Linpack性能测试软件的安装.
1.在 下载hpl.tgz,在下载atlas3.6.0.gz
2.tar xvzf atlas3.6.0.gz -C /App;cd /App/ATLAS;make,一路回车,然后会根据系统平台生成一个Make.Linux_HAMMER64SSE2_4(如果你的机器安装的是32的系统,可能生成的不是这个名字),然后make install arch=Linux_HAMMER64SSE2_4,程序运行结束后在/App/ATLAS/lib/Linux_HAMMER64SSE2_4生成libatlas.a等文件.
3.tar xvzf hpl.tgz -C /App;cd /App/hpl;cp setup/Make.Linux_PII_CBLAS ./
vi Make.Linux_PII_CBLAS做如下改动:
TOPdir = /App/hpl
MPdir = /App/mpich-1.2.5/ch_p4
LAdir = /App/ATLAS/lib/Linux_HAMMER64SSE2_4
然后make arch=Linux_PII_CBLAS
4.测试
su - test
cp /App/hpl/bin/Linux_PII_CBLAS ./
mpirun -np 16 xhpl
我的测试结果如下:
WR00C2R4 35 4 4 1 0.00 7.788e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0362975 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0397970 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0139121 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2L2 35 4 4 1 0.01 3.894e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0355858 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0390167 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0136393 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2L4 35 4 4 1 0.01 3.894e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0377209 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0413577 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0144577 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2C2 35 4 4 1 0.01 3.894e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0355858 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0390167 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0136393 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2C4 35 4 4 1 0.01 3.894e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0398561 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0436987 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0152760 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2R2 35 4 4 1 0.01 2.596e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0355858 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0390167 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0136393 ...... PASSED
============================================================================
T/V N NB P Q Time Gflops
----------------------------------------------------------------------------
WR00R2R4 35 4 4 1 0.01 3.894e-03
----------------------------------------------------------------------------
||Ax-b||_oo / ( eps * ||A||_1 * N ) = 0.0362975 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = 0.0397970 ...... PASSED
||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = 0.0139121 ...... PASSED
============================================================================
Finished 864 tests with the following results:
864 tests completed and passed residual checks,
0 tests completed and failed residual checks,
0 tests skipped because of illegal input values.
----------------------------------------------------------------------------
End of Tests.
============================================================================
Ok,到此为止,我们简单安装了一个MPI的并行环境,并测试了其性能.并行运算有许多软件要基于MPI进行运算,当然也有其它软件不依赖MPI进行运算,例如Gaussian.03是借助linda或者OpenMP进行并行运算的,我们再根据具体的需求配置应用软件即可.