此实验接着上个 mpich2 hpc 高性能集群:
下载软件: torque-3.0.0.tar.gz
         maui-3.3.tar.gz(次软件包可有可无,是优化调度作业队列的)
在测试连通性时使用非root用户去测试,并且此用户在所有节点上都存在
在 192.168.0.81上面:
tar zxf torque-3.0.0.tar.gz       
cd torque-3.0.0
./configure --with-rcp=scp --with-default-server=desktop81.example.com   #--with-rcp=scp用于ssh key方式
可以安装 tcl-devel tk-devel ,也可不安装
make  && make install && make packages 生成计算节点安装包,确
保所有计算节点和服务节点的架构是相同的
cd  contrib/init.d/
cp pbs_server pbs_sched pbs_mom   /etc/init.d/
scp pbs_mom   192.168.0.34:/etc/init.d/
cd ../../
scp torgue-package-clients-linux torque-package-mom-linux 192.168.0.34:
 
在 192.168.0.34 上面:      在所有计算节点安装torque
./torque-package-clients-linux --install
./torque-package-mom-linux  --install
 
在 192.168.0.81 上面:
还是在上面编译的目录下:
./torque.setup  root         设置torque的管理帐户
cd /var/spool/torque/        torque的配置目录
cat server_name    查看server 的主机名
cd server_priv
vim nodes
desktop81.example.com
desktop34.example.com
cd ../mom_priv
vim config               因为81 既为调度端,也为客户端,所有需配置此文件
$pbsserver    desktop81.example.com
$logevent     255
 
在192.168.0.34 上面:
cd /var/spool/torque/mom_priv/
vim config                          所有计算节点执行此配置
$pbsserver    desktop81.example.com
$logevent     255
 
在192.168.0.81 上面:
qterm -t quick                停止torque
/etc/init.d/pbs_server  start  启动torque
/etc/init.d/pbs_sched  start  调度程序启动,torque自带的调度程序,比较简单,也可以用 maui 调度程序替换。
/etc/init.d/pbs_mom   start   所有计算节点执行此命令,启动计算节点守护进程。此主机既作调度端,也作客户端。
在192.168.0.34 上面:
/etc/init.d/pbs_mom  start
在192.168.0.81 上面:
su - smart
cd /tmp
ls   会有 mpd2.console_smart  文件
pbsnodes   显示两台主机的及状态和其他信息
 
torque的调度需要使用非root用户
下面为测试文件:
cd ~
vim job1.pbs   串行作业
#!/bin/bash
#PBS -N job1
#PBS -o job1.log
#PBS -e job1.err
#PBS -q batch
cd /home/smart
echo Running on hosts `hostname`
echo Time is `date`
echo Directory is $PWD
echo This job runs on the following nodes:
cat $PBS_NODEFILE
echo This job has allocated 1 node
./prog
 
vim job2.pbs
#!/bin/bash
#PBS -N job2
#PBS -o job2.log
#PBS -e job2.err
#PBS -q batch
#PBS -l nodes=2
cd /home/smart
echo Time is `date`
echo Directory is $PWD
echo This job runs on the following nodes:
cat $PBS_NODEFILE
NPROCS=`wc -l < $PBS_NODEFILE`
echo This job has allocated $NPROCS nodes
mpiexec -machinefile $PBS_NODEFILE -np $NPROCS 
./prog
 
vim prog
#!/bin/bash
echo 1000000000 | ./icpi   icpi程序是mpi自带的,从254上拷贝过来即可
、chmod +x prog
qsub job1.pbs(提交作业)   将作业提交给192.168.0.81
提交作用后输出如下信息:
0.desktop81.example.com
 
qstat (查看作业)     可以看到192.168.0.81 状态为job-exclusive
pbsnodes (查看节点)   只有192.168.0.81 在运行
cat job1.log  可以看到作业执行的时间
qsub job2.pbs  将作业提交给81和34两台主机
qstat      可以看到两台主机都在运行
pbsnodes
cat job2.log  可以看到作业执行的时间,和上面job1 运行的时间作对比,基本上是job1 时间的一半
 
注:1. 以上测试我是以smart用户测试,确保所有节点上有此用户,并且在计算节点上
的wxh用户目录中有 prog 和 icpi 两个可执行程序
   2. 启动mpd程序时要使用smart用户 因为在调度时会连接计算节点上/tmp/
mpd2.console_smart