高性能集群作业调度系统课件_第1页
高性能集群作业调度系统课件_第2页
高性能集群作业调度系统课件_第3页
高性能集群作业调度系统课件_第4页
高性能集群作业调度系统课件_第5页
已阅读5页,还剩161页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高性能集群作业调度系统曙光信息产业股份有限公司1高性能集群作业调度系统曙光信息产业股份有限公司1

提纲作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A2提纲作业调度系统概述21.1集群使用中存在的问题节点多用户多任务多31.1集群使用中存在的问题节点多用户多任务多3系统资源整合异构资源,软硬件资源的整合任务综合管理用户提交的任务的统一安排用户权限的管理对用户进行各类权限控制1.2作业调度系统的功能41.2作业调度系统的功能4资源管理器: 管理集群的软硬件资源及认证信息等队列管理器: 管理当前所有已提交但还未完成的作业调度器: 为作业分配资源1.3作业调度系统的组成5资源管理器:1.3作业调度系统的组成5作业调度系统的结构1.3作业调度系统的组成6作业调度系统的结构1.3作业调度系统的组成61.4作业调度系统的发展历史71.4作业调度系统的发展历史7

提纲作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A8提纲作业调度系统概述8

PBS(PortableBatchSystem),最初由NASA的Ames研究中心开发,设计为一个能满足异构计算网络需要的软件包。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由。

