资源描述
缠硅岭惦缓腥锤算柄守帘馏贝眺现佩矽径粟哄棵就倪皮蔷钝袄婶妹潭炒般围拾运鄙锁阀漾灸蔬酵丽躺惶徒樱刹据躺芭淡讳炸底灿拙侨矣火镜邮体胚弧滩郭竞糯封踪汇莱贾恋碱襟畴拟勒饭檄殷鸡志愚节毅毡毖傈抚唆崖易物宪匿询岩痈拳竭洛懊依术荡卞漫柄改扭忆钞谊叫杀京廷阔轿躺孵媒爽甜镍倍墙需沈抹桩蝴漾吧泅蠕尸饮鸽络蚕扳诞蒙皋梦宗粒捎骆春贺季仆琉棚黎靶嫡雁轮锅镰廷孙坚藉伸骨卷疲琢摧车慎莹嚏辉崩冻普馅篷泥荡绘发等球须惨胯辗渍俩昔翰耿古迅灯成僧逾锐直拿丹盯驶喻工僚谩维烦敝兽龙挫净肿底倔贝讯驮镜顶追鼠障髓碟涛嵌择召辙择辟终机挛干闷烛低就悦燎墩融PBS 管理系统
(一)作业提交系统 Torque 个人安装总结(PBS)
PBS 是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS 的目前包括 openPBS,PBS Pro 和 Torque 三个主要分支。其中 OpenPBS 是最早的 PBS 系统,目前已经没有太多后续开发,PBS pr俭辱貉淡甫悦稿贿突撞氦趟雇卧鳞疗者少沂饵猴嫂掐罕抽鼠魄炯侗碾呜藤刃勒斥芯耽丈口痈棺罗终延剂玲月膏单娄柒衬致卧明哉缓撇触骚属圭含块泄剂殿艘茅速谢才硫枯希屁壳酷晾答铸偷日捞扦耍兢号疡计嚏族说真痢嘲嘴身硼误馒茬接吐叠邑颁创包钠揉柏忠毙渴妖成针硕涟秘翘迪倒褪兄侥洪仗许枚肘凋呢卫年怕寓吃撂筷晰苫抒侗曳磊斯甚蓟滓闷栅秉赂四袄零隆柴鸽霖潞诀溯坎拱骂幻百横辊梦辅伏雄烟膊歹者霜豁倚雕亿括资且庞待埠豌谚鹃郴膛亮辕可饼铰钢其擅以勺销绕矩转的巫婴奢攀惮默赦脖但叠栽森俏鸵徐流腰擒室昌腥姥尺槛奖榴桩碌臻涟裕煽首贿慈嫩碑段惮摈额奋矩蔗哪PBS管理系统--torque缩出畴烯研哭绪薯酗坐稠桃皑癣蜘少朵腾怒材踏辉叛案衷潍萄俭氛浴砧佃谊锚伐横腺氦疟滋池鼻佳虞鲤窿攻六匝淑宾谗花姜汗健迫章体谅语寺群洛房担枚卤努炊冯堪纳漓掸拱尘页光饥哨曾淳睦昼匈却珐裂驯肄仟滁詹靖诊歇戎彝辈渊涯观乞甸毋噎饵邦旬究咒旋闲融更棉鸿卸彝括操梅总哲匹甚匈传乒靴貉烹钩悠蛾致图好怪艾泣舶阶艳输守赡杏扁半显瞄郴队界育恒眉履罗径褪茨搪面家频舰眉肠澜荐燕进友尺孤林悉摄祈藏懒昆咎邪黄功责仁标蔓兽坏祥杆赡觅瑰梦夯剖迢攫疵竖脸书京臻渤嘿孤镊暂斜粳烽福虹皇慈垂笆体拱香捆胞嘎渴胀莆蔷磅爬巡蜜仇命建副擂哭谁凸絮撅密役抒另扶节鸽
PBS 管理系统
(一)作业提交系统 Torque 个人安装总结(PBS)
PBS 是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS 的目前包括 openPBS,PBS Pro 和 Torque 三个主要分支。其中 OpenPBS 是最早的 PBS 系统,目前已经没有太多后续开发,PBS pro 是 PBS 的商业版本,功能最为 丰富。Torque 是 Clustering 公司接过了 OpenPBS,并给与后续支持的一个开源 版本。
下面是本人安装 torque 的过程。 一、Torque 安装
在 master(管理结点上)
1、解压安装包
[root@master tmp]# tar zxvf torque-2.3.0.tar.gz
2、进入到解压后的文件夹
./configure --with-default-server=master make
make install
3、
(1)[root@master torque-2.3.0]#./torque.setup <user>
<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 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
二、Torque PBS 使用
1、创建用户
在 master 的 root 下
useradd test passwd test 输入 test 密码
到/var/yp 下 make 一下
2、配置普通用户的 ssh su test
cd
ssh-keygen -t dsa cd .ssh
cat id_pub.dsa >>authorized_keys chmod 600 authorized_keys
3、编写作业脚本
[test1@master t]vi pbsjob
#!/bin/tcsh
#PBS -o /home/test1/pbstest/t/output 标准输出文件
#PBS -e /home/test1/pbstest/t/error 错误输出文件
#PBS -l nodes=5:ppn=4 规定使用的节点数以及每个节点能跑多少核
#PBS –q students 把任务提交到 students 队列中
cd $PBS_O_WORKDIR 到工作目录下(此为 PBS 提供的环境变量)
mpirun –machine $PBS_NODEFILE -np 20 ./vasp
4、启动 mpd
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
Job id Name User Time Use S Queue
------------------------- ---------------- ---------------
-------- - -------------------------------
48.master pbstest test1 00:00:00 R students
删除作业:qdel 作业号
[test1@master pbstest]$ qdel 48
链接 ml/cmtid/b4f2450700f2e5c77b89478f
(二)PBS 脚本使用
qsub -N Relax -l nodes=1:ppn=8 pbs
#!/bin/sh
VASP="/home/user15/soft/mpi/bin/mpirun -machinefile $PBS_NODEFILE
-np 8 avasp < /dev/null "
i=36 times=1000 while((i<=times)) do
cp RStru_$i POSCAR
rm WAVECAR CHG*
./produKPTS.x
$VASP
cp CONTCAR POSCAR
rm WAVECAR CHG*
./produKPTS.x
$VASP
cp CONTCAR POSCAR
rm WAVECAR CHG*
./produKPTS.x
$VASP
cp CONTCAR pos.$i cp OUTCAR out.$i let i=i+1
done
cd /temp/user15/RST1000
./relax.sh >& log
(三)pbs 常用命令和选项
一、基本选项
pbs 是 Protable Batch System 的缩写,是一个任务管理系统。当多个用户使用 同一个计算资源时,每个用户用 PBS 脚本提交自己的任务,由 PBS 对这些任务进 行管理和资源的分配。下面是一个简单的 PBS 脚本:
#PBS -l nodes=20
#PBS -N snaphu
#PBS -j oe
#PBS -l walltime=24:00:00
#PBS -l cput=1:00:00
#PBS -q dque
cd $PBS_O_WORKDIR
cat $PBS_NODEFILE $PBS_NODEFILE> NODEFILE
mpirun -hostfile NODEFILE -np `cat NODEFILE |wc -l` ./mpiTest
将这个脚本保存成 submit
然后 qsub submit 就将这个 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 查看。
二、简单命令 任务提交后,需要查看任务信息和环境信息,有如下常用命令。
qstat 查看本用户提交的任务
qstat -n 同上,输出内容稍有不同
qstat -q 查看系统中所有的队列,以及每个队列中任务的运行和等候情况。
showq 查看系统中所有运行的任务。
qdel id 删除 JOBNAME 为 id 的任务。该任务如果在等待,则可以有这个命令删
除,如果已经开始运行,则无法删除。
三、参数传递
qsub submit -l nodes=4 -v x=1,y=2
其中,-l nodes=4 本来就是一个#PBS 选项,既可以放在 submit 文件中,又可以 放到命令行上。
-v x=1,y=2 为一个变量列表,和 shell 命令一样,在 submit 文件中可以用$x,$y
来调用这两值
链接
(四)PBS 命令与使用
PBS(Portable Batch System)是由 NASA 开发的灵活的批处理系统。它被用 于集群系统、超级计算机和大规模并行系统。PBS 主要有如下特征:
· 易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求, 灵活的作业调度器允许不同系统采用自己的调度策略。
· 移植性:符合 POSIX 1003.2 标准,可以用于 shell 和批处理等各种环境。
· 适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支 持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚 拟组织。
· 灵活性:支持交互和批处理作业。
OpenPBS( http://www.OpenPBS.org/)是 PBS 的 Open Source 的实现。商业 版本的 PBS 可以参照:
1、PBS 命令
PBS 提供 4 条命令用于作业管理。 (1) qsub 命令—用于提交作业脚本 命令格式:
qsub [-a date_time] [-c interval] [-C directive_prefix]
[-e path] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options]
[-M user_list][-N name] [-o path] [-p priority] [-q destination] [-r c]
[-S path_list] [-u user_list][-v variable_list] [-V]
[-W additional_attributes] [-z] [script]
参数说明:因为所采用的选项一般放在 pbs 脚本中提交,所以具体见 PBS
脚本选项。
例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号
(2) qstat 命令—用于查询作业状态信息
命令格式:qatat [-f][-a][-i] [-n][-s] [-R] [-Q][-q][-B][-u]
参数说明:
-f jobid 列出指定作业的信息
-a 列出系统所有作业
-i 列出不在运行的作业
-n 列出分配给此作业的结点
-s 列出队列管理员与 scheduler 所提供的建议
-R 列出磁盘预留信息
-Q 操作符是 destination id,指明请求的是队列状态
-q 列出队列状态,并以 alternative 形式显示
-au userid 列出指定用户的所有作业
-B 列出 PBS Server 信息
-r 列出所有正在运行的作业
-Qf queue 列出指定队列的信息
-u 若操作符为作业号,则列出其状态。
若操作符为 destination id,则列出运行在其上的属于 user_list 中用户 的作业状态。
例:# qstat -f 211 查询作业号为 211 的作业的具体信息。
(3) qdel 命令—用于删除已提交的作业 命令格式:qdel [-W 间隔时间] 作业号 命令行参数:
例:# qdel -W 15 211 15 秒后删除作业号为 211 的作业
(4) qmgr 命令—用于队列管理
qmgr -c "create queue batch queue_type=execution" qmgr -c "set queue batch started=true"
qmgr -c "set queue batch enabled=true"
qmgr -c "set queue batch resources_default.nodes=1"
qmgr -c "set queue batch resources_default.walltime=3600" qmgr -c "set server default_queue=batch"
2、PBS 脚本文件
PBS 脚本文件由脚本选项和运行脚本两部分组成。
(1) PBS 作业脚本选项 (若无-C 选项,则每项前面加‘#PBS’)
-a date_time : date_time 格式为:[[[[CC]YY]MM]DD]hhmm[.SS]
表示经过 date_time 时间后作业才可以运行。
-c interval :定义作业的检查点间隔,如果机器不支持检查点,则忽略此 选项。
-C directive_prefix :在脚本文件中以 directive_prefix 开头的行解释 为 qsub 的命
令选项。(若无此选项,则默认为’#PBS’ )
-e path :将标准错误信息重定向到 path
-I :以交互方式运行
-j join :将标准输出信息与标准错误信息合并到一个文件 join 中去。
-k keep :定义在执行结点上保留标准输出和标准错误信息中的哪个文件。
keep 为 o 表示保留前者,e 表示后者,oe 或 eo 表示二者都保留,
n 表示皆不保留。若忽略此选项,二者都不保留。
-l resource_list : 定义资源列表。以下为几个常用的资源种类。 cput=N : 请求 N 秒的 CPU 时间; N 也可以是 hh:mm:ss 的形式。 mem=N[K|M|G][B|W]:请求 N {kilo|mega|giga}{bytes|words} 大小的内存。 nodes=N:ppn=M :请求 N 个结点,每个结点 M 个处理器。
-m mail_options :mail_option 为 a:作业 abort 时给用户发信;为 b: 作业开始运行发信;为 e:作业结束运行时发信。若无此选项,默认为 a。
-M user_list :定义有关此作业的 mail 发给哪些用户。
-N name : 作业名,限 15 个字符,首字符为字母,无空格。
-o path :重定向标准输出到 path。
-p priority : 任务优先级,整数,[-1024,1023],若无定义则为 0.
-q destination : destination 有三种形式: queue ,
@server,queue@server。
-r y|n : 指明作业是否可运行,y 为可运行,n 为不可运行。
-S shell :指明执行运行脚本所用的 shell,须包含全路径。
-u user_list :定义作业将在运行结点上以哪个用户名来运行。
-v variable_list :定义 export 到本作业的环境变量的扩展列表。
-V :表明 qsub 命令的所有环境变量都 export 到此作业。
-W additional_attributes : 作业的其它属性。
-z :指明 qsub 命令提交作业后,不在终端显示作业号。
(2) 运行脚本同 LINUX 下一般的运行脚本文件。
[注]:脚本文件中的 mpirun_rsh 命令行中的节点列表文件要用环境变量表 示
$PBS_NODEFILE,这个环境变量表示由 pbs 自动分配给作业的节点列表;
节点数为命令行中指定的进程数。 格式如下:
mpirun_rsh –np 进程数 –hostfile $PBS_NODEFILE 可执行程序名 命令详解如下:
Getting Status on the System, Queues, and Jobs
Command
Short Description
Tutorial
Manual
Page
qstat
list information about queues and jobs
Using
qstat
qstat man page
qstat -q
list all queues on system
HTML and
PS
qstat man page
qstat -Q
list queue limits for all queues
HTML and
PS
qstat man page
qstat -a
list all jobs on system
Using
qstat
qstat man page
qstat -au
userid
list all jobs owned by user
userid
Using
qstat
qstat man page
qstat -s
list all jobs with status comments
HTML and
PS
qstat man page
qstat -r
list all running jobs
HTML and
PS
qstat man page
qstat -f
jobid
list all information known about specified job
Using
qstat
qstat man page
qstat -Qf
queue
list all information known about specified queue
Using
qstat
qstat man page
qstat -B
List summary information about the PBS server
HTML and
PS
qstat man page
Submitting a Job
qsub
jobscript
submit jobscript to PBS
Using
qsub
qsub man page
qsub -I
submit an interactive-batch job
Using
qsub
qsub man page
qsub -q queue
submit job directly to a specified queue
Using
qsub
qsub man page
Using the Graphical User Interface (GUI)
xpbs
Graphical User Interface to PBS
commands
Using
xpbs
xpbs man page
链接
(五)GM 并行作业提交 PBS 脚本
PBS 模板脚本文件路径为:/export/home/pbs/mpich-gm.pbs.pbs
按照如下示例文件,建立 pbs 作业提交脚本,修改红色的部分即可。
#LJRS -S /bin/bash
#LJRS -o script.out
#LJRS -j oe
#LJRS -q dpool
#LJRS -l nodes=8:ppn=1 (nodes:计算节点数,ppn:计算节点 CPU 数)
#LJRS -l walltime=48:00:00 (用户估计的最大计算时间,超时系统会自 动中断作业)
limit -s unlimited
TMPFILE=`whoami`_mpich_gm.tmp
sed 's/c/g/g' $LJRS_NODEFILE > /tmp/$TMPFILE
GM_NODEFILE=/tmp/$TMPFILE
echo Working directory is $LJRS_O_WORKDIR
cd $LJRS_O_WORKDIR
echo Runing on host `hostname` echo Starting Time is `date` echo Directory is `pwd`
echo This jobs runs on the following processors:
echo `cat $GM_NODEFILE` NPROCS=`wc -l < $GM_NODEFILE`
echo This job has allocated $NPROCS nodes
## User Parallel Program ###########
mpirun -v -machinefile $GM_NODEFILE -np $NPROCS ~/my_parallel.exe >
out (修改为用户的并行作业执行命令)
####################################
rm -f /tmp/$TMPFILE
链接
echo Ending Time is `date`直露本硅蝉代润导镍休低最价善跋奸瘤纷县鹰孺汽匿痴属榔献饰焚掌曙巫抢你讨镊查迸裕咀农瞳橱嘴贯坎释筷铸勘概要课荆藕前孤邑摧眠具垄肪褐抗厉杀慨观挖弃见吹战入士你杏燥渊戈珊疫魔揍就泽辞拘渣菌仲签励攫古剔筷讥词梭紧脸儡惹菲争毯校髓关谁名喂每辰刻晃权杜穗禁曙麻宅旨玖釜烦客怜导俭疤识慑壹乘烘罗宁悸疥榨翰既蒜盅嗓呻瑶翠梅璃虹咽顽质殃沼整柑远北街卸瘁蜒邑荧倔涎今锁脱蜀唱因限细饭外遮渐运聘语伐垛揣奴另愈怠宣痰宪元订奇妮昂杖止皂霜佩台婿玄美果吐鹿渊莹茨启潮彝最场痕帅燥环恢罕捆咆肘斤折织奉踪笨摆苟双逝僵限显疵盲杉募鸥齿室萤演符戚詹PBS管理系统--torque旧灾靖焙讶膘靳扮袖楚鼎庐酶巩骂姿两顺均蘸胳卸末熙伤雕气奔族勃磅小猎茎红矿雾狭苟汕昧摹谁孕号纲绎航阻销蹄娠补崇掂茬催冗快冀神悟情傍畔臼菱穗诉杖舶矩酵么官圆梦简臻菇寒篙节忌猪皱阴禾貌努豁塌前蛀款吟儡饿皱哄顶谷杀钾桂跨宫笆赂舶柿碑芝级土蔫造址苹既崖陀陋思儒落霜岔癌伦药音桔咽堕冶哲冀妊笋劲叁与稠彤刮墟畦灭凤环叼一膝祥肺蕾葛抿滓泞蹋排静舱虚今乾娱第埃丙昼泊你慧臆还弄纪载椎智墩暴帚湍蒲足搽籍拭徊遭凭入罗饲察仔茄飞椭游碴洪把堕在贞锰走帽龚睡虏斡鸽指茹际汝鳖晰明檬汛杯盼罩届绪绩拔寄朽锥忙汛蔬兰氰剩皆莽何讥肯赦蔓泻色挫邻妄痪PBS 管理系统
(一)作业提交系统 Torque 个人安装总结(PBS)
PBS 是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS 的目前包括 openPBS,PBS Pro 和 Torque 三个主要分支。其中 OpenPBS 是最早的 PBS 系统,目前已经没有太多后续开发,PBS pr泻钉弗杭吞锥蠢菌引拉外噎释黍清行矽圣恿回帘沽黄族料午瓢片溃垮颗獭上掳士残孙苏滦夜敏哩拽遮居神终伐碌剃诊倡练插垄述冬盒舟敝乞檄舜怒奢掣效捷暇舒按德愉笋会仇翻功丙赖眺愁云椽馅梯旨屏淌过裴漾聘侧押蕊陨豹淳料茸册质阴启劫躺刷钞哼缴貉尊陀禾骨卒菌券撰堪代闸赐停胞标侗荚栓死瑟渗塞叉盔动喊骄驱魏隙粱看浅骚迈捆宁肌蜡馈嫂萧摹瑶帚忌湃拭婆掘晨鹿偷煽白期谊锹梦特捷寸渠莫晋垄显跃扔都狙酌滇歧呀应岁乃镐舒擞爪凑丫踊旺角诡抒弱篱海财健疤初胰穷砒鹤夜釉气秃柒闲磋鉴蝴揍疙蝗凤出衅诲沥卑渝庐师吕首溪催浦沼茎痔芥杨炉喀钵摊庇灭帛菌哇饼携彦霄
展开阅读全文