Windows下及linux下PVM并行计算平台的搭建

Windows98PVM的构建:

1、http://www.csm.ornl.gov/pvm/网站下载PVM 3.4.3 Installshield version for Windows

2、在安装之前要确保你的机器上已经有CC++Fortran编译器,并且若是在WINDOWS下安装,还必须到http://www.denicomp.com网站下载用于PVM平台中的各机器间相互通讯的软件rshrshd,并将其安装配置好。

3、双击第1步中下载的PVM安装向导进行安装,在安装过程中需要你来指定你的编译器(CC++VC++Fortran),然后安装程序会自动搜索你的编译器的位置,另外还需要指定用于存放临时文件的文件夹,即设定PVM_TMP变量(我设为C:temp,如果此文件夹不存在,就新建此文件夹)

4、PVM的安装过程中需要两个非常重要的变量PVM_ROOT(PVM的安装目录)PVM_ARCH(PVM安装的操作系统,如win32,linux),这在安装向导中会自动为你设定。

5、安装完成以后,还需要将$PVM_ROOTbin,$PVM_ROOTlib$PVM_ROOT加入到你的path搜索路径中去。这在win9598下通过修改Autoexec.bat文件来完成。

6、另外还需要设定PVM_RSH变量来指向你的rshd的安装目录。这可以在Autoexec.bat文件中设定,也可以在$PVM_ROOTwin32Pvmvars.bat文件中加入下面一行来实现:

SET PVM_RSH=(rshd的安装目录)

7这时你会在桌面上看到一个PVM Compile Shell图标,运行时它可能会提示你要在纯DOS下运行,这可以通过点击右键菜单中的属性来弹出属性对话框,在此对话框中的“程序”中的“高级”按钮里不选择MS-DOS方式来解决。

8、在你要安装PVM的每台机器上完成以上六步。

9、windows下用add命令加入主机时,需要在命令行中加入dx参数,命令的格式:

              add “hostname dx=$PVM_ROOTlibwin32pvmd3.exe so=密码

10、若连接失败,则可以通过运行“rsh remotehost –l login dir | more”,若可以显示远程主机上的当前目录下的内容,则说明连接正常,有可能是PVM的原因;否则就是rsh没有装好或没有设置好。

11、            在终止PVM时没有使用halt命令或由于其他的原因而使得PVM非正常结束的话,则下次起动PVM时,有可能出现PVMD不能起动的错误提示,这时你可以到上面设定的临时文件夹下,如c:temp,检查一下是否存在文件pvmd.*,若有则把其删除。

12、若你想在起动PVM的同时加入你要加入的主机,可以通过建立一hostfile文件来实现。在此文件中,你需要列出你要加入的所有主机名及每台主机上的pvmd的安装目录,每行一个,你所用来第一次起动PVMD的这台主机名也要包括在内。格式如下:

    hostname1 dx=$PVM_ROOTlibwin32pvmd3.exe

    hostname2 dx=$PVM_ROOTlibwin32pvmd3.exe

     ….      …           ….

这样你就可能运行如下的命令来加入所有的主机(假设所建的hostfile文件位置为c:hostfile.txt):

pvm c:hostfile.txt

LinuxPVM的构建:

1、http://www.csm.ornl.gov/pvm/网站下载最新版本的PVM,现在最新版本为pvm3.4.4。文件名一般为pvm3.4.4.tar.gz

2、进入你要安装pvm的目录,一般为/usr/local或用户主目录,用gziptar命令对下载的pvm文件进行解包,如:

% gzip –d pvm3.4.4.tar.gz

% tar xvf pvm3.4.4.tar

3、在编译pvm之前,应该设置环境变量PVM_ROOT,使其指向pvm的安装目录($HOME/pvm3/usr/local/pvm3),假设你的当前shellbash,则用下列命令来设置:

             % PVM_ROOT=$HOME/pvm3

             % export PVM_ROOT

4、设置PVM_ARCH环境变量,它给出结点机的类型代表着硬件环境与操作的组合,对各种结点机的PVM的安装过程中要注意的问题可参阅$PVM_ROOT/doc/arches。在PVM3中提供了一个shell命令文件$PVM_ROOT/lib/pvmgetarch自动返回它所运行的结点机的类型,你可以调用它来设置PVM_ARCH

            % PVM_ARCH=`${PVM_ROOT}/lib/pvmgetarch`

            % export PVM_ARCH

5、以上的命令行方式下对环境变量的设置在注销用户时将会被清除,要想在每次登录时自动进行设置,可以将$PVM_ROOT/lib/bashrc.stub文件的内容拷贝到/etc/.bashrc文件的尾部。

6、编译PVM

           % cd $PVM_ROOT

           % make

           % cd $PVM_ROOT

           % make all

这将编译成可执行程序pvmd3pvmgs及函数库libpvm3.a,libfpvm3.a,libgpvm3.a所生成的文件均存放在目录$PVM_ROOT/LIB/$PVM_ARCH中。如果使用make all命令,除形成PVM的可执行文件和库文件外,还将生成分形图计算实例xep$PVM_ROOT/example中所有的程序实例。所以实例的可执行文均存放在目录$PVM_ROOT/bin/$PVM_ARCH下。

要注意的是,若你的PVM安装目录是/usr/local,则必须以root帐户登录。

7、PVM中默认的通讯远程登录软件为RSH,你也可以使用SSH(安全性更好一些,并且是以后的趋势),若要使用SSH来代替RSH,你可以选择以下两种方法中的一种:

(1)    修改文件$PVM_ROOT/conf/$PVM_ARCH.def,将其中的ARCHCFLAGS定义中的RSHCOMMAND变量的指向路径改为指向SSH的路径。然后按以上的步骤重新编译PVM

(2)    设置环境变量PVM_RSH,使其指向你系统中的SSH的路径。这不需要对PVM进行重新编译。为了不在每次登录SHELL时都对此进行设置,你可以在$HOME/.bashrc文件中加入对PVM_RSH的设置,如:

         export PVM_RSH=”the path to SSH”

(3) 这时,在每次加入主机时都需要输入你在那台主机上的登录密码;你也可以采用ssh-agent来实现不需要密码就可以登录到其他主机。

8、安装完PVM以后,还需要编辑/ect/hosts文件,来列出你要加入的所有主机名及其对应的IP地址,以便在用add命令来加入主机时,PVM可以根据主机名来寻找相应的IP,从而确定相应的主机。基本格式如下:

          hostname1 10.30.13.58(numeric IP)

          hostname2 10.30.13.62

          …    ….      ….

每行一个主机。

9、 安装XPVM。在安装XPVM之前要确保你的主机上已经安装了TCL/TK8.0以上的版本(需要注意的是,现行版本的XPVM1.2.5不支持TCL/TK8.3,所以我安装的是TCL/TK8.0),这是安装XPVM所必需的。一般在你的LINUX安装盘中都会有此软件包,你也可以到网站http://www.tcl.tk/software/tcltk/choose.html上的 Download Tcl/Tk 8.0.5去下载,现在的XPVM版本不支持TCL/TK8.38.3以上的版本,至于可不可以支持8.18.2有待测试。

10 、到 XPVM.src.1.2.5.tgz下载最新版本的XPVM源代码,并解包后进行安装。

 

 
11、 到网站
http://www.netlib.no/netlib/linpack/ ,下载PVM性能测试软件Linpack并安装。以用来测试你所建的PVM平台的加速比、通讯延迟等指标。

 

 
 

 
Logo

更多推荐