关于集群作业管理系统 Maui,PBS和Torque

Maui集群调度器是Moab集群套件前身,是一个开放源码的集群和超级计算机作业调度器(scheduler)。 PBS是一个用于作业分配的调度器(scheduler),其主要任务是分配批作业计算任务到现有的计算资源上。 以下版本的PBS系统目前可用: OpenPBS:没有技术支持的原始开源版本; PBSPro(PBS专业版):由Altair Engineering发行和支持的商业版本; Torque:衍生的OpenPBS,由Cluster Resources Inc.发展,支持和维护

2009年6月28日星期日

TORQUE与Maui的安装、设置及使用(3)

作业运行

系统利用TORQUE 和Maui 进行资源和作业管理, 所有需要运行的作业无论是用于程序调试还是业务计算均必须通过qsub 命令提交,提交后可以利用TORQUE 和Maui 的相关命令查询作业状态等。为了利用qsub 提交作业,用户需针对此作业创建提交脚本,在脚本里面设定需要运行的作业参数等。在此分别给出串行和并行的简单脚本,用户可以修改此脚本以适用于自己的作业,如需要更加高级的功能请参考TORQUE 手册。

1)串行作业
对于串行程序,用户可编写命名为serial job.pbs(此脚本名可以按照用户喜好命名)的串行作业脚本,其内容如下:

#!/bin/sh
#PBS -N job name
#PBS -o job.log
#PBS -e job.err
#PBS -q dque
cd yourworkdir
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
./yourprog


注意1,TORQUE 建立在PBS 作业管理系统之上,PBS 的参数需在作业提交脚本中利用#PBS 设置。上述脚本利用qsub 命令提交后,表示进入yourworkdir 目录后,提交到dque 队列,其作业名为job name,标准输出和错误输出将分别存在此目录下的job.log 和job.err 文件中。上述脚本中以#PBS 开头的几行的-N、-o、-e、-q 参数后分别设置的是这个作业的名字job name、标准输出定向到的文件名job.log、标准错误输出定向到的文件名job.err、作业使用的队列名dque。

作业脚本编写完成后,可以按照下面命令提交作业:
user@kd50:˜ /work$ qsub ser job.pbs
如果成功,将有类似下面的输出:

3 7 . kd50

其中37.kd50 表示的是作业号,由两部分组成,37 表示的是作业序号,kd50 表示的是作业管理系统的主机名,也就是登录节点名,之后可以用此作业号来查询作业及终止此作业等。
1此脚本中`hostaname` 等中的是键盘左上角的反引号`,不是右侧的'


2)并行作业

与串行作业类似,对于并行作业,则需要编写类似下面脚本:

#!/bin/sh
#PBS -N job name
#PBS -o job.log
#PBS -e job.err
#PBS -q dque
#PBS -l nodes=4
cd yourworkdir
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 ./yourprog

与串行程序的脚本相比, 主要不同之处在于在#PBS 开头的-l 参数后设置:nodes=所需要的进程数,另外请注意需采用mpiexec 的命令格式提交并行可执行程序。

与串行作业类似,可使用下面方式提交:
user@kd50:˜ /work$ qsub par job.pbs

3) 常用作业管理命令

与作业相关TORQUE 和Maui 常用的用户命令主要有:
• canceljob:取消已存在的作业
• checkjob:显示作业状态、资源需求、环境、限制、信任、历史、已分配资源和资源利用等
• nqs2pbs:将nqs 作业脚本转换为pbs 作业脚本
• pbsnodes:显示节点信息
• printjob:显示指定作业脚本中的作业信息
• qdel:取消指定的作业
• qhold:挂起一个作业
• qmove:将一个作业从一个队列移到另一个队列中
• qnodes:pbsnodes 的别名,显示节点信息
• qorder:交换两个作业的排队顺序
• qrls:将被挂起的作业送入准备运行的队列中
• qselect:显示符合条件的作业的作业号
• qstat:显示队列、服务节点和作业的信息
• qsub:提交作业
• showbf:显示有特殊资源需求的资源的可用性
• showq:显示已激活和空闲的作业的优先级细节
• showstart:显示空闲作业的估计开始时间
• tracejob:追踪作业信息
具体请参考TORQUE 和Maui 用户手册。

没有评论: