1.1.1 作业调度功能
作业调度:
作业优先级:
作业的优先级是一个动态的、由多方面因素决定的值,和作业所在的队列、所处的时间和选择的调度策略等诸多因素有关。
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组。
基于方程调度:
用户可以编写一个方程,通过方程来计算每个作业优先级,如参考作业的有效排队时间,核数,申请资源数,队列优先级,作业优先级,fairshare份额等
如根据”ncpus*walltime”进行排序时,CPU申请的越多的作业优先级越高;
根据”Higher”进行排序时,管理员可以根据需要直接对作业的优先级进行修改;
当作业达相应数值时,会自动调整作业优先级并进行相关调度。
基于队列的调度
可以定义多个队列,如按照不同部门,用户,项目,软件,计算规模大小等进行区分,用户提交作业时自动根据提交信息安排作业到相应队列,实现相对的策略
License调度和抢占:
PBS Professional支持各种商业软件的license调度,并可实现license最大使用限制,license抢占调度,license强制释放,支持flex,lmx,rlm,lstc,nodelock等多种不同license管理器,实现对于license的有效调度和管理。
其它调度策略
作业调度支持FIFO、抢占式、回填、公平共享等多种调度策略,保证大作业能够得到有效调度;FIFO、Strict_Ordering with Backfilling、Placement Set、Mutiple-vnodes System Supports、Peer-to-Peer、Job Array、Cycle Harvesting
1.1.2 整合计算资源、方便用户使用
整合计算资源加以充分利用
支持对用户、用户组的资源限制,此资源可基于CPU、核数等因素。
整合所有计算资源(包括CPU、GPU、内存、磁盘空间、软件license、高速互联等),进行有效的统筹、调度,形成一个虚拟的资源池。借助HiriSDM 专业模块强大的资源分配和载荷管理功能,用户可以在贯彻用户资源分配/使用政策的前提下,提高计算资源的利用率和作业吞吐量;同时HiriSDM专业模块强大的特性能保障计算资源不间断地、稳健可靠地运行。
支持包括HP-UX、IBM AIX、SGI IRIX、SGI Altix with SGI Propack、Sun Solaris、Cray UNICOS等Unix环境。
支持包括SuSE 10,11,12、Red Hat 6,7,8、CentOS 6,7,Ubuntu在内的各类Linux操作系统、Windows7/8/10,Windows2012/2016等Windows环境。支持各种架构处理器包括多核处理器包括Intel,AMD,ARM等。支持Luster、GPFS、XFS、CXFS、DMF等各类并行文件系统。支持各种高速互联网络;
支持包括SuSE 10,11,12、Red Hat 5,6,7、CentOS5,6,7在内的各类Linux操作系统
WindowsXp,Windows7/8/10,Windows2003/2008/2012等Windows环境。
支持各种架构处理器包括多核处理器。
支持Luster、GPFS、XFS、CXFS、DMF等各类并行文件系统。
支持各种高速互联网络,如:Infiniband、Myrinet等等。
简化作业流程,方便终端用户使用
能够让所有异构的计算资源在终端用户面前呈现一个单一的映像,终端用户不需要关心自己的计算任务怎样被运行的,无需了解计算的环境,如硬件、操作系统、存储空间、应用软件分布情况等。仅需要向PBS提交作业,作业的运行以及计算结果的返回均由PBS来处理,终端用户无需操心自己计算任务之外的工作。
用户能够在局域网内通过的客户端(CMD)界面使用统一的PBS脚本完成作业递交、文件传输、作业监控、作业查询、作业结果回收等工作。
用户也能够利用通用WEB浏览器使用 Computer Manager在任何地方通过局域网、VPN(虚拟专用网络)、互联网访问算资源。Compute manager能够集成用户各类应用软件(包括用户自编软件),终端用户通过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等。
用户自行开发的应用软件。
1.1.3 可靠性、可用性、可维护性(RAS)
通过pbs自带的图形工具可以直观的监控所有节点的健康状态
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调度器。
2.HiriSDM集成软件-HiriCFD
2.1HiriCFD前处理功能
HiriCFD拥有全新的包面功能,可以将工程案例中的复杂且破碎的CAD模型自动转化为封闭的面网格;表面特征保持与简化、防止接触、漏点检查、自动或手工修补表面等高级功能;具备表面网格重构技术,生成高质量的三角形表面网格能力,且可以将修复以后表面输出STL等格式;包含对单个网格或者局部面网格进行手动修复功能;
能够实现如下操作:节点操作:移动节点,合并节点,投影节点,增加、删除节点等;单元操作:单元的平移、旋转和复制,手工创建、删除单元,单元分裂,局部或整体的密度调整(粗化和细化),修改单元法线方向等;网格模型处理:网格平滑、拓扑检查、重划分、修补等;质量控制:自动检查网格质量,自动进行整体光顺处理,坏单元自动重划,可视化修改网格质量等。