如何如何使用使用pbs 提交作业
1 串行任务提交
用户通过qsub 命令来向系统提交任务,有两种方式提交:脚本方式和命令行方式。(一
般情况下,不允许root 用户使用qsub 命令提交作业)
1.1 脚本方式提交
用户将需要执行的程序或命令写入脚本中,再加入一些必要或者可选的语句,就可以通过脚本方式提交。脚本提交比较方便,用户可以用最简单的文字编辑器(例如vi )编写一个脚本,然后使用qsub 命令提交该脚本,pbs 会按照脚本内容执行相应的任务。脚本提交的不足之处就是需要用户执行任务前编写脚本。 脚本方式提交任务的一般格式为:qsub [script_name],script_name 是任务脚本的名称。
下面介绍pbs 任务脚本的编写方法。 pbs 任务脚本包括三部分:
shell 说明语句:用来说明用户使用的是哪种shell ,例如 #!/bin/sh 说明用户需要
使用Bourne shell ,如果用户没有指定,则默认为 Bourne shell pbs 指示语句:pbs 指示语句是用户用来请求任务运行时所需的资源或设置任务
的一些属性的。以#PBS 开头,如#PBS –N taskname 是用来设置任务名称的。pbs 指示语句是可选的,用户可以不用关心它如何写,系统会自动设置。
pbs 指示句的一个主要作用是请求任务执行时所需要的系统资源,如cpu 数
目,存储容量,运行时间,运行优先级等等。以脚本方式提交的任务的资源请求是通过pbs 指示语句,一般格式为 #PBS –l [选项=] [选项对应的值],如#PBS –l ncpus=5表示请求5个cpu 为之服务。系统资源如下表所示
资源 描述
举例 arch 所需要的系统结构,只用在资源块中 -l arch=linux cput 任务的所有进程拥有的最大cpu 执行时间 -l cput=1:00:00 file 任务能够创建的文件的大小 -l file=45mb nodes 主机的个数
-l nodes=2 ppn 每个主机的处理器个数 -l nodes=2:ppn=2 host
指定执行主机的名称
-l nodes=X:host 分配X 个主机名称 中含有host 的执行 节点
mem 任务的所有进程能够分配到的最大物理内存数 -l mem=100mb ncpus 请求的cpu 数
-l ncups=5 nice 任务运行时的nice 优先级值
-l nice=3 pcput 任务的任何一个进程拥有的最大cpu 执行时间 -l pcput=1:00:00 pmem 任务的任何一个进程能够分配到的最大物理内存数 -l pmem=45mb pvmem 任务的任何一个进程能够使用的虚拟内存的最大数 -l pvmem=100mb vmem 任务的所有并发进程能够使用的最大虚存数 -l vmem=100mb walltime
任务可以处于运行态的最大wall-clock 时间
-l walltime=1:00:00