整合计算资源、方便用户使用
整合计算资源加以充分利用
整合所有计算资源(包括CPU、内存、磁盘空间、软件license、高速互联等),形成一个虚拟的资源池。借助PBS Professional强大的资源分配和载荷管理功能,用户可以在贯彻用户资源分配/使用政策的前提下,提高计算资源的利用率和作业吞吐量;同时PBS Professional强大的RAS特性能保障计算资源7x24x365不间断地、稳健可靠地运行。
支持包括HP-UX、HP Tru64 UNIX、IBM AIX、IBM Blue Gene/L、SGI IRIX、SGI Altix with SGI Propack、Sun Solaris、Cray UNICOS、NEC SX-8 Super-UX、Apple OS等各类环境;支持包括SuSE 10、Red Hat 5在内的各类Linux及32位、64位Windows环境;支持各种架构处理器包括多核处理器,支持Luster、GPFS、XFS、CXFS、DMF等各类并行文件系统;支持各种高速互联网络,如:Infiniband、Myrinet等等。
简化作业流程,方便终端用户使用
能够让所有异构的计算资源在终端用户面前呈现一个单一的映像,终端用户不需要关心自己的计算任务怎样被运行的,无需了解计算的环境,如硬件、操作系统、存储空间、应用软件分布情况等。仅需要向PBS提交作业,作业的运行以及计算结果的返回均由PBS来处理,终端用户无需操心自己计算任务之外的工作。
用户能够在局域网内通过的客户端(CMD)界面使用统一的PBS脚本完成作业递交、文件传输、作业监控、作业查询、作业结果回收等工作。
用户也能够利用通用WEB浏览器使用Catalyst在任何地方通过局域网、VPN(虚拟专用网络)、互联网访问算资源。Catalyst能够集成用户各类应用软件(包括用户自编软件),终端用户通过Catalyst菜单就能完成作业递交、文件传输、作业中间结果在线查看、即往作业查询等工作,大大方便了终端用户使用。
PBS能够集成工程计算领域和科学计算领域的各厂商的各类应用软件
仿真分析领域:MSC、ABAQUS Inc、Acusim Software、CD Adapco、Ansoft、Ansys、Fluent、LSTC、ESI Group、Engineous Software、Altair等
生命科学领域:Accelrys、SciTegic、CCDC、OpenEYE、Schrodinger、Tripos、BioSolveIT等
石油物探领域:Permedia、Landmark Graphics、Schlumberger、Paradigm Geo等
PBS能够集成科学计算领域如量子化学、分子动力学、材料科学、气象等各种应用软件有Gaussian、ADF、Molpro、GAMESS、VASP、Wien2K、AMBER、MM5、WRF等;以及用户自行开发的应用软件。
可靠性、可用性、可维护性(RAS)
通过pbs自带的图形工具可以直观的监控所有节点的健康状态;单个PBS Server能够同时管理1000以上用户、20,000以上计算节点(hostname)、10,0000以上CPU、2,000,000以上的作业。
PBS Server/Scheduler Failover
PBS能够自动侦测PBS Server的故障并自动切换至备份的PBS Server
作业自动迁移
PBS能够自动侦测计算节点的故障,并将作业重新排队或进行Check Point Restart。
支持系统级、应用程序级别Checkpoint/Restart
计算节点访问限制
所有终端用户必须通过PBS才能递交作业。终端用户在无作业运行时,除非经管理员特别允许,无法以任何方式使用或访问任何计算节点。
和各类MPI环境的集成
PBS和MPI环境的紧密集成能够有效地监控MPI作业并对异常作业自动进行及时清理、防止计算节点的过度使用、统计CPU运行时间、在作业运行结束后自动清理作业中间文件。针对某些并行环境如LAM和Open MPI,还能够显著提高作业启动时间。目前PBS紧密集成的MPI环境包括:MPICH、MPICH2、MPICH-GM/MX、LAM 6.5.X、LAM 7.X、MVAPICH、IBM POE on HPS switch、HP MPI、SGI MPT、Intel MPI、Scali MPI-Connect。
系统开放性:
兼容POSIX 1003.2d批处理标准;提供大量的API接口和开发文档,允许用户根据自身需要进行封装;独立的调度模块,可选用第三方调度器或自定义调度器替代PBS调度器。
贯彻企业服务公约管理模式
终端用户—希望计算作业尽可能快地完成
管理人员—希望计算资源能够100%地充分利用
企业领导—希望有效地实现企业的战略目标
在贯彻用户资源分配、使用政策的前提下,实现计算资源有效的利用效率;实现基于服务公约管理模式(SLAs)的策略,设置严格的用户优先级、Access Control lists和资源抢占、资源预留、公平共享等Policy-based的资源使用策略。
优化计算资源的使用
根据节点当前使用状况和应用软件运行性能优化地放置作业,用户可以按照需要对节点进行全所未有的灵活分组,从而提高作业的放置效率。
计算资源管理功能
资源管理:
PBS Professional的资源包括用户资源(软、硬件)及内部资源(队列、用户、作业、日志等)
队列管理:
PBS Pro将队列分成两种类:可执行队列/路由队列;队列可以具备优先级,超过150则为express队列;支持对队列进行设置,不同队列可运行来自不同用户/用户组的作业、不同的应用软件;队列能够定义作业的放置节点集合,不同的队列中的作业能运行的节点集合可以不同;虚拟节点(vnode)可以和队列进行绑定,仅运行来自这些队列的作业;支持定义基于user/host/group的队列访问控制列表(ACL);支持peer队列,用于在不同的站点之间路由作业—peer-to-peer。
作业管理:
管理员:
能够批量删除任何作业,不会引起e-mail风暴;
能够批量重排队任何作业;
能够强行在指定节点上运行某个作业;
能够在任何队列间移动任何作业。
用户:仅对自己的作业拥有权限:
查询/删除/发信号/定义依赖关系/重新排队
能够对自己的作业设置相对优先级;
能够重新定义自己作业的在队列中的顺序
能够移动自己的作业。
节点管理:
管理员能够增加、删除节点,可以定义节点的任何非只读属性;
管理员能够定义某些节点处于offline状态,从而调度器不会在其上运行作业;
管理员根据需要能够将节点虚拟化成多个虚拟节点;
管理员可以图形化方式查看节点当前的负载/cpu效率/内存等等状况。
节点监控:
PBS Pro的资源监控由MOM和server/sheduler共同完成,由MOM向server/schedule提供节点资源的信息;
提供Graphical Monitoring (dashboard) Package。
用户管理:
支持各类用户认证方式;
能够在server/queue级别定义用户、用户组的ACL;
能够在计算节点的级别(MOM)定义有差别的访问控制列表。
内存管理:
PBS Pro能够对并行/SMP作业实行内存使用限制:
作业请求的内存必须小于各个节点目前free的内存;
作业在任何节点上使用的实际内存不能超过它请求的值,否则该作业可能被终止。
磁盘管理:
PBS Pro能够确保当前的磁盘空间能满足该作业的需求;可以结合操作系统disk quota来进行进一步的限制。
日志管理:
支持对各daemon的日志详细程度的定义;
支持日志文位置的指定;
支持log文件的专储;
包含并行作业在各个节点上的cpu时间和wall time;
包含网络阻塞记录;
能够和syslog工具集成
作业调度功能
作业调度:
作业优先级:
作业的优先级是一个动态的、由多方面因素决定的值,和作业所在的队列、所处的时间和选择的调度策略等诸多因素有关。
PBS Pro缺省状态下的优先级顺序分别为:
预约资源、“Express”队列中的作业、“饥饿”作业、被休眠的作业、“round_robin”或者” by_queue”指向的当前队列中的作业、由fairshare或者job_sort_key排序得出的作业
用户也可以定义一个算法来计算作业的优先级,并要求PBS Pro按照此优先级加以调度。
抢占性调度:
调度过程:
系统决定当前优先级******且具备抢占资格的作业;如系统资源不足,该作业无法运行,开始抢占调度;对正在运行的作业计算“抢占优先级”;如:Preempt_prio: “express_queue, starving_jobs, express_queue+server_softlimits, normal_jobs, starving_jobs+server_softlimits, server_softlimits”;
选择一个作业进行抢占,如有多个满足被抢占条件,可选择***近启动的作业;preempt_sort: min_time_since_start
按照系统定义的抢占方法进行抢占调度;suspend/checkpoint/requeue,如:preempt_order: “SCR 80 SC 50 S”
份额控制:
Fairshare:即预先给用户/组分配一定的使用额度(基于某种资源的比例,如ncpus*walltime),根据用户/组过去该指标的使用状况,比照其应该的份额,从而动态调整其作业的优先级,PBS Pro允许一个用户同时属于多个fairshare组。
其它调度策略
FIFO、Strict_Ordering with Backfilling、Placement Set、Mutiple-vnodes System Supports、Peer-to-Peer、Job Array、Cycle Harvesting
网格计算
Grid Forum, area director;
Open Grid Forum, board member;
支持Advance Reservations (单独使用或者在网格环境中使用);
提供Cross-System Scheduling (可同时管理多个系统/集群);
提供Peer-to-Peer Scheduling (可在物理上分散的站点间平衡载荷);
Globus合作伙伴,支持Globus Grid Toolkit,支持GridFTP和Globus X.509安全认证;
参与了NASA信息动力网格(NASA IPG)、欧洲数据网格(Data Grid);
支持UNICORE (典型案例EUROGRID项目)。