编辑: 人间点评 | 2019-07-01 |
7 3.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 如果成功,将有类似下面的输出: 37. kd50 其中 37.kd50 表示的是作业号,由两部分组成,37 表示的是作业序号,kd50 表 示的是作业管理系统的主机名,也就是登录节点名,之后可以用此作业号来查询作业 及终止此作业等.
1 此脚本中 `hostaname` 等中的是键盘左上角的反引号 `,不是右侧的 '
8 3.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=
0 Disk >
=
0 Swap >
=
0 Opsys : [NONE] Arch : [NONE] Features : [NONE] IWD: [NONE] Executable : [NONE] Bypass :
0 StartCount :
0 PartitionMask : [ALL] Flags : RESTARTABLE PE: 4.00 S t a r t P r i o r i t y :
24 cannot s e l e c t job
51 f o r p a r t i t i o n DEFAULT (non?i d l e state '
Hold '
) 从上面的 State: Hold 可以看出作业已被挂起. user@kd50:? $ checkjob 49.kd50 checking job
49 State : Running Creds : user : user group : user c l a s s : dque qos :DEFAULT WallTime : 1:07:14 of 99:23:59:59 SubmitTime : Sun Dec
2 19:02:10 (Time Queued Total : 00:00:01 E l i g i b l e : 00:00:01) StartTime : Sun Dec
2 19:02:11 Total Tasks :
4 Req [
0 ] TaskCount :
4 Partition : DEFAULT Network : [NONE] Memory >
=
0 Disk >
=
0 Swap >
=
0 Opsys : [NONE] Arch : [NONE] Features : [NONE]
12 NodeCount :
4 Allocated Nodes : [ node04 :
1 ] [ node03 :
1 ] [ node02 :
1 ] [ node01 :
1 ] IWD: [NONE] Executable : [NONE] Bypass :
0 StartCount :
1 PartitionMask : [ALL] Flags : RESTARTABLE Reservation '
49 '
( ?1:06:52 ?>
99:22:53:07 Duration :
9 9 :
2 3 :
5 9 :
5 9 ) PE: 4.00 S t a r t P r i o r i t y :
1 从上面的 State: Running 可以看出作业处于运行中,并且可以看到占用的资源状 态. 3.3.6 交交交换 换 换两 两 两个 个 个作 作 作业 业 业的 的 的排 排 排队 队 队顺 顺 顺序 序序: : :qorder 利用 qorder 可以交换两个作业的排队顺序: user@kd50:? $ qstat Job id Name User Time Use S Queue 52. kd50 job name1 user
0 H dque 53. kd50 job name2 user
0 Q dque 54. kd50 job name3 user
0 Q dque user@kd50:? $ qorder 53.kd50 54.kd50 user@kd50:? $ qstat Job id Name User Time Use S Queue 52. kd50 job name1 user