现在的位置: 首页 > 综合 > 正文

PBS集群搭建专题(三) | torque 的使用

2017年09月03日 ⁄ 综合 ⁄ 共 1387字 ⁄ 字号 评论关闭
  1. 创建 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'
  2. 搭建MPICH开发、运行环境,见我的另一篇博客:点击这儿
  3. 编写用于提交任务的 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 集群中执行的时候用的指令是一样的
  4. 提交作业:
    • su boatman
      qsub mpi-pi.job
    • 用 qstat -a 指令查看作业运行状况:
    • 查看 /var/spool/torque/spool/下作业的输出文件,没有错误,mpi-pi.err 文件当然是空的了:
    • 去指定邮箱查看发送的邮件:
  5. 至此,PBS集群搭建、测试成功
  • PS:

    • 只是在 torque-2.5.12 这个版本下完全成功,中间换了好几个版本,都有各种各样的问题,未能解决
    • 在最新的 torque-4.2.3.1 下配置无任何问题,log 中也没有错误,但是作业就是不会被调度,至今未能找到问题在哪儿
    • 其余版本最多的问题是 pbs_mom 无法启动,总显示 socket 通信错误
    • 后续还有很多的事情需要做,不再在这些曾经的问题上纠结,如果你碰巧有遇到过类似的问题,那么欢迎分享

抱歉!评论已关闭.