PBS作业调度使用方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 batch
echo --------- `date` ----------
echo HomeDirectory is $PWD
echo
echo Current Dir is $PBS_O_WORKDIR
echo
cd $PBS_O_WORKDIR
echo "------------This is the node file -------------"
cat $PBS_NODEFILE
echo "-----------------------------------------------"
cat $PBS_NODEFILE > host.mpd
np=$(cat $PBS_NODEFILE | wc -l)
echo The number of core is $np
echo
echo
#-----------------------------------------------------#
# 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 batch
echo --------- `date` ----------
echo HomeDirectory is $PWD
echo
echo Current Dir is $PBS_O_WORKDIR
echo
cd $PBS_O_WORKDIR
echo "------------This is the node file -------------"
cat $PBS_NODEFILE
echo "-----------------------------------------------"
cat $PBS_NODEFILE > host.mpd
np=$(cat $PBS_NODEFILE | wc -l)
echo The number of core is $np
echo
echo
#-----------------------------------------------------#
# OpenMPI Job Submitting Example #
#
# mpirun -np $np -machinefile host.mpd $BINPATH ...
#
#
#-__--------------------------------------------------#
# -__- have fun! #
./hello > log
将这个脚本保存成为Job_que.sh后,使用然后qsub Job_que.sh就将这个任务提交给了系统。最后可以通过查看我那件下面log文件查看程序运行结果。