《一个复杂的PBS脚本只是分享.ppt》由会员分享,可在线阅读,更多相关《一个复杂的PBS脚本只是分享.ppt(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一个复杂的PBS脚本开机顺序:1、先开以太网交换机,FC光纤磁盘阵列电源;2、1分钟后打开TC5000与TC5001节点电源;3、3分钟后打开node1node16电源;关机顺序:1、先关闭node1node16电源;2、等待3分钟以后,关闭TC5000及TC5001电源;3、等待红3分钟后,关闭交换机及FC光纤磁盘阵列电源。开关机顺序管理节点登录IP:10.14.83.152用户名:(需要申请)密码:(需要申请)登录方式:ssh命令行登录、VNC图形化界面登录;登录工具:putty命令行登录、VNC Viewer图形化登录;Linux to Windows文件传输工具:winscp系统登录命
2、令行登录-putty工具命令行登录命令行登录图形化登录使用VNC Viewer工具输入服务器IP:端口号,然后点击OK图形化登录输入登录密码图形化登录-图形化界面登录成功右键、open terminal打开命令操作窗口图形化登录-图形化界面命令窗口启用VNC步骤:1、su-username2、vncserver(注意,第一次运行会提示设置密码)运行完后,注意生成的ID号,然后即可以用VNC viewer客户 端工具连接了。高级操作:1、vncserver-kill:ID号(杀掉刚刚生成的图形连接ID号)2、示例使用:vncserver-geometry 1920 x1080-depth 24:
3、5指定分辨率1920 x1080,指定端口ID为5;3、改图形化登录密码:vncpasswd图形化登录开启方法文件传输工具文件传输工具操作系统:Red Hat Enterprise Linux Server release 6.4系统位数:64位编译器:Intel 14,安装路径/public/software/intel,也可以 使用which icc或which ifort查看详细路径;GCC编译器,使用which gcc查看详细路径;Open-MPI 1.6.3安装路径/public/software/mpi/openmpi1.6.3-intel/,也可以使用 which mpirun查
4、看详细路径作业调度系统:torque;并行软件环境集群操作命令集群状态显示:pestat集群状态显示:pestst查看IP:ifconfig 查看文件系统挂载:df-h 显示当前所在文件夹路径:pwd显示当前所在文件夹下文件及文件夹:ls-a 显示当前文件夹大小:切换文件夹:cd 文件夹路径 创建文件夹:mkdir 文件夹名删除文件夹:rm-rf 文件夹名 删除文件:rm-rf 文件名 查看文本文件内容:cat 文件名编辑配置文件:vi 配置文件名 载入软件环境变量:source 环境变量文件绝对路径系统基本操作命令集群管理命令:clusconf【添加账号:clusconf-au 账号名】【删
5、除账号:clusconf-du 账号名】【同步文件:clusconf-yf 路径加文件名】【批量执行命令:clusconf【测试IP:cluster-n】【集群文件系统显示:-yd 命令】cluster-s-yd df-h|grep-E node|public】集群操作命令rootnode15#clusconf-au testuser REMOTE_SH using ssh/scpOperation is done in following hosts:node1 node2 node3 node4 node5 node6 node7 node8 node9 node10 node11node
6、12 node13 node14 node15Now add user:testuser on the Whole cluster 5.4.3.2.1.Input the Home directory for user:testuser/public/home/testuser:直接回车Input the Group Name for user:testuserusers:直接回车Input the uid for user:testuser505:直接回车 Changing password for user testuser.New UNIX password:此处输入密码BAD PASS
7、WORD:it is based on a dictionary word Retype new UNIX password:此处输入确认密码passwd:all authentication tokens updated successfully.Now Synchronize user and group on the Whole cluster5.4.3.2.1.adduser testuser on the whole cluster successfully!集群添加账号过程切换账号:su-用户名 切换节点:ssh 节点名 文件编辑工具:vi 重启命令:reboot使用此命令切换到某
8、个账号使用此命令登录到某个节点关机命令:shutdown-h now集群操作命令vi是Linux系统下面最常用的文本编辑工具,几乎所有系统配置相关的修改都要使用到这个工具。例:有/test.txt文档,该文档内容为 rootnode1#cat/test.txt 111111112222222233333333实验内容:先在/test.txt文件第4行添加44444444,同时复制第2行内容到第5行。最基础最常用vi在介绍cat命令时,我们使用了more与grep参数,这两个参 数非常的有用,可以在任何显示内容性的命令后面添加这个 参数,以方便我们获取到需要的有用信息。more参数可以让我们一页
9、一页的查看内容;grep参数可以让我们筛选出所需要的信息。通用参数more与grep一、本地文件及文件夹的复制cp 源文件目标文件 例:cp/a/b二、网络文件及文件夹的复制scp 源文件 目标文件例:scp/a 192.168.1.1:/b通用参数:-r复制文件夹时必须添加的参数;-a不改变任何文件属性的复制-f强制复制-u只复制目标没有的文件文件及文件夹复制一、文件及文件夹的移动、重命名mv 源文件 目标文件 当源文件与目标文件存放路径一致时,实际执行重命名操作 参数:-f强制模式、-u只移动目标没有的文件或文件夹二、文件及文件夹的删除 rm 文件名,可以删除文件参数:-r删除文件夹时必须
10、添加该参数;-f强制模式注:所有的文件及文件夹操作均可使用通配符*,但请慎用。文件移动、重命名及删除一、一般使用ls rootnode1#ls aaaDesktop二、查看权限及修改时间用ll rootnode1#lltotal 14820softwaredrwxr-xr-x 2 rootroot4096 Dec 12 10:58 aaa通用参数:-a显示所有文件,包含文件名前为.的隐藏文件-h格式化显示文件大小列出文件列表集群账号目录:roottc5000#ls/public/home/msitestuser00使用clusconf au添加账号时,默认会把用户目录建到上面 路径下面。集群软
11、件安装目录:roottc5000#ls/public/software/集群安装软件时,需要在TC5000节点安装到/public/software下面,如果软件只有自己使用,则可以安 装在自己的账号目录下面即可。集群软件安装app compiler intel-old mathlib matthlab-oldmodules mpi mpi-old profile.d查看文件夹下面的文件及文件夹大小可以使用du命令:du 文件夹-h查看某个文件夹具体大小 du 文件夹-sh查看文件夹总大小PBS作业调度使用说明1.准备:编写描述改作业的脚本,包括作业名,需要的资源等。2.提交:使用qsub命令
12、将该作业提交给PBS服务器3.排队:服务器将该任务排入适当的队列4.调度:服务器检查各工作节点的状态是否符合该作业的要求,并 进行调度。5.执行:当条件满足时,作业被发给相应的执行服务器执行。程序 运行时执行服务器会收集程序的标准输出和标准错误流,等程序 结束时,将这些信息返回给用户。6.查询和调整:当作业在运行时,用户可以使用qstat进行状态查询。用户发现作业提交错误时,可以使用qdel删除正在运行的作业。7.查看结果:使用文本编辑软件vi或者系统命令cat,less等查看输出及错误信息显示。PBS作业提交步骤 在PBS系统中,用户使用 qsub 命令提交用户程序。用 户运行程序的命令及P
13、BS环境变量设置组成PBS作业脚本,作业脚本使用如下格式提交到PBS系统运行:qsub qsub-N test.vasp-l nodes=4:ppn=2-q defaults PBS作业提交基本命令 本质是一个SHELL脚本 注释以“#”开头 PBS运行参数,以“#PBS”开头 可以直接调用SHELL命令和系统命令#PBS-N vasp#PBS-l nodes=1:ppn=1#PBS-l walltime=12:00:00#PBS-q highcd/home/test/work./test.exePBS作业脚本PBS运行参数在 PBS 脚本和 qsub 命令行中均有效,qsub命令行参数的优先
14、级更高运 行 参 数说明-a 向PBS系统指定作业运行的开始时间。作业运行时间格式为:CCYYMMDDhhmm.SS-A 使用不同的用户来提交作业,缺省使用当前用户名-o-e 该参数指定标准错误输出的位置,缺省的情况下,PBS系统把标准输 出和标准错误输出放在用户qsub命令提交作业的目录下。标准错误输出:.o 标准错误输出:.e 路径使用如下格式标准::-N 指定提交的作业名-q 指定作业提交的目标队列,其中目标队列可以是目标队列、目标节点 名或者是目标节点上的队列。如果目标队列是一个路由队列,那 么服务器可能把作业路由到新的队列中。如果该参数没有指定,命令qsub会把作业脚本提交到缺省的队
15、列中。-l 该参数指定作业脚本申请的PBS系统资源列表。申请资源列表使用如下格式:=,资源名=,.例如作业希望申请在双路节点上申请5个CPU资源的情况,则可以在脚本中如下:#PBS l nodes=2:ppn=2+1:ppn=1PBS的环境变量变 量 名说明登陆SHELL继承来的变量包括$HOME,$LANG,$LOGNAME,$PATH,$MAIL,$SHELL和$TZ。$PBS_O_HOSTqsub提交的节点名称$PBS_O_QUEUEqsub提交的作业的最初队列名称$PBS_O_WORKDIRqsub提交的作业的绝对路径$PBS_JOBID作业被PBS系统指定的作业号$PBS_JOBNA
16、ME用户指定的作业名,可以在作业提交的时候用qsub N 指定,或者在PBS脚本中加入#PBS N。$PBS_NODEFILEPBS系统指定的作业运行的节点名。该变量在并行机和机群中使 用。当在PBS脚本中用#PBS l nodes=2:ppn=2指定程序运行的 节点数时,可以使用$PBS_NODEFILE在脚本中引用PBS系统 指定的作业运行的节点名。比如:#PBS l nodes=2:ppn=2mpirun np 4 machinefile$PBS_NODEFILE$PBS_QUEUEPBS脚本在执行时的队列名#这是一个串行作业脚本的例子#PBS-N test#PBS-l nodes=1:
17、ppn=1cd$HOME/test/./a.out$HOME/result/a.result#这是一个并行作业脚本的例子#PBS-N vasp_job#PBS-l nodes=2:ppn=8#PBS-q lowecho This jobs is$PBS_JOBID$PBS_QUEUEcd$PBS_O_WORKDIRmpirun-np 16-machinefile$PBS_NODEFILE./vaspPBS脚本举例PBS脚本举例(续1)有时在PBS脚本中,需要对PBS环境变量的内容进行改造 比如,$PBS_NODEFILE,该文件内容格式为:node1node1 node2 node2对于一般M
18、PI程序,可直接将$PBS_NODEFILE 作为 MPI 的”-machinefile”参数,如上例所示 而一些软件有特殊的节点指定格式,比如ANSYS的命令行参数格式为:ansys121-dis-machines node1:2:node2:2-i test.inp-o test.log 这时我们可以对$PBS_NODEFILE 进行字符处理,得到需要的格式#这是一个ANSYS并行作业的例子#PBS-N ansys_job#PBS-l nodes=2:ppn=8#PBS-q lowINPUTFILE=test.inpOUTPUTFILE=test.loghosts=cat$PBS_NODE
19、FILE|uniq-c|awk print$2:$1|tr n:|sed s/:$/cd$PBS_O_WORKDIRansys121-dis-machines$hosts-i$INPUTFILE-o$OUTPUTFILEPBS脚本举例(续2)#!/bin/bash#PBS-N jobname#PBS-l nodes=2:ppn=8cat echo$PBS_NODEFILE$HOME/$PBS_JOBID.nodesfor node in cat$HOME/$PBS_JOBID.nodes dossh$node mkdir/tmp/$PBS_JOBIDssh$node cp-rf$PBS_O_W
20、ORKDIR/*/tmp/$PBS_JOBID/donecd/tmp/$PBS_JOBIDmpirun-np 16-machinefile$PBS_NODEFILE$HOME/bin/vaspcp-rf/tmp/$PBS_JOBID/*$PBS_O_WORKDIR/for node in cat$HOME/$PBS_JOBID.nodesdossh$node rm-rf/tmp/$PBS_JOBID donerm$HOME/$PBS_JOBID.nodes一个复杂的PBS脚本#这是一个并行作业脚本的例子#PBS-N vasp.Hg#PBS-j oe#PBS-l nodes=2:ppn=12:a
21、md#PBS-q lowecho This jobs is$PBS_JOBID$PBS_QUEUE NP=cat$PBS_NODEFILE|wc-lcd$PBS_O_WORKDIRmpirun-np$NP-machinefile$PBS_NODEFILE./vasp#PBS-l nodes=2:ppn=4:amd:chem#PBS-l nodes=1:ppn=8:chem+1:ppn=8:bio#PBS-l nodes=node1:ppn=8+node2:ppn=8指定节点特性作业提交后,会生成一个作业号,如:dawningnode1$qsub test.pbs 93.node1查看集群作业运
22、行状态:dawningnode1$qstat作业状态说明:E:退出 Q:排队H:挂起 R:运行 C:结束查询作业状态Job idNameUserTime Use S Queue-93.node1test.pbstest0R default95.node1vasp.Hgvasp0E default111.node1structureamber0Q defaultdawningnode1$qstat Job idName-93.node1test.pbs95.node1vasp.Hg111.node1structureUser-zhaocs vasp amberTime Use S Queue-0
23、R default0Edefault0Q default查询某个作业运行状态:qstat 93.node1(或者 qstat 93)显示作业运行在哪些节点上:qstat-n 93.node1显示作业运行详细信息:qstat-f 93.node1查询作业状态(续)dawningnode1$qstatJob idName-93.node1test.pbs95.node1vasp.Hg111.node1structureUser-zhaocs vasp amberTime Use S Queue-0R default0Edefault0Q defaultqdel 93.node1取消删除作业注:用户
24、只能删除自己的作业,管理员可以删除所有用户作业dawningnode1$qstatJob idName-93.node1test.pbs95.node1vasp.Hg111.node1structureUser-zhaocs vasp amberTime Use S Queue-0R default0Edefault0Q default挂起作业:qhold 111.node1取消作业挂起qrls 111.node1作业挂起及取消dawningnode1$qstatJob idName-93.node1test.pbs95.node1vasp.Hg111.node1structureUser-z
25、haocs vasp amberTime Use S Queue-0R default0Edefault0Q default更改作业运行队列:qmove high 111.node1更改作业资源属性:qalter-l walltime=10:00:00 111.node1更改作业dawningnode1$qstatJob id-93.node1 95.node1 111.node1 112.node1Name-test.pbs vasp.Hg structure gaussianUser-zhaocs vasp ambergaussTime Use S Queue-0R default0Ede
26、fault0Q default0Qdefault交换两个作业的排队顺序:qorder 111.node1 112.node1dawningnode1$qstat Job idName-93.node1test.pbs95.node1vasp.Hg112.node1gaussian111.node1structureUser-zhaocs vasp gauss amberTime Use S Queue-0R default0Edefault0Qdefault0Q default交换作业顺序 PBS脚本中可以指定多个作业之间的依赖关系,比如作业提交前另一个作业必须完成,否则处于排队状态#PBS-
27、N step2#PBS-l nodes=4:ppn=4#PBS-q high#PBS-W depend=after:#PBS-N job_rerun#PBS-l nodes=4:ppn=4#PBS-q high#PBS-W depend=afternotok:当指定作业非正常结束,作业才能提交作业依赖关系应用场景使用相同的PBS脚本,提交多个作业,每个作业运行环境基本一致,除了个别运行参数有不同。可用#PBS-t 或 qsub-t 的方式提交这样的一个Job Array,每个作业用环境变量$PBS_ARRAYID 进行区分。简单的例子array.pbs:#PBS-N array#PBS-l n
28、odes=1:ppn=8#PBS-j oe#PBS-t 1-100cd$PBS_O_WORKDIRmpirun-np 8./myprogram-parameter$PBS_ARRAYIDJob Arraypbsnodes命令的主要参数-a 列出所有结点及其属性,属性包括“state”和“properties”-o 将指定结点的状态标记为“offline”。这将帮助管理员暂时停止某些结点的服务-l 以行的方式列出被标记的结点的状态,如-l free,-l offline-c 清除结点列表中的“offline”或“down”状态设置,使结点可以被分配给作业-r 清除指定结点的“offline”状态PBS查看节点状态(续)谢谢!此课件下载可自行编辑修改,仅供参考!此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢感谢您的支持,我们努力做得更好!谢谢