为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

pbs作业提交

2012-09-18 6页 pdf 238KB 157阅读

用户头像

is_962008

暂无简介

举报
pbs作业提交 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 如何使用 pbspbspbspbs提交作业 1 串行任务提交 用户通过qsub命令来向系统提交任务,有两种方式提交:脚本方式和命令行方式。(一 般情况下,不允许root用户使用qsub命令提交作业) 1.1 脚本方式提交 用户将需要执行的程序或命令写入脚本中,再加入一些必要或者可选的...
pbs作业提交
国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 如何使用 pbspbspbspbs提交作业 1 串行任务提交 用户通过qsub命令来向系统提交任务,有两种方式提交:脚本方式和命令行方式。(一 般情况下,不允许root用户使用qsub命令提交作业) 1.1 脚本方式提交 用户将需要执行的程序或命令写入脚本中,再加入一些必要或者可选的语句,就可以通 过脚本方式提交。脚本提交比较方便,用户可以用最简单的文字编辑器(例如 vi)编写一个 脚本,然后使用 qsub命令提交该脚本,pbs会按照脚本内容执行相应的任务。脚本提交的不 足之处就是需要用户执行任务前编写脚本。 脚本方式提交任务的一般为:qsubqsubqsubqsub [script_name][script_name][script_name][script_name],script_name 是任务脚本的名 称。 下面介绍 pbs任务脚本的编写。 pbs任务脚本包括三部分: � shell说明语句:用来说明用户使用的是哪种 shell,例如 #!/bin/sh#!/bin/sh#!/bin/sh#!/bin/sh说明用户需要 使用 Bourne shell,如果用户没有指定,则默认为 Bourne shell � pbs 指示语句:pbs 指示语句是用户用来请求任务运行时所需的资源或设置任务 的一些属性的。以#PBS#PBS#PBS#PBS开头,如#PBS#PBS#PBS#PBS ––––NNNN tasknametasknametasknametaskname 是用来设置任务名称的。pbs 指示语句是可选的,用户可以不用关心它如何写,系统会自动设置。 � pbs指示句的一个主要作用是请求任务执行时所需要的系统资源,如 cpu数 目,存储容量,运行时间,运行优先级等等。以脚本方式提交的任务的资源 请求是通过 pbs指示语句,一般格式为 #PBS#PBS#PBS#PBS ––––llll [[[[选项=]=]=]=] [[[[选项对应的值]]]],如 #PBS#PBS#PBS#PBS ––––llll ncpus=5ncpus=5ncpus=5ncpus=5示请求 5个 cpu为之服务。系统资源如下表所示 资源 描述 举例 arch 所需要的系统结构,只用在资源块中 -l arch=linux cput 任务的所有进程拥有的最大 cpu执行时间 -l cput=1:00:00 file 任务能够创建的文件的大小 -l file=45mb 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 custom resources 用户自定义资源 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 注:表中最常用的几种资源是:walltime, ncpus, mem, host。其它可以不用太关心。 � 资源请求的两种方式: a、资源块方式:资源块是将任务所需的资源作为一个整体,这个整体中说明 了所需要的各种资源的数目。其格式为:-l-l-l-l select=[N:]chunk[+[N:]chunkselect=[N:]chunk[+[N:]chunkselect=[N:]chunk[+[N:]chunkselect=[N:]chunk[+[N:]chunk…………]]]], 如qsubqsubqsubqsub ––––llll select=2:ncpus=3:mem=4gb:arch=linuxselect=2:ncpus=3:mem=4gb:arch=linuxselect=2:ncpus=3:mem=4gb:arch=linuxselect=2:ncpus=3:mem=4gb:arch=linux ,select=2表示需要2个这样 的资源块,一个资源块包括3个cpu,4gb的内存,系统结构是linux,即总 共需要6个cpu,8gb的内存。再如: -l-l-l-l select=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solarisselect=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solarisselect=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solarisselect=2:ncpus=1:mem=10GB+3:ncpus=2:mem=8GB:arch=solaris 注意中间的+号,是两个资源块的分隔符 b、请求全任务(job-wide)资源:格式为 ––––llll keyword=value[,keyword=valuekeyword=value[,keyword=valuekeyword=value[,keyword=valuekeyword=value[,keyword=value .........].].].] 如:qsubqsubqsubqsub -l-l-l-l ncpus=4,mem=123mb,arch=linuxncpus=4,mem=123mb,arch=linuxncpus=4,mem=123mb,arch=linuxncpus=4,mem=123mb,arch=linux � 任务(程序或命令):可以是用户程序(如C程序),也可以是系统命令 下面是一个完整的任务脚本例子,脚本名为mytask: 1) #!/bin/sh //指明所用的 shell 2) #PBS –N mytask //设置任务名称 3) #PBS -l walltime=1:00:00 //请求任务执行时间 4) #PBS -l select=ncpus=4:mem=400mb //请求任务执行所需资源 5) #PBS -j oe //设置相关属性(文件合并) 6) date /t //系统命令(打印日期时间) 7) .\my_application //所要执行的任务(当前目录名为 // my_application的任务) 8) date /t // 系统命令 第 1行说明所用的 shell;第 2至 5行是 pbs指示语句,设置了任务的一些属性,并 请求了资源;第 6至 8行是要执行的命令及任务。 编写完脚本后,使用 qsub命令提交脚本,在 shell下输入: qsubqsubqsubqsub mytaskmytaskmytaskmytask 后敲回车。 系统会输出一个任务标识符:sequence-number.servernamesequence-number.servernamesequence-number.servernamesequence-number.servername,如 220.cnode01。 sequence-number是任务编号,后面需要用这个号查看任务的执行状态,servername 是 pbs server的名称。 1.2 命令行方式提交 命令行方式提交不用写脚本,用户可以直接从命令行输入。输入的内容基本上和在脚本 中输入的相同。其基本格式如下: qsubqsubqsubqsub //输入qsub命令后回车 [directives][directives][directives][directives] //pbs指示语句(以#PBS为前缀) [tasks][tasks][tasks][tasks] //任务或命令 ctrl-Dctrl-Dctrl-Dctrl-D //结束输入,提交任务 对于上面用脚本方式提交的任务,用命令行方式提交的格式如下: qsubqsubqsubqsub 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 #PBS#PBS#PBS#PBS ––––NNNNmytaskmytaskmytaskmytask #PBS#PBS#PBS#PBS ––––llll walltime=1:00:00walltime=1:00:00walltime=1:00:00walltime=1:00:00 #PBS#PBS#PBS#PBS ––––llll selectselectselectselect=ncpus=4:mem=400mb=ncpus=4:mem=400mb=ncpus=4:mem=400mb=ncpus=4:mem=400mb #PBS#PBS#PBS#PBS -j-j-j-j oeoeoeoe datedatedatedate /t/t/t/t ./my_application./my_application./my_application./my_application datedatedatedate /t/t/t/t qsub命令的常用选项有: 注:以命令行方式提交任务时,这些命令选项都要以 pbs指示语句的格式给出,即选 项之前要加前缀#PBS。 2 任务状态查看 任务提交后,用户如果要知道任务的当前运行状态,可以通过 qstat命令查询。qstat命 令的常用选项有: � 无选项:当 qstat命令不带任何选项时,以默认方式显示任务信息,例如 [yaliang@cnode03 mpi]$ qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- ------------ - ----- 569.cnode01 test yaliang 0 R small 其中,Job id是任务的标识符,Name是任务名称,User是任务所有者,Time Use是 CPU使用时间,S是任务当前状态(本例中 R表示正在运行),Queue表示任务所在 选项 取值 功能 -a date_time 年月日时分秒 指定任务可以开始执行的时间(精确到秒) -e path 路径名 指定错误文件的输出路径 -h 无 使任务暂时阻塞,推迟执行 -J X-Y X,Y是向量作业下标 执行一个作业向量 -j join oe:错误报告文件与输出文件 合并成一个输出文件 eo:错误报告文件和输出文件 合并成一个错误报告文件 将错误报告文件与输出文件合并 -l resources_list 资源列表 资源请求列表 -N name 任务名称 指定任务名称 -o path 路径名 指定输出文件路径 -p priority -1024 到+1023 之间的一个 值 指定任务优先级(依赖于操作系统的调度策 略) -q destination 队列名称或执行节点名称 指定任务执行的队列或者执行节点 -r value 布尔值 n:不可重新执行 y:可重新执行 说明任务是否可以重新执行 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 队列。任务的状态列表如下: 再举一例,使用-a-a-a-a选项指定任务开始执行时间: [yaliang@cnode03 mpi]$ qsub -a 2102 test 571.cnode01 [yaliang@cnode03 mpi]$ qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- ----------- --- -------- 570.cnode01 test yaliang 0 W default 此时任务状态(S)显示W,表示任务正在等待执行时间的到来 � -a-a-a-a:qstatqstatqstatqstat ––––aaaa 列举出当前执行节点上所有任务的情况,比无选项时列举的项目更多, 例如: --其中常用的几项是:NDS表示请求的节点数目,Req’d Memory表示请求的内存 大小,Req’d Time 表示请求的 cpu时间,S表示任务的当前状态,Elap Time 表示任 务已经运行的时间。由于本例中没有请求节点数目、内存大小以及 cpu时间,所以均 没有显示,而任务当前处于等待状态,所以 Elap Time也没有显示。 � -f-f-f-f:qstatqstatqstatqstat ––––ffff sequence-numbersequence-numbersequence-numbersequence-number可以查询任务标识号为 sequence-number 的任务状态, 这个任务标识号是在任务提交时系统自动赋予的。例如: [yaliang@cnode03 mpi]$ qstat -f 572 Job Id: 572.cnode01 Job_Name = test Job_Owner = yaliang@cnode03 job_state =W queue = default server = cnode01 Checkpoint = u 状态(S) 描述 B 只用于任务向量,表示任务向量已经开始执行 E 任务在运行后退出 H 任务被服务器或用户或者管理员阻塞 Q 任务正在排队中,等待被调度运行 R 任务正在运行 S 任务被服务器挂起,由于一个更高优先级的任务需要当前任务的资源 T 任务被转移到其它执行节点了 U 由于服务器繁忙,任务被挂起 W 任务在等待它所请求的执行时间的到来(qsub -a) X 只用于子任务,表示子任务完成 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 ctime = Fri Dec 5 21:06:34 2008 Error_Path = cnode03:/home/yaliang/mpi/test.e572 Execution_Time = Sat Dec 6 21:02:00 2008 Hold_Types = n Join_Path = n Keep_Files = n Mail_Points = bae Mail_Users = ltq.yaliang@stu.xjtu.edu.cn mtime = Fri Dec 5 21:06:54 2008 Output_Path = cnode03:/home/yaliang/mpi/test.o572 Priority = 0 qtime = Fri Dec 5 21:06:34 2008 Rerunable = True Resource_List.cput = 01:00:00 Resource_List.nodect = 1 Resource_List.nodes = 1 Variable_List = PBS_O_HOME=/home/yaliang,PBS_O_LANG=en_US.UTF-8, PBS_O_LOGNAME=yaliang, PBS_O_PATH=/usr/local/Fluent.Inc/bin:/usr/local/matlab704/bin:/opt/int el/fce/10.0.023/bin:/opt/intel/idbe/10.0.023/bin:/opt/intel/cce/10.0.02 3/bin:/usr/local/mpich2-1.0.7/bin:/usr/java/jdk1.5.0_03/bin:/usr/java/j dk1.5.0_03/jre/bin:/usr/local/TSCMSS:/usr/kerberos/bin:/usr/local/bin:/ bin:/usr/bin:/usr/X11R6/bin:.:/home/yaliang/bin, PBS_O_MAIL=/var/spool/mail/yaliang,PBS_O_SHELL=/bin/bash, PBS_O_HOST=cnode03,PBS_O_WORKDIR=/home/yaliang/mpi,PBS_O_QUEUE=defa ult comment = Not Running: Queue not an execution queue. � -u-u-u-u:qstatqstatqstatqstat ––––uuuu user1user1user1user1可以查询用户 user1提交的所有任务的状态。例如: 注:需要注意的一点是,当任务已经完成后,qstat命令就不能再查询任务的状态了。这时 可以使用“tracejobtracejobtracejobtracejob sequence-numbersequence-numbersequence-numbersequence-number”命令来查看任务的历史信息。 任务的错误报告以及输出结果都保存到指定的路径了,如果没有指定,则保存在用户根目录 下面,即/home/user1//home/user1//home/user1//home/user1/。 错误报告文件的文件名格式为:taskname.esequence-numbertaskname.esequence-numbertaskname.esequence-numbertaskname.esequence-number,例如:mytask.e239 输出文件的文件名格式为:taskname.osequence-numbertaskname.osequence-numbertaskname.osequence-numbertaskname.osequence-number,例如:mytask.o239 在这两个文件中可以查看你的程序的执行结果或是错误执行结果(如果有错误的话)。 3:任务的删除 国家高性能计算中心(西安)------PBS提交作业使用指南 HomePaage:http://nhpcc.xjtu.edu.cn Email: nhpccxa@mail.xjtu.edu.cn TEL:029-82663951-802 可以删除一个正在执行或是处于等待队列中的任务/作业。删除任务使用 qdel命令。 格式如下: qdel sequence-number // sequence-number是任务编号,可以使用 qstat查询 使用 pbspbspbspbs来进行作业提交的详细过程描述 示例一:使用 pbspbspbspbs来提交mpimpimpimpi并行程序 比如我要提交一个计算 的mpi程序。程序的源文件为 mpi.cπ 我写一个 pbs脚本 test如下: #!/bin/sh #PBS -N test #PBS -M ltq.yaliang@stu.xjtu.edu.cn #PBS -m bae cd /home/yaliang/mpi //程序所在的路径 mpdboot -n 10 -f host mpicc -o mpi mpi.c mpiexec -machinefile host -n 2 ./mpi 其中 host文件内容如下:(对于经常进行mpi并行计算的专业人员来说,这里的介绍是多余 的,你们比我对mpi的了解要深刻的多^_^) cnode01 cnode02 cnode03 cnode04 cnode05 cnode06 cnode07 cnode08 cnode09 cnode10 脚本写完之后就可以提交了: qsub test 任务执行完后,就可以到相应的目录下查看作业的执行结果。test.osequence-number为 执行结果文件,test.esequence-number为错误输出文件。 示例二:使用 pbspbspbspbs来提交需要图形界面进行交互的作业,以图形显示 fluentfluentfluentfluent界面为例:(此 时需要在你的 windowswindowswindowswindows下打开 exceedexceedexceedexceed客户端) 你需要写一个脚本 test如下 export DISPLAY=your ip:0 fluent 注:你必须使用一个外部 ip,即不是 192.168.x.x的 ip,命令中的 your ip是你的 ip地址,注 意 ip后面的:0一定要有,export 后面有一个空格。 然后 qsub test 提交,就可以看到 fluent图形操作界面了。 注意:所有非图形界面的程序都可以使用 pbs进行作业的提交。 目前 matlab还不能使用 pbs调出图形界面! 希望大家能够积极配合我们的工作,有问题及时向反馈,谢谢!希望大家能够积极配合我们的工作,有问题及时向反馈,谢谢!希望大家能够积极配合我们的工作,有问题及时向反馈,谢谢!希望大家能够积极配合我们的工作,有问题及时向反馈,谢谢!
/
本文档为【pbs作业提交】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索