PBS简介
- PBS (Protable Batch System) 作业调度系统会根据一个集群上的可用计算节点的计算资源来调度计算作业(无论是批处理作业还是交互式作业)。
PBS常用命令
- qsub: 提交作业
- qdel:取消作业
- qsig: 给作业发送信号
- qhold: 挂起作业
- qrls: 释放挂起的作业
- qrerun: 重新运行作业
- qmove: 将作业移动到另一个队列
- qalter: 更改作业资源属性
作业监测
- qstat: 显示作业状态
- qstat -q 显示已经配置的所有节点池状态信息
- qstat -a 显示已经提交的作业状态信息
- qstat -f JOBID 显示指定作业的所有状态信息
- showq: 查看所有作业
节点状态
- pbsnodes: 列出集群包含的所有节点的状态和属性
PBS作业属性
- 使用命令行的方式把参数传递给qsub命令
- 编写PBS脚本,以#PBS方式指定
属性 | 取值 | 说明 |
---|---|---|
-l | 以:分隔的资源信息 | 设定作业所需资源 |
-N | 作业名称 | 设定作业名称 |
-o | 文件路径 | 设定作业的标准输出文件路径 |
-e | 文件路径 | 设定作业的标准错误文件路径 |
-q | 队列名称 | 设定作业队列名称 |
资源 | 取值 | 说明 |
---|---|---|
nodes | 正整数 | 设定作业所需计算节点资源 |
walltime | hh:mm:ss | 设定作业所需的最大wallclock时间 |
cput | hh:mm:ss | 设定作业所需的最大CPU时间 |
mem | 正整数,后面可跟b,kb,mb,gb | 设定作业所需的最大内存 |
ppn | 正整数 | 设定作业所需的CPU数目 |
nodes=
设定所需节点数 nodes=
:ppn= 设定所需节点数和每个节点上使用的处理器数目 nodes=<list of node names separated by ‘+’> 设定所要使用的节点
PBS环境变量
环境变量 | 说明 |
---|---|
PBS_ENVIRONMENT | 批处理作业为PBS_BATCH,交互式作业为PBS_INTERACTIVE |
PBS_JOBID | PBS系统给作业分配的标识号 |
PBS_JOBNAME | 用户指定的作业名称 |
PBS_NODEFILE | 包含作业所用计算节点的文件名 |
PBS_QUEUE | 作业所执行的队列名称 |
PBS_O_HOME | 执行qsub命令的HOME环境变量值 |
PBS_O_PATH | 执行qsub命令的PATH环境变量值 |
PBS_O_SHELL | 执行qsub命令的SHELL环境变量值 |
PBS_O_HOST | 执行qsub命令节点名称 |
PBS_O_WORKDIR | 执行qsub命令所在的绝对路径 |
提交批处理作业
命令行提交批处理作业:
$ qsub [options] <control script>
作业提交后一般会先排队等待,PBS系统会根据作业的优先级和可用的计算资源来调度和执行作业
PBS脚本本质上是一个Linux shell脚本,在PBS脚本中可以用一种特殊形式的注释(#PBS)作为PBS指令以设定作业属性。
1 | !/bin/bash |
2 | |
3 | file: example.pbs |
4 | |
5 | ##set job name |
6 | PBS -N NAME |
7 | ##set output files |
8 | PBS -o name.o |
9 | PBS -e name.e |
10 | ##set queue name |
11 | PBS -q queuename |
12 | ##set number of nodes |
13 | PBS -l nodes=2:ppn=4 |
14 | |
15 | enter job's working directory |
16 | cd $PBS_O_WORKDIR |
17 | |
18 | get the number of processors |
19 | NP=`cat $PBS_NODEFILE | wc -l` |
20 | |
21 | run an example job |
22 | mpirun -np $NP -machinefile $PBS_NODEFILE <executable> <input file> |
编写好PBS脚本之后使用$ qsub example.pbs
提交该作业
取消排队中的作业
1 | $ qdel <job ID> |
停止正在运行的作业
1 | $ qsig -s KILL <job ID> |