PBS作业调度应用与说明
时间:2026-01-20
时间:2026-01-20
PBS
PBS作业调度应用与说明[转自极度空间]
PBS(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、PVM、HPF、MPL;PBS是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一. PBS的目前包括openPBS, PBS Pro和Torque三个主要分支. 其中OpenPBS是最早的PBS系统, 目前已经没有太多后续开发, PBS pro是PBS的商业版本, 功能最为丰富. Torque是Clustering公司接过了OpenPBS, 并给与后续支持的一个开源版本.
PBS的应用不同于一般的直接运行: mpirun –np number ./executable_file
直接运行上句,则只能在单个节点上进行并行计算。如果要在多个节点上并行执行则要写machinefile或p4pgfile,两种文件的具体写法参考张林波等《并行计算导论》。运行命令分别为:
mpirun –machinefile filename
mpirun –p4pg filename
应用PBS提交任务则会形成任务队列,依次执行,有效分配资源,避免资源竞争。否则CPU时间片会轮流分配给各个人的任务,从而影响所有人的正常作业。
torque PBS 提供对批处理作业和分散的计算节点(Compute nodes)的控制。
安装Torque组件:在一个节点上(head node)安装pbs_server,所有计算节点上安装pbs_mom,
所有计算节点和提交节点上安装PBS客户端。至少做最基本的配置,使Torque系统跑起来,也就是使pbs_server能知道该和哪些机器通话。
在pbs_server上创建一个作业提交队列。 在集群的所有节点上指定一个cluster name作为property。这可以用qmgr命令做到。比如: qmgr -c "set node node properties=cluster-name"。
确保作业可以提交到节点上去。这可以通过使用qsub命令做到。比如:
echo "sleep 30" | qsub -l nodes=3。
1.0 作业提交系统Torque个人安装总结(PBS)
1.1 Torque安装(在master管理结点上)
1. 解压安装包
tar -zxvf torque-2.3.0.tar.gz
2. 进入到解压后的文件夹
./configure --with-default-server=master
PBS
make
make install
3. 打包, <user>必须是个普通用户
1) [root@master torque-2.3.0]# ./torque.setup <user>
2) [root@master torque-2.3.0]# make packages
把产生的 tpackages , torque-package-clients-linux-x86-64.sh, torque-package-mom-linux-x86-64.sh 拷贝到所有节点。
3) 客户端安装
[root@master torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh -install
[root@master torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh -install
4)编辑/var/spool/torque/server_priv/nodes (需要自己建立) 加入如下内容
master np=4
node01 np=4
........
node09 np=4
5)启动pbs_server,pbs_sched,pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。
6)创建队列
[root@master ~]# qmgr
create queue students
set queue students queue_type = Execution
set queue students Priority = 40
set queue students resources_max.cput = 96:00:00
PBS
set queue students resources_min.cput = 00:00:01
set queue students resources_default.cput = 96:00:00
set queue students enabled = True
set queue students started = True
4、在node0x (x=1-9,计算结点上)
[root@node0x torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@node0x torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
然后启动pbs_mom ,把pbs_mom写入/etc/rc.local
1.2 Torque PBS使用
1、创建用户在master的root下
useradd test
passwd test
输入test密码
到/var/yp下make一下
2、配置普通用户的ssh
su test
ssh-keygen -t dsa
cd .ssh
cat id_pub.dsa >> authorized_keys
chmod 600 authorized_keys
3、编写作业脚本,见下文
4、启动mpd
PBS
mpdboot -n 10 -f mfa
mfa内容:
master:4
node01:4
….
node09:4
5、提交,查询,删除作业
提交作业:qsub pbsjob
[test1@master pbstest]$ qsub pbsjob
48.master 作业提交后会有一个作业号
查询作业:qstat
[test1@master pbstest]$ qstat
删除作业:qdel 作业号
[test1@master pbstest]$ qdel 48
2.0 PBS服务开启操作流程
我在Dawing上操作成功了!!
1) 在主节点上打开PBS服务
/etc/init.d/pbs_server start
2) 在主节点和其他节点打开PBS客户端。主节点虽是服务端,但也可参加计算,因而要打开客服。依次执行如下:
/etc/init.d/pbs_mom start
3) 在所有节点上打开调度器
PBS
/etc/init.d/maui.d start
对于这些PBS的功能开启有几个相同的参量:
status 查看状态
restart 重启
stop 终止
start 开启
4) 接下来是检查是否可以提交作业
pbsnodes –a
返回free即表示可以提交作业。
5) 写脚本vim pbs_ fdtd_TE_xyPML_MPI_OpenMP
#!/bin/bash
#PBS -l nodes=5:ppn=4 规定使用的节点数nodes以及每个节点能跑多少核ppn
#PBS –N taskname 任取一作业任务名taskname
cd $PBS_O_WORKDIR 到工作目录下(此为PBS提供的环境变量)
mpirun -np 20 ./fdtd_TE_xyPML_MPI_OpenMP
执行mpirun一句可以用-machinefile或-p4pg 命令参量制定
6) 提交
qsub pbs_ fdtd_TE_xyPML_MPI_Op …… 此处隐藏:3280字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:9_机器人通讯接口