Gaussian并行计算的简单实现
一。硬件: 
  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,那么就是成功了。









