您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > pbs作业管理系统--曙光
PBS作业管理系统2019/10/142内容•任务管理系统概述•PBS作业调度系统•作业调度系统的使用2019/10/143任务管理系统的功能•单一系统映象–机群松散的结构的整合•系统资源整合–异构系统的整合•多用户的管理–用户提交的任务的统一安排,避免冲突•用户权限的管理–非授权用户的控制2019/10/144任务管理系统的简史2019/10/145任务管理系统的分类•基于进程级别的调度–由机群中的操作系统或者运行时Runtime内部支持,对运行的作业进行监控;以实现机群内的透明调度、以及自动优化进程的分配和平衡负载•基于作业级别的调度–这种方式由独立的作业管理系统实现。该系统通过专门的入口,接收用户提交的任务,送入相应的队列等待调度;并在适当的时机分配资源,为任务创建作业,将作业提入运行,在作业运行结束后完成收尾工作,并提供记帐功能。–管理员和用户还可以在机群中查询并预订符合要求的资源,从而实现对作业和资源的全程交互控制。2019/10/146任务管理系统的比较管理实现级别进程级作业级调度方式透明,基于最小负载可以基于网络拓扑/程序特性/负载/自定义策略调度管理层次低级,仅根据局部信息高级,根据全局信息负载均衡方式支持动态负载均衡支持静态负载均衡;如有checkpoint功能,可支持动态负载均衡资源共享仅能够共享硬件资源可以共享硬件、软件和证书等资源服务质量Qos可能造成大作业饥饿,无Qos只要策略适当,可以保证Qos机群一致性的层次入口不一致,仍为多机系统;可以提供存储一致性提供单一系统入口和存储一致性对用户权限、资源和作业的高级管理策略无法实现能够很好地实现系统结构规模可扩展如果规模过大,会遇到前述的O(㎡)的通讯问题,难以扩展通讯量与系统规模成线形放缩,可以很好的扩展对作业类型的限制如前述,不适合于系统调用较多的程序(如I/O密集型)对程序类型无限制2019/10/147内容•任务管理系统概述•PBS作业调度系统•作业调度系统的使用2019/10/148PBS作业调度系统•PBS最初由NASA的Ames研究中心开发,为了提供一个能满足异构计算网络需要的软件包。它力求提供对批处理的初始化和调度执行的控制,允许作业在不同主机间的路由。2019/10/149PBS的技术特色•力求控制对批处理的初始化和调度执行,允许作业在不同主机间的路由。•独立的调度模块存有各个可用的排队作业、运行作业和系统资源使用信息,并且允许系统管理员定义资源和每个作业可使用的数量。•在作业调度策略上,PBS提供了默认的公平共享和独占FIFO调度策略,还提供了TCL、BACL、C三种过程语言和调度类,并定义了一些调度需要的函数和完整的API,方便实现新的调度策略。•提供文件传送,FileStage-in和Stage-out。•满足POSIX1003.2d标准,支持作业依赖,和完整的安全认证。•提供用户映射功能,使PBS能用于用户不一致的系统中。2019/10/1410PBS的结构2019/10/1411PBS的组成•服务器:pbs_server•调度器:pbs_sched•执行器:pbs_mom•命令行:用户脚本,管理命令等2019/10/1412PBS的基本原理2019/10/1413PBS的优缺点•支持系统级检查点功能(需底层操作系统支持)•很好的大规模扩展性•独立的调度模块**•支持作业依赖•符合POSIX1003.2d标准•--只支持Unix类操作系统•--多集群协作功能有限•--不支持用户级检查点功能2019/10/1414术语•节点(node)一个单一的操作系统映像,一个统一的虚拟内存映像一个或多个cpu,一个或多个IP地址的计算机系统被称之为一个节点。通常执行主机(executionhost)也被称之为节点。•节点属性队列、服务器和节点都有与自己相关的属性,这些属性提供控制信息。与节点相关的属性有:状态、类型、虚拟处理器的个数、作业列表(本节点被分配给的作业)以及节点的特性。……•节点特性为了提供一组节点的分配的方法,零个或者多个特性被赋给每个节点。这个特性不过是一串对于PBS没有含义的字母和数字的组合(第一个字符必须是字母)。2019/10/1415PBS安装•解压源文件包[root@node1/public]#tar-zxvfopenpbs-2.3.16.tar.gz•编译设置[root@node1/public/OpenPBS_2.3.16]#./configure--disable-gui--set-server_home=/var/spool/pbs--enable-docs--x-libraries=/usr/X11R6/lib64其中,--x-libraries=/usr/X11R6/lib64是在X86_64(AMD64或EM64T)上安装时,需要指明系统64位库的位置。•编译安装[root@node1/public/OpenPBS_2.3.16]#make[root@node1/public/OpenPBS_2.3.16]#makeinstall2019/10/1416PBS在机群上安装由于节点系统相同,因而可以用如下SHELLscript在node2~node8上安装;#!/bin/bashforiin`seq28`doecho“node$i----------------------------------“rshnode$i“cd/public/openpbs;makeinstall”echo“-------------------------------------------“echo“”done2019/10/1417服务进程配置和启动文件•系统配置文件/etc/pbs.conf#!/bin/shpbs_home=/var/spool/pbs指定系统的pbs的设置的目录位置pbs_exec=/usr/local指定pbs可执行程序的目录位置start_server=1start_sched=1当为1是表示守护进程启动,0为守护进程不启动start_mom=1•系统启动脚本/etc/init.d/openpbs•Server的系统启动脚本/etc/init.d/pbs_server•Scheduler系统启动脚本/etc/init.d/pbs_sched•Mom系统启动脚本/etc/init.d/pbs_mom2019/10/1418Server端设置•初始化server:(第一次运行或者重新配置)/usr/local/sbin/pbs_server–tcreate•Server配置目录/var/spool/pbs/server_priv/•节点属性声明:/var/spool/pbs/server_priv/nodesnode2R220Anp=2node3R220Anp=2node4dualcorenp=4node5dualcorenp=4node6R4280Anp=4node7R4280Anp=42019/10/1419mom端设置•mom配置目录:/var/spool/pbs/mom_priv/•mom配置文件:/var/spool/pbs/mom_priv/config#MOMserverconfigurationfile#ifmorethanonevalue,separateitbycomma.##ruleisdefinedbythename$ideal_load1.5$max_load2##hostallowedtoconnecttoMomserveronunprivilegedport$restricted*.##logevent:#0x1fflogallevents+debugevents#0x0ffjustallevents$logevent0x0ff##hostallowedtoconnecttomomserveronprivilegedport$clienthostnode1##alarmifthescripthangortakeverylongtimetoexecute$prologalarm302019/10/1420Server端的动态设置•PBS要能正常运行还需要通过qmgr命令的server进行配置,设置一些属性。输入qmgr命令进入配置交互命令。下面是让PBS可以正常运行的一些步骤。创建队列createqueue队列名queue_type=Excuttion打开和启动队列setqueue队列名enable=t,started=t打开调度setserverscheduling=t设置默认队列setserverdefault_queue=队列名2019/10/1421qmgr命令(管理员使用)•输入qmgr进入交互式模式后即可输入各种命令•qmgr动作:•对象类型和操作符动作对象类型对象名属性操作符值(,属性操作符值)……create创建一个对象delete删除一个对象set设置对象的属性unset除去对象的属性print打印对象的属性list列出对象的属性server服务器=queue队列+=node节点-=2019/10/1422PBS队列设置•导入server配置文件:[root@node1root]#qmgrqueue.conf•输出配置文件:[root@node1root]#qmgr–c“printserver”queue.conf•配置文件例子:createqueuedefaultsetqueuedefaultqueue_type=executionsetqueuedefaultmax_running=20setqueuedefaultenabled=Truesetqueuedefaultstarted=Truesetserverscheduling=Truesetservermax_user_run=20setserverdefault_queue=defaultsetserverquery_other_jobs=True2019/10/1423Scheduler调度行为配置•Scheduler的行为由配置目录下的sched_priv/sched_config文件进行控制•Sort_by关键字控制调度算法可以选择的选项为no_sort,shortest_job_first,longest_job_first,smallest_memory_first,largest_memory_first,high_priority_first,low_priority_first,multi_sort,fair_share,large_walltime_first,short_walltime_first•修改这个文件后重新启动scheduler即可。2019/10/1424内容•任务管理系统概述•PBS作业调度系统•作业调度系统的使用2019/10/1425PBS的使用步骤1.准备:编写描述改作业的脚本,包括作业名,需要的资源等。2.提交:使用qsub命令将该作业提交给PBS服务器3.排队:服务器将该任务排入适当的队列4.调度:服务器检查各工作节点的状态是否符合该作业的要求,并进行调度。5.执行:当条件满足时,作业被发给相应的执行服务器执行。程序运行时执行服务器会收集程序的标准输出和标准错误流,等程序结束时,将这些信息返回给用户。6.查询和调整:当作业在运行时,用户可以使用qstat进行状态查询。用户发现作业提交错误时,可以使用qdel删除正在运行的作业。7.查看结果:使用文本编辑软件vi或者系统命令cat,less等查看输出及错误信息显示。2019/10/1426PBS的基本命令在PBS系统中,用户使用qsub命令提交用户程序。用户运行程序的命令及PBS环境变量设置组成PBS作业脚本,作业脚本使用如下格式提交到PBS系统运行:[zhaocs@node1~]$qsubPBS作业脚本2019/10/1427qsub运行参数运行参数说明-a作业开始运行的时
本文标题:pbs作业管理系统--曙光
链接地址:https://www.777doc.com/doc-1500494 .html