当前位置:文档之家› PBS作业调度使用方法

PBS作业调度使用方法

PBS作业调度使用方法:1.IBM HPC Platform 作业提交流程用户需要使用集群资源进行作业计算时,需要使用作业调度系统。

IBM HPC Platform集群采用的是开源的Torque+Maui作业调度系统。

●任何用户都需要产生Job_que.sh任务作业脚本:>> genQue当前文件夹下会产生一个Job_que.sh 的shell作业脚本文件●编辑Job_que.sh任务作业脚本:>> vi Job_que.sh●提交Job_que.sh任务作业脚本:>> qsub Job_que.sh注意:在Job_que.sh中,所有任务的运行时间超过120小时的情况下,job作业将会被自动停止!如果有疑问和延长作业运行时间的需要请直接联系管理员。

具体的更多关于任务作业脚本的说明、使用和提交请参考vi和本章第2小节:Torque PBS作业调度系统使用说明。

2.Torque PBS作业调度系统使用说明Torque PBS 提供对批处理作业和分散的计算节点(Compute nodes)的控制。

PBS是Protable Batch System的缩写,是一个任务管理系统。

当多个用户使用同一个计算资源时,每个用户用PBS脚本提交自己的任务,由PBS对这些任务进行管理和资源的分配。

●matlab作业的PBS脚本说明:#!/bin/sh#PBS -N JOB#PBS -l nodes=1:ppn=8#PBS -l feature=xe#PBS -l naccesspolicy=singlejob#PBS -o RunJob.out#PBS -e RunJob.err#PBS -l walltime=120:00:00#PBS -q batchecho --------- `date` ----------echo HomeDirectory is $PWDechoecho Current Dir is $PBS_O_WORKDIRechocd $PBS_O_WORKDIRecho "------------This is the node file -------------"cat $PBS_NODEFILEecho "-----------------------------------------------"cat $PBS_NODEFILE > host.mpdnp=$(cat $PBS_NODEFILE | wc -l)echo The number of core is $npechoecho#-----------------------------------------------------## OpenMPI Job Submitting Example ### mpirun -np $np -machinefile host.mpd $BINPATH ...###-__--------------------------------------------------## -__- have fun! #matlab –nojvm –nodesktop < test.m > log将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。

最后可以通过查看我那件下面log文件查看程序运行结果。

串行作业C程序作业的PBS脚本说明:使用vi命令编辑一段最简单的串行C语言程序hello.c:>> vi hello.c使用C编译器编译hello.c程序,生成可执行命令hello:>> icc –o hello hello.c成功编译后,修改PBS作业提交脚本Job_que.sh,如下:>> genQue>> vi Job_que.sh其中我们只使用一个核作为计算资源!#!/bin/sh#PBS -N JOB#PBS -l nodes=1:ppn=1#PBS -l feature=xe#PBS -l naccesspolicy=singlejob#PBS -o RunJob.out#PBS -e RunJob.err#PBS -l walltime=120:00:00#PBS -q batchecho --------- `date` ----------echo HomeDirectory is $PWDechoecho Current Dir is $PBS_O_WORKDIRechocd $PBS_O_WORKDIRecho "------------This is the node file -------------"cat $PBS_NODEFILEecho "-----------------------------------------------"cat $PBS_NODEFILE > host.mpdnp=$(cat $PBS_NODEFILE | wc -l)echo The number of core is $npechoecho#-----------------------------------------------------## OpenMPI Job Submitting Example ### mpirun -np $np -machinefile host.mpd $BINPATH ...###-__--------------------------------------------------## -__- have fun! #./hello > log将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。

最后可以通过查看我那件下面log文件查看程序运行结果。

并行MPI作业C程序作业的PBS脚本说明:使用vi命令编辑一段最简单的串行C语言程序mpihello.c:>> vi mpihello.c使用MPI C编译器编译hello.c程序,生成可执行命令hello:>>mp icc –o mpihello mpihello.c成功编译后,修改PBS作业提交脚本Job_que.sh,如下:>> genQue>> vi Job_que.sh其中我们只使用一个核作为计算资源!#!/bin/sh#PBS -N JOB#PBS -l nodes=1:ppn=4#PBS -l feature=xe#PBS -l naccesspolicy=singlejob#PBS -o RunJob.out#PBS -e RunJob.err#PBS -l walltime=120:00:00#PBS -q batchecho --------- `date` ----------echo HomeDirectory is $PWDechoecho Current Dir is $PBS_O_WORKDIRechocd $PBS_O_WORKDIRecho "------------This is the node file -------------"cat $PBS_NODEFILEecho "-----------------------------------------------"cat $PBS_NODEFILE > host.mpdnp=$(cat $PBS_NODEFILE | wc -l)echo The number of core is $npechoecho#-----------------------------------------------------## OpenMPI Job Submitting Example ### mpirun -np $np -machinefile host.mpd $BINPATH ...###-__--------------------------------------------------## -__- have fun! #Mpirun –np $np mpihello > log将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。

最后可以通过查看我那件下面log文件查看程序运行结果。

3.Torque PBS作业调度系统命令说明PBS脚本文件由脚本选项和运行脚本两部分组成:i.PBS作业脚本选项(若无-C选项,则每项前面加‘#PBS’);ii.运行脚本同LINUX下一般的运行脚本文件。

脚本中#PBS为脚本选项,用于设置一些参数:●#PBS –N表示任务名称。

name限15 个字符,首字符为字母,无空格。

●#PBS –l表示资源列表,用于设定特定任务所需的一些参数。

这里的nodes表示并行环境下可以使用的节点数,而walltime表示任务最大时限,而cput 表示cpu时间的最大时限,运行时间和cpu使用时间超过对应的时限,任务就会以超时退出。

这三个参数不是PBS脚本参数,而是并行环境所需的参数。

●#PBS -j表示系统输出,如果oe,则标准错误输出(stderr)和标准输出(stdout)合并为stdout,如果是eo,则合并为stderr,如果没有设定或设定为n,则stderr和stdout 分开。

●#PBS -q表示当前任务选用的队列。

在并行环境下,一个系统中往往有多个队列,任务提交后,将在所选的队列中排除等候。

系统中有哪些队列可以用qstat -q查看。

●#PBS-a date_time:date_time 格式为:[[[[CC]YY]MM]DD]hhmm[.SS]。

表示经过date_time 时间后作业才可以运行。

●#PBS -p priority:任务优先级,整数,[-1024,1023],若无定义则为0.●#PBS-M user_list:定义有关此作业的mail 发给哪些用户。

●#PBS -I:以交互方式运行●#PBS-l resource_list:定义资源列表。

以下为几个常用的资源种类。

cput=N :请求N 秒的CPU 时间; N 也可以是hh:mm:ss 的形式。

mem=N[K|M|G][B|W]:请求N {kilo|mega|giga}{bytes|words} 大小的内存。

相关主题