Gaussian并行计算的简单实现

时间:   来源:UltraLAB图形工作站方案网站   人气:28699 作者:

一。硬件:
  1:P42.8G/1G ram/120G HD
  2:Ce2.0G/768M ram/80G HD
   
  二。操作系统:
  WinXP pro, Redhat Linux(Fedora Core 1,从网上下载的光盘镜像(.iso文件))
   
  三。软件:
  VMware 5.0 30天体验版 http://www.vmware.com
  Linda 7.1 4节点免费版 http://www.lindaspaces.com
  Gaussian98 并行版(已编译好)
  软件说明:
  VMware是一款口碑不错的虚拟机软件,这个软件运行在一个操作系统上,可以模拟出一个硬件环境,然后将另外一套操作系统安装到这个模拟的环境中。
  Linda是Gaussian并行计算所需要的一个在计算机节点间进行通讯,传输计算数据和控制指令的软件。
  我得到的Gaussian是已经编译好的版本,不知道是在什么环境下编译的,但是可以在Fedora Core 1下运行。
  以上软件的详细介绍见各自的官方网站。
   
  四。安装步骤
   1.安装VMware
   如果你想直接在一台机器上安装Linux,则可以跳过1,2部分。
   通过一下这个网址按要求注册后可以获得30天体验版的VMware5.0:
   http://www.vmware.com/vmwarestore/newstore/wkst_eval_login.jsp
   注册后vmware网站会给你注册的email发一封信,其中有安装需要的序列号。同时会给
   出下载链接。
   2.在vmware中创建Linux虚拟机
   菜单File->New->Virtual Machine。Virtual machine configuration 选Custom。
   Virtual machine format 选New - workstation5。
   Guest operation system就是你要安装的操作系统的类型,选Linux
   Memory的设置要尽可能大些。一般可以指定自己机器一半的内存。
   Network connection我选择的是bridged,这样你安装的操作系统就和你的网络上的机
   器具有相同的网络环境,网络设置上也和你自己用的机器类似,就是IP地址不同。
   注意最后设置Disk file时,一定要自己指定Disk file的路径到一个剩余空间最大的驱
   动器,在本例中,disk file将达到2G多的大小。
   其他选项默认就可以了。
   3.安装Linux
   注:这一部分及以下部分需要Linux基础知识才能看懂。
   双击Devices那一栏中的CD-ROM,Connection中选Use ISO image,browse到Linux第一
   张光盘的镜像文件。然后Start this virtual machine.
   Linux的安装不再详述,这方面网上的资料很多,只需注意如果你硬盘空间足够大,选
   择安装所有模块就可以了,这样省事。如果空间有限,注意安装几个和C有关的编译器
   ,以及rlogin,rsh,rexec,telnet这些服务一定要安装。如果对linux不是很熟练,建议
   把所有的管理工具和系统设置工具也装上。
   4.安装Gaussian
   我得到的是编译好的版本,所以无需再次编译,直接解包解压缩就可以了。我把解包后
   的文件夹放到了/usr目录下。目录结构大概如下:
   /usr/g98
   /usr/g98/bsd
   /usr/g98/linda-exe
   .
   .
   .
   5.安装Linda
   下载的Linda是rpm文件,在图形界面中双击就自动安装了,默认安装到
   /usr/sca
   目录下,我忘了字符模式下的安装方法。
   6.设置Linux的rlogin #p#page_title#e#
   这是很重要的一部分,最终的目标就是在控制台中输入rlogin nodeN就可以直接登录到
   主机名为nodeN的计算机上。达到这个目的有以下几个要求。
   1)所有节点机的用户名和密码必须相同,而且用户名不能为root。
   2)所有节点机的gaussian和linda必须装在完全相同的目录下。
   3)/etc/hosts中包括所有节点机的IP和主机名,格式如下:
   IP 主机名
   例如:
   192.168.0.2 node1
   192.168.0.3 node2
   192.168.0.4 node3
   . .
   . .
   . .
   4)/etc/hosts.equiv中包括所有节点机的主机名,格式如下:
   主机名
   例如:
   node1
   node2
   node3
   .
   .
   .
   5)/home/你的用户名/.rhosts中的内容与/etc/hosts.equiv中的相同
   6)/etc/securetty这个文件中加入以下几行:
   rlogin
   rsh
   rexec
   这时候在这台机器上输入:
   rlogin 这台机器的主机名
   就应当可以不提示输入密码登录。
   7.设置Linda
   只需要一个文件,在/home/你的用户名/.tsnet.config中输入所有的节点的主机名,和
   /etc/hosts.equiv中的内容一样。
   8.设置计算节点
   在/home/你的用户名/下建立一个文件,名字任意,内容为你在计算中将要用到的节点.
   格式与/etc/hosts.equiv中的相同。在本例中这个文件为.tsnet.nodes。如下箭头所指
   处。
   9.设置运行环境
   在/home/你的用户名/.bashrc文件的最后加入以下内容:
   
   export PATH=${PATH}:"./"
   export g98root=/usr
   export PATH=${PATH}:"${g98root}/sca/linda7.1/intel-linux2.4-ws3/bin"
   export LINDA_PATH="${g98root}/sca/linda7.1/intel-linux2.4-ws3/bin"
   . ${g98root}/g98/bsd/g98.profile
   
   在/home/你的用户名/.bash_profile文件的最后加入以下内容:
   
   export GAUSS_LFLAGS="-nodefile /home/你的用户名/.tsnet.nodes" <--
   export g98root=/usr
   export PATH=${PATH}:"./"
   export PATH=${PATH}:"${g98root}/g98/linda7.1/intel-linux2.4-ws3/bin"
   export LINDA_PATH="${g03root}/g03/linda7.1/intel-linux2.4-ws3/bin"
   . ${g98root}/g98/bsd/g98.profile
   
   注意以上两个内容应用到你的系统中时需要修改相应的路径。

  五。复制系统
   完成以后工作后将Linux操作系统关闭,退出VMware,然后将虚拟机文件的整个文件夹
   以及扩展名为vmdk的Disk file(一般为4个:机器名.vmdk,机器名-s001.vmdk,机器
   名-s002.vmdk,机器名-s003.vmdk)拷贝到另外一台也安装了VMware的机器上,注意修
   改虚拟机文件redhat.vmx中diskfile的路径,以及机器名.vmdk中其他三个文件的路径.
   复制完成后打开vmware,选择File->Open,browse到复制的机器名.vmdk,打开。将网
   卡删除后再添加一块新的网卡(要不然会因为mac地址和原来的相同而发生冲突。)启 #p#page_title#e#
   动系统,利用系统设置工具修改IP,主机名。依次操作,然后将所有的节点机都打开,
   看能否相互无密码rlogin。
   在机器上单独安装Linux可以参照修改。

  六。运行Gaussian
   建立一个Gaussian输入文件,尽量复杂一些,比如对一个几十个原子的分子进行结构优
   化,这样好有时间察看运行状态。注意在输入文件中指定使用的CPU数目:
   %NprocLinda=你做的节点数目(这个版本的Linda最多支持4个)
   在其中任何一台计算机上,打开控制台,输入:
   g98l <输入文件.gjf
   不指定out文件是为了即时察看运行状态。
   在本地机器进入迭代求解自洽场后(l502.exel),在其他的机器上察看进程:
   ps -a
   如果有l502.exel,那么就是成功了。