PBS作业调度应用与说明.docx

上传人:b****1 文档编号:2131466 上传时间:2023-05-02 格式:DOCX 页数:8 大小:18.65KB
下载 相关 举报
PBS作业调度应用与说明.docx_第1页
第1页 / 共8页
PBS作业调度应用与说明.docx_第2页
第2页 / 共8页
PBS作业调度应用与说明.docx_第3页
第3页 / 共8页
PBS作业调度应用与说明.docx_第4页
第4页 / 共8页
PBS作业调度应用与说明.docx_第5页
第5页 / 共8页
PBS作业调度应用与说明.docx_第6页
第6页 / 共8页
PBS作业调度应用与说明.docx_第7页
第7页 / 共8页
PBS作业调度应用与说明.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

PBS作业调度应用与说明.docx

《PBS作业调度应用与说明.docx》由会员分享,可在线阅读,更多相关《PBS作业调度应用与说明.docx(8页珍藏版)》请在冰点文库上搜索。

PBS作业调度应用与说明.docx

PBS作业调度应用与说明

PBS(PortableBatchSystem)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。

PBS的主要特点有:

代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、PVM、HPF、MPL;PBS是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一.PBS的目前包括openPBS,PBSPro和Torque三个主要分支.其中OpenPBS是最早的PBS系统,目前已经没有太多后续开发,PBSpro是PBS的商业版本,功能最为丰富.Torque是Clustering公司接过了OpenPBS,并给与后续支持的一个开源版本.

PBS的应用不同于一般的直接运行:

mpirun–npnumber./executable_file

直接运行上句,则只能在单个节点上进行并行计算。

如果要在多个节点上并行执行则要写machinefile或p4pgfile,两种文件的具体写法参考张林波等《并行计算导论》。

运行命令分别为:

      mpirun–machinefilefilename

      mpirun–p4pgfilename

应用PBS提交任务则会形成任务队列,依次执行,有效分配资源,避免资源竞争。

否则CPU时间片会轮流分配给各个人的任务,从而影响所有人的正常作业。

torquePBS提供对批处理作业和分散的计算节点(Computenodes)的控制。

∙安装Torque组件:

在一个节点上(headnode)安装pbs_server,所有计算节点上安装pbs_mom,所有计算节点和提交节点上安装PBS客户端。

至少做最基本的配置,使Torque系统跑起来,也就是使pbs_server能知道该和哪些机器通话。

∙在pbs_server上创建一个作业提交队列。

∙在集群的所有节点上指定一个clustername作为property。

这可以用qmgr命令做到。

比如:

                 qmgr-c"setnodenodeproperties=cluster-name"。

∙确保作业可以提交到节点上去。

这可以通过使用qsub命令做到。

比如:

                echo"sleep30"|qsub-lnodes=3。

1.0作业提交系统Torque个人安装总结(PBS)

1.1Torque安装(在master管理结点上)

1.解压安装包

tar-zxvftorque-2.3.0.tar.gz

2.进入到解压后的文件夹

./configure--with-default-server=master

make

makeinstall

3.打包,必须是个普通用户

1)[root@mastertorque-2.3.0]#./torque.setup

2)[root@mastertorque-2.3.0]#makepackages

把产生的tpackages,torque-package-clients-linux-x86-64.sh,torque-package-mom-linux-x86-64.sh拷贝到所有节点。

3)客户端安装

[root@mastertorque-2.3.0]#./torque-package-clients-linux-x86_64.sh-install

[root@mastertorque-2.3.0]#./torque-package-mom-linux-x86_64.sh-install

4)编辑/var/spool/torque/server_priv/nodes(需要自己建立)加入如下内容

master  np=4

node01np=4

........

node09np=4

5)启动pbs_server,pbs_sched,pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。

6)创建队列

[root@master~]#qmgr

createqueuestudents

setqueuestudentsqueue_type=Execution

setqueuestudentsPriority=40

setqueuestudentsresources_max.cput=96:

00:

00

setqueuestudentsresources_min.cput=00:

00:

01

setqueuestudentsresources_default.cput=96:

00:

00

setqueuestudentsenabled=True

setqueuestudentsstarted=True

4、在node0x(x=1-9,计算结点上)

[root@node0xtorque-2.3.0]#./torque-package-clients-linux-x86_64.sh--install

[root@node0xtorque-2.3.0]#./torque-package-mom-linux-x86_64.sh--install

然后启动pbs_mom,把pbs_mom写入/etc/rc.local

1.2TorquePBS使用

1、创建用户在master的root下

useraddtest

passwdtest

输入test密码

到/var/yp下make一下

2、配置普通用户的ssh

sutest

ssh-keygen-tdsa

cd.ssh

catid_pub.dsa>>authorized_keys

chmod600authorized_keys

3、编写作业脚本,见下文

