PBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征:
OpenPBS( http://www.OpenPBS.org/)是PBS的Open Source的实现。商业版本的PBS可以参照: http://www.pbspro.com/。 1、PBS命令 PBS提供4条命令用于作业管理。 (1) qsub 命令—用于提交作业脚本 命令格式: qsub [-a date_time] [-c interval] [-C directive_prefix] [-e path] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options] [-M user_list][-N name] [-o path] [-p priority] [-q destination] [-r c] [-S path_list] [-u user_list][-v variable_list] [-V] [-W additional_attributes] [-z] [script] 参数说明:因为所采用的选项一般放在pbs脚本中提交,所以具体见PBS脚本选项。 例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号 (2) qstat 命令—用于查询作业状态信息 命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u] 参数说明: -f jobid 列出指定作业的信息 -a 列出系统所有作业 -i 列出不在运行的作业 -n 列出分配给此作业的结点 -s 列出队列管理员与scheduler所提供的建议 -R 列出磁盘预留信息 -Q 操作符是destination id,指明请求的是队列状态 -q 列出队列状态,并以alternative形式显示 -au userid 列出指定用户的所有作业 -B 列出PBS Server信息 -r 列出所有正在运行的作业 -Qf queue 列出指定队列的信息 -u 若操作符为作业号,则列出其状态。 若操作符为destination id,则列出运行在其上的属于user_list中用户的作业状态。 例:# qstat -f 211 查询作业号为211的作业的具体信息。 (3) qdel 命令—用于删除已提交的作业 命令格式:qdel [-W 间隔时间] 作业号 命令行参数: 例:# qdel -W 15 211 15秒后删除作业号为211的作业 (4) qmgr 命令—用于队列管理 qmgr -c "create queue batch queue_type=execution" qmgr -c "set queue batch started=true" qmgr -c "set queue batch enabled=true" qmgr -c "set queue batch resources_default.nodes=1" qmgr -c "set queue batch resources_default.walltime=3600" qmgr -c "set server default_queue=batch" 2、PBS脚本文件 PBS脚本文件由脚本选项和运行脚本两部分组成。 (1) PBS作业脚本选项 (若无-C选项,则每项前面加‘#PBS’) -a date_time : date_time格式为:[[[[CC]YY]MM]DD]hhmm[.SS] 表示经过date_time时间后作业才可以运行。 -c interval : 定义作业的检查点间隔,如果机器不支持检查点,则忽略此选项。 -C directive_prefix :在脚本文件中以directive_prefix开头的行解释为qsub的命 令选项。(若无此选项,则默认为’#PBS’ ) -e path :将标准错误信息重定向到path -I :以交互方式运行 -j join :将标准输出信息与标准错误信息合并到一个文件join中去。 -k keep :定义在执行结点上保留标准输出和标准错误信息中的哪个文件。 keep为o 表示保留前者,e表示后者,oe或eo表示二者都保留, n表示皆不保留。若忽略此选项,二者都不保留。 -l resource_list : 定义资源列表。以下为几个常用的资源种类。 cput=N : 请求N秒的CPU时间; N也可以是hh:mm:ss的形式。 mem=N[K|M|G][B|W]:请求N {kilo|mega|giga}{bytes|words} 大小的内存。 nodes=N:ppn=M :请求N个结点,每个结点M个处理器。 -m mail_options :mail_option为a:作业abort时给用户发信;为b:作业开始运行发信;为e:作业结束运行时发信。若无此选项,默认为a。 -M user_list : 定义有关此作业的mail发给哪些用户。 -N name : 作业名,限15个字符,首字符为字母,无空格。 -o path : 重定向标准输出到path。 -p priority : 任务优先级,整数,[-1024,1023],若无定义则为0. -q destination : destination有三种形式: queue , @server,queue@server。 -r y|n : 指明作业是否可运行,y为可运行,n为不可运行。 -S shell : 指明执行运行脚本所用的shell,须包含全路径。 -u user_list : 定义作业将在运行结点上以哪个用户名来运行。 -v variable_list : 定义export到本作业的环境变量的扩展列表。 -V : 表明qsub命令的所有环境变量都export到此作业。 -W additional_attributes : 作业的其它属性。 -z : 指明qsub命令提交作业后,不在终端显示作业号。 (2) 运行脚本同LINUX下一般的运行脚本文件。 [注]:脚本文件中的mpirun_rsh命令行中的节点列表文件要用环境变量表示 $PBS_NODEFILE,这个环境变量表示由pbs自动分配给作业的节点列表; 节点数为命令行中指定的进程数。 格式如下: mpirun_rsh –np 进程数 –hostfile $PBS_NODEFILE 可执行程序名 命令详解如下:
|
联系客服