PBS的开源版本为OpenPBS,目前已经停止开发。PBS的商业版为PBSPro,由Altair公司开发和维护。TORQUE(Tera-scaleOpen-sourceResourceandQueuemanager)为OpenPBS的后续开源版本,修正了OpenPBS的很多bug,功能和可扩展性都有很大提高。2.1PBS作业调度系统9PBS(PortableBatchSystem服务器:pbs_server调度器:pbs_sched执行器:pbs_mom2.2PBS的组成10服务器:pbs_server2.2PBS的组成10解压源文件包

tarzxvftorque-2.5.12.tar.gz编译设置

cdtorque-2.5.12./configure--prefix=/usr/local\

--with-server-home=/var/spool/torque\

--enable-syslog\

--with-scp\

--enable-docs

默认情况下,TORQUE将可执行文件安装在/usr/local/bin和/usr/local/sbin下。其余的配置文件和运行时环境将安装在/var/spool/torque下编译和安装

make makeinstall2.3

PBS的安装(TorqueServer端)11解压源文件包2.3PBS的安装(TorqueServe节点操作系统相同,可以用如下SHELL脚本在计算节点(torque客户端)上安装#在管理节点上makepackages#!/bin/bashforiin`seq120`;doecho=====node$i=====

ssh

node$i/public/sourcecode/torque-2.5.12/\torque-package-mom-linux-*.sh--installDone2.3PBS的安装(TorqueClient端)12节点操作系统相同,可以用如下SHELL脚本在计算节点(tor以root作为torque的管理员账号创建作业队列 在torque的安装源文件根目录中,执行

./torque.setuprootServer配置目录/var/spool/torque/server_priv/计算节点列表及属性:/var/spool/torque/server_priv/nodes node2np=12amdchem node3np=12amdchem node4np=8intelchem node5np=8intelchem node6np=4intelbiogpu node7np=4intelbiogpu2.3PBS

Server配置13以root作为torque的管理员账号创建作业队列2.3PServer的系统启动脚本/etc/init.d/pbs_serverScheduler系统启动脚本/etc/init.d/pbs_schedMom系统启动脚本/etc/init.d/pbs_momTorque服务端chkconfigpbs_serveronchkconfigpbs_schedonservicepbs_serverstartservicepbs_schedstartTorque客户端chkconfigpbs_momonservicepbs_momstart2.3

PBS系统服务14Server的系统启动脚本/etc/init.d/pbs_2.4

PBS主要操作队列设置节点查看提交作业查看作业作业其他操作152.4PBS主要操作队列设置节点查看提交作业查看作业作业其PBS要能正常运行还需要通过qmgr命令在server进行配置,设置一些属性。输入qmgr命令进入配置交互命令,格式为

qmgr动作对象类型和操作符

动作对象类型对象名属性操作符值(,属性操作符值)……create创建一个对象delete删除一个对象set设置对象的属性unset除去对象的属性print打印对象的属性list列出对象的属性server服务器=queue队列+=node节点-=2.4.1PBS的队列设置16PBS要能正常运行还需要通过qmgr命令在server进行配创建队列createqueue队列名queue_type=execution打开和启动队列setqueue队列名enable=t,started=t打开调度setserverscheduling=t设置默认队列setserverdefault_queue=队列名2.4.1PBS的队列设置下面是让PBS可以正常运行的基本设置17创建队列createqueue队列名queue_typ导入server配置文件

qmgr<queue.conf备份配置文件

qmgr-c“printserver”>queue.conf配置文件例子

createqueuedefaultsetqueuedefaultqueue_type=executionsetqueuedefaultmax_running=10setqueuedefaultenabled=Truesetqueuedefaultstarted=Truesetserverscheduling=Truesetserverdefault_queue=defaultsetserverquery_other_jobs=True2.4.1PBS的队列设置18导入server配置文件createqueuede资源和用户限制

resources_default.cput该队列默认的作业的CPU时间,格式:时:分:秒注意:该CPU时间为:进程数*(结束时间-开始时间)resources_default.walltime该队列默认的墙上时间,格式:时:分:秒max_running某队列最多可运行的作业数,如果该项为0或没有该项,表示没有限制max_user_run一个用户最多可以运行的作业数acl_user_enable是否启用用户访问控制,如果acl_user_enable=True,则在acl_users中列出的用户才能使用该队列acl_users格式:<用户名@主机名>,用户名不接受通配符acl_host_enable如果acl_host_enable=True,则acl_hosts属性中列出的主机才能使用该队列acl_hosts该队列可以使用的节点列表2.4.1PBS的队列设置19资源和用户限制 resources_default.cput[dawning@node1~]$pbsnodes-anode2

state=free

np=12

ntype=clusterstatus=rectime=1347344839,varattr=,jobs=,state=free,netload=1994804223313,gres=,loadave=0.15,ncpus=32,physmem=132133404kb,availmem=147084788kb,totmem=148910612kb,idletime=1721946,nusers=1,nsessions=1,sessions=2455,uname=Linuxnode22.6.32-220.el6.x86_64#1SMPWedNov908:03:13EST2011x86_64,opsys=linux

gpus=0node3state=down

np=12

ntype=cluster…2.4.2PBS查看节点状态20[dawning@node1~]$pbsnodes-apbsnodes命令的主要参数-a列出所有结点及其属性,属性包括“state”和“status”-o将指定结点的状态标记为“offline”。这将帮助管理员暂时停止某些结点的服务-l以行的方式列出被标记的结点的状态,如-lfree,-loffline-c清除结点列表中的“offline”或“down”状态设置,使结点可以被分配给作业-r清除指定结点的“offline”状态2.4.2PBS查看节点状态21pbsnodes命令的主要参数2.4.2PBS查看节点状态步骤:准备:编写描述该作业的脚本,包括作业名,需要的资源等。提交:使用qsub命令将该作业提交给PBS服务器排队:服务器将该任务排入适当的队列调度:服务器检查各工作节点的状态是否符合该作业的要求,并进行调度。执行:当条件满足时,作业被发给相应的执行服务器执行。程序运行时执行服务器会收集程序的标准输出和标准错误流,等程序结束时,将这些信息返回给用户。查询和调整:当作业在运行时,用户可以使用qstat进行状态查询。用户发现作业提交错误时,可以使用qdel删除正在运行的作业。查看结果:使用文本编辑软件vi或者系统命令cat,less等查看输出及错误信息显示。2.4.3PBS作业提交22步骤:2.4.3PBS作业提交22在PBS系统中,用户使用qsub命令提交用户程序。用户运行程序的命令及PBS环境变量设置组成PBS作业脚本,如下qsub<PBS作业脚本>2.4.3PBS作业提交基本命令#PBS-Nvasp#PBS-lnodes=2:ppn=1#PBS-lwalltime=12:00:00#PBS-qdefaultcd$PBS_O_WORKDIR./test.exe作业脚本使用如下格式提交到PBS系统运行23在PBS系统中,用户使用qsub命令提交用户程序运行参数说明-a<作业开始运行的时间>向PBS系统指定作业运行的开始时间。作业运行时间格式为:[[[[CC]YY]MM]DD]hhmm[.SS]-A<用户名>使用不同的用户来提交作业,缺省使用当前用户名-o<标准输出文件的路径>-e<标准错误输出的路径>该参数指定标准错误输出的位置,缺省的情况下,PBS系统把标准输出和标准错误输出放在用户qsub命令提交作业的目录下。标准错误输出:<作业名>.o<作业号>标准错误输出:<作业名>.e<作业号>路径使用如下格式标准:[<节点名>:]<路径名>-N<作业名>指定提交的作业名-q<目标队列>指定作业提交的目标队列。如果该参数没有指定,命令qsub会把作业脚本提交到缺省的队列中。-l<申请资源列表>该参数指定作业脚本申请的PBS系统资源列表。申请资源列表使用如下格式:

<资源名>[=[<数量>]][,资源名[=[<数量>]],…..]例如作业希望申请在双路节点上申请4个CPU资源的情况,则可以在脚本中如下:#PBS–lnodes=2:ppn=2运行参数在PBS脚本和qsub命令行中均有效,qsub命令行参数的优先级更高2.4.3PBS运行参数24运行参数说明-a<作业开始运行的时间>向变量名说明登陆SHELL继承来的变量包括$HOME,$LANG,$LOGNAME,$PATH,$MAIL,$SHELL和$TZ。$PBS_O_HOSTqsub提交的节点名称$PBS_O_QUEUEqsub提交的作业的最初队列名称$PBS_O_WORKDIRqsub提交的作业的绝对路径$PBS_JOBID作业被PBS系统指定的作业号$PBS_JOBNAME用户指定的作业名,可以在作业提交的时候用qsub–N<作业名>指定,或者在PBS脚本中加入#PBS–N<作业名>。$PBS_NODEFILEPBS系统指定的作业运行的节点名。该变量在并行机和机群中使用。当在PBS脚本中用#PBS–lnodes=2:ppn=2指定程序运行的节点数时,可以使用$PBS_NODEFILE在脚本中引用PBS系统指定的作业运行的节点名。比如:#PBS–lnodes=2:ppn=2mpirun–np4–machinefile$PBS_NODEFILE<程序名>$PBS_QUEUEPBS脚本在执行时的队列名2.4.3PBS环境变量25变量名说明登陆SHELL继承来的变量包括$H#这是一个串行作业脚本的例子#PBS-Ntest#PBS-lnodes=1:ppn=1cd$HOME/test/./a.out>$HOME/result/a.result#这是一个并行作业脚本的例子#PBS-Nvasp_job#PBS-lnodes=2:ppn=2#PBS-qlowechoThisjobis$PBS_JOBID@$PBS_QUEUEcd

$PBS_O_WORKDIRmpirun-np16-machinefile

$PBS_NODEFILE./vasp2.4.3PBS脚本举例#PBS-lnodes=2:ppn=4:amd:chem#PBS-lnodes=1:ppn=8:chem+1:ppn=8:bio#PBS-lnodes=node1:ppn=8+node2:ppn=8指定节点特性26#这是一个串行作业脚本的例子#这是一个并行作业脚本的例子一些软件有特殊的节点指定格式,比如ANSYS的命令行参数格式为:

ansys121-dis-machinesnode1:2:node2:2

-itest.inp-otest.log这时我们可以对

$PBS_NODEFILE进行字符处理,得到需要的格式2.4.3PBS脚本举例#这是一个ANSYS并行作业的例子#PBS-Nansys_job#PBS-lnodes=2:ppn=8#PBS-qlowINPUTFILE=test.inpOUTPUTFILE=test.loghosts=`cat$PBS_NODEFILE|uniq-c|awk'{print$2":"$1}'|tr'\n'':'|sed's/:$//'`cd$PBS_O_WORKDIRansys121-dis-machines$hosts

-i$INPUTFILE-o$OUTPUTFILE27一些软件有特殊的节点指定格式,比如ANSYS的命令行参数格式作业提交后,会生成一个作业号,如:[dawning@node1~]$qsubtest.pbs93.node1查看集群作业运行状态:[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbstest0Rdefault95.node1vasp.Hg

vasp0Edefault111.node1structureamber0Qdefault2.4.4PBS查看作业状态E:退出Q:排队H:挂起R:运行C:结束查询某个作业运行状态:qstat93.node1(或者qstat93)显示作业运行在哪些节点上:qstat

-n93.node1显示作业运行详细信息:qstat

-f93.node128作业提交后,会生成一个作业号,如:2.4.4PBS查看作[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbszhaocs0Rdefault95.node1vasp.Hg

vasp0Edefault111.node1structureamber0Qdefaultqdel93.node1注:用户只能删除自己的作业,管理员可以删除所有用户作业2.4.5PBS作业其他操作删除作业29[dawning@node1~]$qstatqdel[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbszhaocs0Rdefault95.node1vasp.Hg

vasp0Edefault111.node1structureamber0Qdefault挂起作业:qhold111.node1取消作业挂起qrls111.node1作业挂起及取消2.4.5PBS作业其他操作30[dawning@node1~]$qstat挂起作业:[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbszhaocs0Rdefault95.node1vasp.Hg

vasp0Edefault111.node1structureamber0Qdefault更改作业2.4.5PBS作业其他操作更改作业运行队列:qmovehigh111.node1更改作业资源属性:qalter-lwalltime=10:00:00111.node131[dawning@node1~]$qstat更改作业2交换作业顺序2.4.5PBS作业其他操作[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbszhaocs0Rdefault95.node1vasp.Hg

vasp0Edefault111.node1structureamber0Qdefault112.node1gaussiangauss0Qdefault交换两个作业的排队顺序:qorder111.node1112.node1[dawning@node1~]$qstat

JobidNameUserTimeUseSQueue--------------------------------------------------------------93.node1test.pbszhaocs0Rdefault95.node1vasp.Hg

vasp0Edefault112.node1gaussiangauss0Qdefault111.node1structureamber0Qdefault32交换作业顺序2.4.5PBS作业其他操作[dawning2.4.5PBS作业其他操作PBS脚本中可以指定多个作业之间的依赖关系,比如作业提交前另一个作业必须完成,否则处于排队状态#PBS-Nstep2#PBS-lnodes=4:ppn=4#PBS-qhigh#PBS-Wdepend=after:<JOB_ID>…#PBS-Njob_rerun#PBS-lnodes=4:ppn=4#PBS-qhigh#PBS-Wdepend=afternotok:<JOB_ID>…当指定作业非正常结束,作业才能提交运行332.4.5PBS作业其他操作PBS脚本中可以指定多个作业作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A

提纲34作业调度系统概述提纲34Torque带有自己的默认调度策略器(pbs_sched),但是这个最基本的调度策略并不高级。它根据fifo的原则安排作业,对一般的集群管理应该是足够了,但如果你的集群有几百个以上节点,分成若干个队列,那pbs_sched就力不从心了。

为此,可以使用一系列第三方的调度策略进行补充。Maui就是被广泛使用的调度策略之一。3.1Maui调度器介绍35Torque带有自己的默认调度策略器(pbs_s3.1Maui调度器介绍Maui采用积极的调度策略优化资源的利用和减少作业的响应时间。Maui的资源和负载管理允许高级的参数配置:作业优先级(JobPriority)、调度和分配(SchedulingandAllocation)、公平性和公平共享(FairnessandFairshare)和预留策略(ReservationPolicy)。Maui的QoS机制允许资源和服务的直接传递、策略解除(PolicyExemption)和指定特征的受限访问。Maui需要资源管理器和其配合使用。我们可以把Maui想象为PBS中的一个插入部件。363.1Maui调度器介绍Maui采用积极的调度策集群已安装配置好Torque解压源文件包

tarzxvfmaui-3.2.6p17.tar.gz

编译设置

cdmaui-3.2.6p17./configure--with-pbs=/usr/local

--with-pbs指定Torque安装目录编译和安装

make makeinstall3.1Maui安装(Server)37集群已安装配置好Torque3.1Maui安装(Serve编辑启动脚本cdmaui-3.2.6p17cpetc/maui.d/etc/init.d/vim/etc/init.d/maui.d

修改其中的”

MAUI_PREFIX=/usr/local/maui”(maui的安装目录)停用pbs_sched,启用mauichkconfigpbs_schedoffchkconfigmaui.donservicepbs_schedstopservicemaui.dstart3.1Maui安装(Server)38编辑启动脚本3.1Maui安装(Server)38Maui的配置参数都写在配置文件maui.cfg中,配置参数可以参考官方手册MauiAdministrator'sGuide主要参数如下:vimmaui.cfg#设置Maui服务器主机名

SERVERHOST

server#一级权限用户,拥有Maui所有控制权限,包括更改调度策略,更改作业属性

ADMIN1

root#二级权限用户,不能更改调度策略,但能更改作业属性ADMIN2zhangwangzhao#三级权限用户,只有查看权限,ALL表示所有账户ADMIN3ALL3.2Maui配置39Maui的配置参数都写在配置文件maui.cfg中,配置参数#定义资源管理器(ResourceManager),指定类型为PBS,以及Torque服务器主机名,刷新资源信息的时间,端口号

RMCFG[0]TYPE=PBSHOST=server

RMPOLLINTERVAL

00:00:30

SERVERPORT

42559

SERVERMODE

NORMAL#日志设置

LOGFILE

maui.log

LOGFILEMAXSIZE

10000000

LOGLEVEL

3

3.2Maui配置40#定义资源管理器(ResourceManager),指定#设置Fairshare策略

#FSPOLICY

PSDEDICATED

#FSDEPTH

7

#FSINTERVAL

86400

#FSDECAY

0.80#设置回填(Backfill)策略

BACKFILLPOLICY

FIRSTFIT

RESERVATIONPOLICY

CURRENTHIGHEST#节点分配策略

#NODEALLOCATIONPOLICY

MINRESOURCE

#NODEALLOCATIONPOLICY

CPULOAD #NODEALLOCATIONPOLICY

SHARED

NODEALLOCATIONPOLICY

FIRSTAVAILABLE

3.2Maui配置41#设置Fairshare策略3.2Maui配置41#QOS配置QOSCFG[preemptor]QFLAGS=PREEMPTORQOSCFG[preemptee]QFLAGS=PREEMPTEECLASSCFG[high]PRIORITY=11000QDEF=preemptorCLASSCFG[low]PRIORITY=6000QDEF=preempteeCLASSCFG[middle]PRIORITY=9000QDEF=preemptee#用户优先级设置USERCFG[root]MAXPROC=400MAXNODE=100MAXJOB=100USERCFG[test]PRIORITY=100MAXPROC=200MAXJOB=10USERCFG[DEFAULT]PRIORITY=100MAXPROC=100MAXJOB=43.2Maui配置42#QOS配置3.2Maui配置42作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A

提纲43作业调度系统概述提纲43

4曙光Gridview作业调度中间件介绍功能中间件应用使用方法444曙光Gridview作业调度中间件介绍功能中间件应用使作业调度中间件结构图4.1曙光Gridview作业调度中间件45作业调度中间件结构图4.1曙光Gridview作业调度中间增加节点修改节点删除节点创建队列修改队列删除队列队列节点用户修改用户身份修改用户等级修改用户权限强大的资源管理4.2作业调度中间件功能46增加节点创建队列队列节点用户修改用户身份强大的资源管理4.2基于WEB图形界面集成度高,嵌入到Gridview中流程简单界面友好1423轻巧的专业应用提交4.2作业调度中间件功能47基于WEB图形界面集成度高,嵌入到Gridview中流程简单管理多个集群1提供完善的参数设置2灵活的提交方式34.2作业调度中间件功能作业提交48管理多个集群1提供完善的参数设置2灵活的提交方式34.2作提供作业监控功能1提供修改作业状态功能2提供多集群作业监控34.2作业调度中间件功能作业管理49提供作业监控功能1提供修改作业状态功能2提供多集群作业监控3提供多个时间段的报表提供多种存储格式实用的用户管理和记账功能4.2作业调度中间件功能50提供多个时间段的报表提供多种存储格式实用的用户管理和记账功能稳定性高4.2作业调度中间件功能代码保护审查严格备份作业调度系统恢复作业调度系统功能稳定01测试严格02具有备份功能单元测试严格集成测试严格兼容性测试严格0351稳定性高4.2作业调度中间件功能代码保护备份作业调度系统功MPI程序,例如:Vasp、WRF、mpiBLAST

等等典型的商业软件,例如:Gaussian、Fluent、Ansys等等应用与作业调度系统相结合常用的mpi程序常用的商业软件用户自己开发的串行并行程序4.3GridView作业调度的应用52MPI程序,例如:典型的商业软件,例如:应用与作业调度系统相常用软件DOCKMPIBLAST···常用软件常用软件工程量子力学生物常用软件AMBERCHARMMGROMACSNAMDLAMMPS···分子动力学应用与作业调度系统相结合高性能主要领域主要业务软件得到各个领域的首席工程师的验证4.3GridView作业调度的应用ANSYSLSDYNACFXCOMSOLFLUENT···ABINITGAUSSIANPWSCFVASP···53常用软件DOCK常用软件常用软件工程量子力学生物常用软件A4.4GridView作业调度的使用544.4GridView作业调度的使用544.4.1节点监控节点监控提供以下几个功能(1)监控节点状态(2)增加节点(3)删除节点(4)重启节点进程554.4.1节点监控节点监控提供以下几个功能554.4.1节点监控564.4.1节点监控564.4.2队列管理队列管理主要包含对队列的创建、删除、修改和查看等操作。只有root用户和用户管理中规定的管理员才能打开队列管理的主页面,从而操作控制队列。574.4.2队列管理队列管理主要包含对队列的4.4.2队列管理584.4.2队列管理584.4.2队列管理594.4.2队列管理594.4.3用户设置用户管理主要是对用户在作业调度系统中的身份、优先级,以及在作业调度系统对资源的使用和使用上限进行设置、修改和查看。这里的用户是指已经存在于操作系统中的一般用户,不包括root用户和用户ID小于500的系统用户。604.4.3用户设置用户管理主要是对用户在作业4.4.3用户设置614.4.3用户设置614.4.4作业提交

该作业调度系统主要通过web页面将作业提交给调度器。系统中有三种提交方式:(1)Portal提交(2)脚本方式提交(3)命令行方式提交每次只能选择一种方式提交,在打开提交窗口时,默认是第一种提交方式。624.4.4作业提交624.4.4.1portal提交根据应用特点定制,目前集成了19种软件,具体使用方法见手册《Gridview_应用Portal_用户手册》634.4.4.1portal提交根据应用4.4.4.1portal提交644.4.4.1portal提交644.4.4.1portal提交用户针对应用特殊配置每个应用在$HOME/.clusportal/目录下有个对应的.setting文件,前缀为应用名。Fluentfluent.setting##runsettingprog_default=/public/software/ansys_inc/v121/fluent/bin/fluentprog_list=/public/software/ansys_inc/v121/fluent/bin/fluent:##runfilesettingFluent_ENVFILE=/public/software/profile.d/fluent-env.sh654.4.4.1portal提交用户针对应用特殊配置Flu4.4.4.2脚本和命令行提交664.4.4.2脚本和命令行提交664.4.4.2脚本和命令行提交674.4.4.2脚本和命令行提交674.4.4.1portal提交机群上作业情况myjobidis326.node1runnodesisfollowing:node4node4node4node4begintimeisTueAug2111:09:34CST2012/public/software/ansys_inc/v121/fluent/fluent12.1.4/bin/fluent-r12.1.42d-g-t4-cnf=/opt/gridview//pbs//dispatcher/aux//326.node1-ssh-mpi=openmpi-i/home/shenj/work/fluent/3/cavity.jou……>parallel/timer/usagePerformanceTimerfor300iterationson4computenodesAveragewall-clocktimeperiteration:0.002secGlobalreductionsperiteration:53opsGlobalreductionstimeperiteration:0.000sec(0.0%)……Totalwall-clocktime:0.560secTotalCPUtime:2.300sec……endtimeisTueAug2111:09:51CST2012684.4.4.1portal提交机群上作业情况myjob实现了平台无关的单一系统映像,减小了用户的软件安装以及跨平台使用的学习成本。实现了对高性能计算的完美封装。实现了对应用的性能提升。实现了对应用的高度优化,包括通信方式、网络连接等多种并行计算参数,为用户提供了计算性能的自动优化。高容错性保障。实现了对用户输入、系统命令、文件权限、作业调度系统等多方面的检查与确认功能,提高用户作业的成功率。基于web方式的提交。提交方式的限制,可降低用户操作难度,减少用户操作带来的系统不稳定因素,同时提高高性能和计算内部网络的安全性。支持用户定制开发。GridviewWebPortal优势69实现了平台无关的单一系统映像,减小了用户的软件安装以及跨平台“VNC管理”提供了查询、打开和删除等管理操作的功能。root和Gridview管理员可以查询或者打开所有的VNC会话,而普通用户仅能查询和打开自身的VNC会话。按钮区域集群列表会话列表4.4.5VNC集成功能70“VNC管理”按钮区域集群列表会话列表4.4.5VNC集打开VNC会话选中某一个VNC会话,然后单击“打开会话”按钮,这时系统会打开一个新的“VNC打开”Tab页来呈现当前选中的VNC会话的窗口内容。4.4.5VNC集成功能71打开VNC会话选中某一个VNC会话,然后单击“打开会话”按钮删除VNC会话删除会话用户可以一次选中一个或者多个会话,删除会话。注意:如果被删除的会话正在被用户打开使用,删除之后那些打开的VNC窗口会被关闭,并且提示网络错误。4.4.5VNC集成功能72删除VNC会话删除会话注意:4.4.5VNC集成功能724.4.6作业管理作业管理主要包含对作业的查询、控制和删除等操作。对作业的控制包括保留、释放、挂起、恢复、重新运行等操作。新作业查询功能管理员可以删除任何作业;普通用户只能删除自己的作业,可以选择多个作业同时删除。734.4.6作业管理作业管理主要包含对作业的查询4.4.7历史作业744.4.7历史作业74主要特点支持管理员和普通用户报表权限区分管理员可统计所有数据普通用户仅可统计自身数据支持多种导出方式PDF、EXCEL、HTML支持多个字段的复合逻辑查询字段包括时间、用户、关键字等逻辑关系包括“与”、“或”支持从不同的角度进行统计用户统计、节点统计、作业统计、集群统计提供总表和详表方便汇报和对账

4.4.8作业记账75主要特点4.4.8作业记账754.4.8作业记账查询条件支持多个字段时间用户名作业名应用类型关键字…支持与或逻辑允许设置字段间的与或关系支持精确/模糊匹配允许设置匹配方式764.4.8作业记账查询条件764.4.8作业记账用户作业统计总表用户作业统计详表4.4.8作业记账用户作业统计总表用户作业统计详表4.4.8作业记账节点使用统计详表节点使用统计总表784.4.8作业记账节点使用统计详表节点使用统计总表784.4.8作业记账CPU使用时间统计794.4.8作业记账CPU使用时间统计794.4.8作业记账历史作业详表历史作业总表4.4.8作业记账历史作业详表历史作业总表4.4.9统计视图814.4.9统计视图81Q&A82Q&A82谢谢!83谢谢!83高性能集群作业调度系统曙光信息产业股份有限公司84高性能集群作业调度系统曙光信息产业股份有限公司1

提纲作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A85提纲作业调度系统概述21.1集群使用中存在的问题节点多用户多任务多861.1集群使用中存在的问题节点多用户多任务多3系统资源整合异构资源,软硬件资源的整合任务综合管理用户提交的任务的统一安排用户权限的管理对用户进行各类权限控制1.2作业调度系统的功能871.2作业调度系统的功能4资源管理器: 管理集群的软硬件资源及认证信息等队列管理器: 管理当前所有已提交但还未完成的作业调度器: 为作业分配资源1.3作业调度系统的组成88资源管理器:1.3作业调度系统的组成5作业调度系统的结构1.3作业调度系统的组成89作业调度系统的结构1.3作业调度系统的组成61.4作业调度系统的发展历史901.4作业调度系统的发展历史7

提纲作业调度系统概述PBS作业调度系统Maui调度器曙光Gridview作业调度中间件Q&A91提纲作业调度系统概述8

PBS(PortableBatchSystem),最初由NASA的Ames研究中心开发,设计为一个能满足异构计算网络需要的软件包。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由。

PBS的开源版本为OpenPBS,目前已经停止开发。PBS的商业版为PBSPro,由Altair公司开发和维护。TORQUE(Tera-scaleOpen-sourceResourceandQueuemanager)为OpenPBS的后续开源版本,修正了OpenPBS的很多bug,功能和可扩展性都有很大提高。2.1PBS作业调度系统92PBS(PortableBatchSystem服务器:pbs_server调度器:pbs_sched执行器:pbs_mom2.2PBS的组成93服务器:pbs_server2.2PBS的组成10解压源文件包

tarzxvftorque-2.5.12.tar.gz编译设置

cdtorque-2.5.12./configure--prefix=/usr/local\

--with-server-home=/var/spool/torque\

--enable-syslog\

--with-scp\

--enable-docs

默认情况下,TORQUE将可执行文件安装在/usr/local/bin和/usr/local/sbin下。其余的配置文件和运行时环境将安装在/var/spool/torque下编译和安装

make makeinstall2.3

PBS的安装(TorqueServer端)94解压源文件包2.3PBS的安装(TorqueServe节点操作系统相同,可以用如下SHELL脚本在计算节点(torque客户端)上安装#在管理节点上makepackages#!/bin/bashforiin`seq120`;doecho=====node$i=====

ssh

node$i/public/sourcecode/torque-2.5.12/\torque-package-mom-linux-*.sh--installDone2.3PBS的安装(TorqueClient端)95节点操作系统相同,可以用如下SHELL脚本在计算节点(tor以root作为torque的管理员账号创建作业队列 在torque的安装源文件根目录中,执行

./torque.setuprootServer配置目录/var/spool/torque/server_priv/计算节点列表及属性:/var/spool/torque/server_priv/nodes node2np=12amdchem node3np=12amdchem node4np=8intelchem node5np=8intelchem node6np=4intelbiogpu node7np=4intelbiogpu2.3PBS

Server配置96以root作为torque的管理员账号创建作业队列2.3PServer的系统启动脚本/etc/init.d/pbs_serverScheduler系统启动脚本/etc/init.d/pbs_schedMom系统启动脚本/etc/init.d/pbs_momTorque服务端chkconfigpbs_serveronchkconfigpbs_schedonservicepbs_serverstartservicepbs_schedstartTorque客户端chkconfigpbs_momonservicepbs_momstart2.3

PBS系统服务97Server的系统启动脚本/etc/init.d/pbs_2.4

PBS主要操作队列设置节点查看提交作业查看作业作业其他操作982.4PBS主要操作队列设置节点查看提交作业查看作业作业其PBS要能正常运行还需要通过qmgr命令在server进行配置,设置一些属性。输入qmgr命令进入配置交互命令,格式为

qmgr动作对象类型和操作符

动作对象类型对象名属性操作符值(,属性操作符值)……create创建一个对象delete删除一个对象set设置对象的属性unset除去对象的属性print打印对象的属性list列出对象的属性server服务器=queue队列+=node节点-=2.4.1PBS的队列设置99PBS要能正常运行还需要通过qmgr命令在server进行配创建队列createqueue队列名queue_type=execution打开和启动队列setqueue队列名enable=t,started=t打开调度setserverscheduling=t设置默认队列setserverdefault_queue=队列名2.4.1PBS的队列设置下面是让PBS可以正常运行的基本设置100创建队列createqueue队列名queue_typ导入server配置文件

qmgr<queue.conf备份配置文件

qmgr-c“printserver”>queue.conf配置文件例子

createqueuedefaultsetqueuedefaultqueue_type=executionsetqueuedefaultmax_running=10setqueuedefaultenabled=Truesetqueuedefaultstarted=Truesetserverscheduling=Truesetserverdefault_queue=defaultsetserverquery_other_jobs=True2.4.1PBS的队列设置101导入server配置文件createqueuede资源和用户限制

resources_default.cput该队列默认的作业的CPU时间,格式:时:分:秒注意:该CPU时间为:进程数*(结束时间-开始时间)resources_default.walltime该队列默认的墙上时间,格式:时:分:秒max_running某队列最多可运行的作业数,如果该项为0或没有该项,表示没有限制max_user_run一个用户最多可以运行的作业数acl_user_enable是否启用用户访问控制,如果acl_user_enable=True,则在acl_users中列出的用户才能使用该队列acl_users格式:<用户名@主机名>,用户名不接受通配符acl_host_enable如果acl_host_enable=True,则acl_hosts属性中列出的主机才能使用该队列acl_hosts该队列可以使用的节点列表2.4.1PBS的队列设置102资源和用户限制 resources_default.cput[dawning@node1~]$pbsnodes-anode2

state=free

np=12

ntype=clusterstatus=rectime=1347344839,varattr=,jobs=,state=free,netload=1994804223313,gres=,loadave=0.15,ncpus=32,physmem=132133404kb,availmem=147084788kb,totmem=148910612kb,idletime=1721946,nusers=1,nsessions=1,sessions=2455,uname=Linuxnode22.6.32-220.el6.x86_64#1SMPWedNov908:03:13EST2011x86_64,opsys=linux

gpus=0node3state=down

np=12

ntype=cluster…2.4.2PBS查看节点状态103[dawning@node1~]$pbsnodes-apbsnodes命令的主要参数-a列出所有结点及其属性,属性包括“state”和“status”-o将指定结点的状态标记为“offline”。这将帮助管理员暂时停止某些结点的服务-l以行的方式列出被标记的结点的状态,如-lfree,-loffline-c清除结点列表中的“offline”或“down”状态设置,使结点可以被分配给作业-r清除指定结点的“offline”状态2.4.2PBS查看节点状态104pbsnodes命令的主要参数2.4.2PBS查看节点状态步骤:准备:编写描述该作业的脚本,包括作业名,需要的资源等。提交:使用qsub命令将该作业提交给PBS服务器排队:服务器将该任务排入适当的队列调度:服务器检查各工作节点的状态是否符合该作业的要求,并进行调度。执行:当条件满足时,作业被发给相应的执行服务器执行。程序运行时执行服务器会收集程序的标准输出和标准错误流,等程序结束时,将这些信息返回给用户。查询和调整:当作业在运行时,用户可以使用qstat进行状态查询。用户发现作业提交错误时,可以使用qdel删除正在运行的作业。查看结果:使用文本编辑软件vi或者系统命令cat,less等查看输出及错误信息显示。2.4.3PBS作业提交105步骤:2.4.3PBS作业提交22在PBS系统中,用户使用qsub命令提交用户程序。用户运行程序的命令及PBS环境变量设置组成PBS作业脚本,如下qsub<PBS作业脚本>2.4.3PBS作业提交基本命令#PBS-Nvasp#PBS-lnodes=2:ppn=1#PBS-lwalltime=12:00:00#PBS-qdefaultcd$PBS_O_WORKDIR./test.exe作业脚本使用如下格式提交到PBS系统运行106在PBS系统中,用户使用qsub命令提交用户程序运行参数说明-a<作业开始运行的时间>向PBS系统指定作业运行的开始时间。作业运行时间格式为:[[[[CC]YY]MM]DD]hhmm[.SS]-A<用户名>使用不同的用户来提交作业,缺省使用当前用户名-o<标准输出文件的路径>-e<标准错误输出的路径>该参数指定标准错误输出的位置,缺省的情况下,PBS系统把标准输出和标准错误输出放在用户qsub命令提交作业的目录下。标准错误输出:<作业名>.o<作业号>标准错误输出:<作业名>.e<作业号>路径使用如下格式标准:[<节点名>:]<路径名>-N<作业名>指定提交的作业名-q<目标队列>指定作业提交的目标队列。如果该参数没有指定,命令qsub会把作业脚本提交到缺省的队列中。-l<申请资源列表>该参数指定作业脚本申请的PBS系统资源列表。申请资源列表使用如下格式:

<资源名>[=[<数量>]][,资源名[=[<数量>]],…..]例如作业希望申请在双路节点上申请4个CPU资源的情况,则可以在脚本中如下:#PBS–lnodes=2:ppn=2运行参数在PBS脚本和qsub命令行中均有效,qsub命令行参数的优先级更高2.4.3PBS运行参数107运行参数说明-a<作业开始运行的时间>向变量名说明登陆SHELL继承来的变量包括$HOME,$LANG,$LOGNAME,$PATH,$MAIL,$SHELL和$TZ。$PBS_O_HOSTqsub提交的节点名称$PBS_O_QUEUEqsub提交的作业的最初队列名称$PBS_O_WORKDIRqsub提交的作业的绝对路径$PBS_JOBID作业被PBS系统指定的作业号$PBS_JOBNAME用户指定的作业名,可以在作业提交的时候用qsub–N<作业名>指定,或者在PBS脚本中加入#PBS–N<作业名>。$PBS_NODEFILEPBS系统指定的作业运行的节点名。该变量在并行机和机群中使用。当在PBS脚本中用#PBS–lnodes=2:ppn=2指定程序运行的节点数时,可以使用$PBS_NODEFILE在脚本中引用PBS系统指定的作业运行的节点名。比如:#PBS–lnodes=2:ppn=2mpirun–np4–machinefile$PBS_NODEFILE<程序名>$PBS_QUEUEPBS脚本在执行时的队列名2.4.3PBS环境变量108变量名说明登陆SHELL继承来的变量包括$H#这是一个串行作业脚本的例子#PBS-Ntest#PBS-lnodes=1:ppn=1cd$HOME/test/./a.out>$HOME/result/a.result#这是一个并行作业脚本的例子#PBS-Nvasp_job#PBS-lnodes=2:ppn=2#PBS-qlowechoThisjobis$PBS_JOBID@$PBS_QUEUEcd

$PBS_O_WORKDIRmpirun-np16-machinefile

$PBS_NODEFILE./vasp2.4.3PBS脚本举例#PBS-lnodes=2:ppn=4:amd:chem#PBS-lnodes=1:ppn=8:chem+1:ppn=8:bio#PBS-lnodes=node1:ppn=8+node2:ppn=8指定节点特性109#这是一个串行作业脚本的例子#这是一个并行作业脚本的例子一些软件有特殊的节点指定格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论