4、启动mpd

mpdboot-n10-fmfa

mfa内容:

master:

4

node01:

4

….

node09:

4

5、提交,查询,删除作业

提交作业:

qsubpbsjob

[test1@masterpbstest]$qsubpbsjob

48.master                                  作业提交后会有一个作业号

查询作业:

qstat

[test1@masterpbstest]$qstat

 

删除作业:

qdel作业号

[test1@masterpbstest]$qdel48

2.0PBS服务开启操作流程

      我在Dawing上操作成功了!

      1)在主节点上打开PBS服务

             /etc/init.d/pbs_serverstart

      2)在主节点和其他节点打开PBS客户端。

主节点虽是服务端,但也可参加计算,因而要打开客服。

依次执行如下:

             /etc/init.d/pbs_mom  start

      3)在所有节点上打开调度器

             /etc/init.d/maui.d    start

对于这些PBS的功能开启有几个相同的参量:

             status            查看状态

             restart           重启

             stop              终止

             start              开启

      4)接下来是检查是否可以提交作业

             pbsnodes–a

返回free即表示可以提交作业。

      5)写脚本vimpbs_fdtd_TE_xyPML_MPI_OpenMP

#!

/bin/bash

#PBS-lnodes=5:

ppn=4                     规定使用的节点数nodes以及每个节点能跑多少核ppn

#PBS–Ntaskname                         任取一作业任务名taskname

cd$PBS_O_WORKDIR                    到工作目录下(此为PBS提供的环境变量)

mpirun-np20./fdtd_TE_xyPML_MPI_OpenMP

执行mpirun一句可以用-machinefile或-p4pg命令参量制定

      6)提交

             qsubpbs_fdtd_TE_xyPML_MPI_OpenMP

      7)可用qstat查看作业任务,具体参量参看下文。

流程终结!

3.0PBS常用命令和选项

3.1基本脚本写法和选项

PBS是ProtableBatchSystem的缩写,是一个任务管理系统。

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

下面是一个简单的PBS脚本:

#!

/bin/bash

#PBS-lnodes=20

#PBS-Nsnaphu

#PBS-joe

#PBS-lwalltime=24:

00:

00

#PBS-lcput=1:

00:

00

#PBS-qdque

cd$PBS_O_WORKDIR

cat$PBS_NODEFILE$PBS_NODEFILE>NODEFILE

mpirun-np./mpitest

将这个脚本保存成submit然后qsubsubmit就将这个mpitest的任务提交给了系统。

脚本中#PBS为脚本选项,用于设置一些参数。

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

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

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

#PBS-N表示任务名称。

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

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

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

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

     PBS脚本文件由脚本选项和运行脚本两部分组成。

     1)  PBS作业脚本选项(若无-C选项,则每项前面加‘#PBS’)

     2)  运行脚本同LINUX下一般的运行脚本文件格式如下:

        mpirun–np进程数./可执行程序名

3.2PBS命令与选项

PBS提供的4条命令用于作业管理

1.qsub命令:

用于提交作业脚本

命令格式:

qsub      [-adate_time]  

[-epath][-I]  [-lresource_list]     

[-Muser_list][-Nname]

[-Spath_list]  [-uuser_list]  

[-Wadditional_attributes]      

例:

#qsubaaa.pbs        提交某作业,系统将产生一个作业号

2.qstat命令:

用于查询作业状态信息

命令格式:

qstat[-f][-a][-i][-n][-s][-R][-Q][-q][-B][-u]

参数说明:

-f                  jobid列出指定作业的信息

-a                 列出系统所有作业

-i                  列出不在运行的作业

-n                 列出分配给此作业的结点

-s                 列出队列管理员与scheduler所提供的建议

-R                 列出磁盘预留信息

-Q                操作符是destinationid,指明请求的是队列状态     

-q                列出队列状态,并以alternative形式显示

-auuserid     列出指定用户的所有作业

-B                列出PBSServer信息

-r                 列出所有正在运行的作业

-Qfqueue     列出指定队列的信息

-u                若操作符为作业号,则列出其状态。

若操作符为destinationid,则列出运行在其上的属于user_list中用户的作业状态。

例:

#qstat-f211     查询作业号为211的作业的具体信息。

3.qdel命令:

用于删除已提交的作业

命令格式:

qdel[-W间隔时间]作业号

例:

#qdel-W15211           15秒后删除作业号为211的作业

4.qmgr命令:

用于队列管理

     qmgr-c"createqueuebatchqueue_type=execution"

     qmgr-c"setqueuebatchstarted=true"

     qmgr-c"setqueuebatchenabled=true"

     qmgr-c"setqueuebatchresources_default.nodes=1"

     qmgr-c"setqueuebatchresources_default.walltime=3600"

     qmgr-c"setserverdefault_queue=batch"

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2