- 创建 torque 的作业队列:
-
qmgr -c 'create queue boatman_queue' qmgr -c 'set queue boatman_queue queue_type = execution' qmgr -c 'set queue boatman_queue resources_default.nodes = 1' qmgr -c 'set queue boatman_queue resources_default.walltime = 00:10:00' qmgr -c 'set queue boatman_queue enabled = true' qmgr -c 'set queue boatman_queue started = true'
- 设置新创建的 boatman_queue 为 default_queue:
-
qmgr -c 'set server default_queue = boatman_queue'
-
-
- 搭建MPICH开发、运行环境,见我的另一篇博客:点击这儿
- 编写用于提交任务的 PBS 脚本:
-
cd /var/spool/torque/spool/ //发现这个目录的权限正好是想要的 1777 ,所以就用这个目录作为管理节点和计算节点交互信息的目录了 vi mpi-pi.job 增加如下内容: #!/bin/bash #PBS -N mpi-pi //指定作业名称 #PBS -M shixiaoyan.c@gmail.com //指定作业运行的一些状况信息发送到哪个邮箱 #PBS -m abe //指定发送邮件的时机 #PBS -o /var/spool/torque/spool/mpi-pi.out //指定作业输出文件的路径 #PBS -e /var/spool/torque/spool/mpi-pi.err //指定作业生成错误报告的路径 #PBS -q boatman_queue //指定作业进入哪个队列 cd /usr/local/mpich-3.0.4/ //计算节点上要运行作业的目录 echo Running on hosts : $HOSTNAME //不是必须的,打印出执行作业的主机名 echo The date is : //不是必须的,打印出执行作业的时间 date echo The directory is : $PWD //不是必须的,打印出执行作业的目录 echo This job will run on the following nodes : $PBS_NODEFILE //不是必须的,打印出即将执行作业的所有计算节点 mpiexec -f nodes -n 15 ./examples/cpi //真正执行作业的指令,和你在 MPICH 集群中执行的时候用的指令是一样的
-
- 提交作业:
-
su boatman qsub mpi-pi.job
- 用 qstat -a 指令查看作业运行状况:
- 查看 /var/spool/torque/spool/下作业的输出文件,没有错误,mpi-pi.err 文件当然是空的了:
- 去指定邮箱查看发送的邮件:
-
- 至此,PBS集群搭建、测试成功
- PS:
- 只是在 torque-2.5.12 这个版本下完全成功,中间换了好几个版本,都有各种各样的问题,未能解决
- 在最新的 torque-4.2.3.1 下配置无任何问题,log 中也没有错误,但是作业就是不会被调度,至今未能找到问题在哪儿
- 其余版本最多的问题是 pbs_mom 无法启动,总显示 socket 通信错误
- 后续还有很多的事情需要做,不再在这些曾经的问题上纠结,如果你碰巧有遇到过类似的问题,那么欢迎分享