计算资源调度管理软件应用技术研究

时间:2022-08-25 09:27:10

计算资源调度管理软件应用技术研究

摘 要:本文以美国Altair公司企业级资源调度管理软件PBS为例,对计算资源调度管理的应用进行了探讨和研究。包括作业调度管理概念、作业调度管理发展简史、作业调度管理系统模块、常见调度策略、作业调度管理软件的安装与配置等。其中作业提交脚本以Nastran仿真分析软件为例编写。

关键词:作业管理器;调度器;计算节点

中图分类号:TP393.02

现代CAE技术已经非常成熟,结构有限元分析、多体动力学仿真、计算流体力学、热力学分析、结构与多学科优化等技术在航空行业得到了广泛的应用。近十多年来,研究所陆续引进了Nastran、ANSYS、Fluent、CFX、NUMECA、Flowmaster等一批通用CAE软件,模拟仿真经验逐步积累,仿真精度和可靠性程度不断提高,已经在发动机设计过程中起到了预测发动机性能、辅助改进改型的作用,降低了设计和试验成本,缩短了型号研制周期,对提高设计和试验质量起到了越来越重要的作用。特别是随着近几年软硬件条件的不断改善,研究所的计算能力得到了显著提高。

作为计算环境重要组成部分的作业调度管理系统,就是为了提高软硬件资源利用效率,满足各个不同层面的需求而诞生。建立计算作业管理系统,将为广大CAE工程技术人员提供了良好的人机交互接口以及强大的资源调度策略,成为CAE工程技术人员、系统管理人员的得力助手。

1 作业调度管理概念

作业调度是指控制无人值守的计算机后台执行程序的计算机应用程序。

作业调度(job scheduler)的同义词是批处理管理系统,分布式资源管理系统(DRMS:Distributed Resource Management System)和分布式资源管理(DRM:Distributed Resource Manager)。现在的作业调度程序,通常被称为作业载荷自动化程序,通常提供一个图形化的用户界面和一个单一控制点定义和监测的背景处理计算机的分布式网络。越来越多的作业调度程序需要协调与跨越不同的操作系统平台和业务应用环境传统的IT后台处理实时业务活动的整合。

作业调度与进程调度概念容易发生混淆,进程调度是指在操作系统层面上运行的管理CPU进程分配的程序。

作业调度的主要功能定位就是管理计算机集群的队列。通常情况下,调度系统可以发现集群特定资源(如节点,磁盘,license)进入空闲状态,并将作业推送到这些空闲的资源上。

目前作业调度管理系统主要实现了整合所有异构、分布的计算资源(包括CPU、内存、磁盘空间、软件license、高速互联、GPU等),形成一个虚拟的资源池,并加以集中化管理是HPC中心首要的任务。借助强大的资源管理和作业调度功能,站点可以将现有的所有异构、分布的计算资源加以整合,并在贯彻用户资源分配/使用政策的前提下,统一管理、监控,并进行资源分配和作业调度,最大限度地提高计算资源的利用率和作业吞吐量。

2 没有作业调度管理系统所面临的问题

(1)越来越复杂的架构,没有那个用户知道目前系统内有哪些软硬件,安装在哪里,系统可用性如何等信息;(2)本地的资源无法负荷越来越大的计算任务,而在集群内的资源如何分配如何管理成为管理员和投资者的大问题;(3)需要经常查看别人的作业占用了多少CPU,使用的是什么软件的license,还剩下多少;(4)如果同时上去计算,每个人都很慢;(5)如果等待,不知道他人何时能够计算完毕;(6)夜间、周末及节假日无法充分利用资源计算人人配置一台很好的机器仍不能从根本上解决以上问题;(7)需要学习linux或unix;(8)需要上传计算文件;(9)需要经常查看自己的作业是否算完;(10)需要手工下载计算结果;(11)无法控制用户对资源的使用,如谁可以用Radioss,可以用几个CPU?(12)不知道哪些节点装有什么软件;(13)某个节点出故障了,作业不能自动转到其他地方计算;(14)无法知道哪几台机器是空闲的;(15)无法知道繁忙的机器何时会空闲;(16)需要记住每次提交计算的节点以便查看作业状态,取回计算文件。

3 作业调度管理软件的发展

目前业界主流的作业调度和管理系统分为商业和免费两大种类。

商业软件主要厂商为三家,分别是Altair公司的PBS(Portable Batch System)系列,IBM在2012年收购PLATFORM的LSF(Load Sharing Facility)产品和Adaptive Computing的Moab,目前在中国有技术支持的为Altair和IBM。

免费软件主要针对市场是科研教育客户,而商业软件主要客户为军工,航空航天,船舶,汽车,机车,能源等商业客户。

4 作业调度管理系统模块

目前所有的作业调度管理系统基本都包括三个主要模块,分别为作业管理器Server,由它负责维护所有队列、资源等相关信息;调度器Scheduler,由它负责完成所有的资源查询、调度策略实现等功能;计算节点Client,由它负责执行Server推送来的作业,并完成作业的使用情况监控和作业完成后的清理工作。

其他模块:(1)Portal系统:因为很多的CAE用户对于Linux不太熟悉,很难掌握命令行下的作业提交管理,文件上传和下载,商业软件厂商都推出了基于Web技术的Portal系统,通过Portal,用户可以非常简单的通过浏览器提交计算作业到高性能计算集群,而当今的Portal技术,除了需要提供用户所需要的作业提交,作业监控,文件上传下载外,还需要针对管理员提供系统监控,用户管理,授权管理,系统设置等其他功能,而随着图形虚拟化技术的成熟,基于图形的作业管理和图形节点分享也成为了Portal的重要新功能;(2)报表系统:为了满足决策层对于整个软硬件资产投入产出比的需要,对于整个高性能计算集群的软硬件使用情况,各个部门的使用状态,软件饱满程度,目前系统是否能够满足应用需求,需要有量化的报表输出,所以主要的商业软件厂商都提供了专业的报表系统,而Altair提供了两种类型报表,软件使用信息报表(SAO)和硬件使用信息报表(PBS Analytics);

5 常见调度策略及说明

作业的优先级是一个动态的、由多方面因素决定的值,和作业所在的队列、所处的时间和选择的调度策略等诸多因素有关。

5.1 常见默认调度策略

预约资源中的作业、“Express”队列中的作业、“饥饿”作业、被休眠的作业、“round_robin”或者“by_queue”指向的当前队列中的作业、由fairshare或者job_sort_key排序得出的作业。

5.2 高级的抢占性调度策略

站点可自定义抢占性调度时,所有作业的抢占调度等级,指示系统按照此等级来决定作业所在的等级,从而进行抢占性调度。可定义的调度等级可以是以下各项或其任意组合:express_queue,starving_jobs,fareshare,queue_softli mits,server_softlimits,normal_jobs。如有多个满足被抢占条件,站点可定义选择最近启动的作业;preempt_sort:min_time_since_start,否则会选择运行时间最长的作业。

作业被抢占的方式,可以是S,即休眠,或者C,即Check Point/Restart,或者R,即重新排队。

站点可以根据作业完成比例不同而选择不同的抢占方式:suspend/checkpoint/requeue,如:preempt_order:“SCR 80 SC 50 S”。

5.3 作业智能优化放置

可按照需要对节点进行全所未有的灵活分组,并自动根据节点当前使用状况和应用软件运行性能最优化原则,智能地优化放置作业,从而大幅度提高作业的放置效率和终端用户的资源请求灵活性。

例如:用户可请求16个CPU,无论是单台机器使用SMP运行,还是1~16台机器使用MPI运行;用户也可请求,只在Infiniband上运行该作业等等。如用户无特别要求,则PBS Professional将根据节点的当前使用状况,优化放置作业,在满足作业需要的同时,提供作业的运行效率。

6 作业管理软件的安装

6.1 PBS Professional模块说明

PBSPro包含如下三个子程序:(1)Server(服务端程序);(2)Scheduler(调度功能子程序);(3)MoM(计算节点子程序)。

6.2 Linux版本安装步骤

6.2.1 准备工作

(1)管理节点,计算节点,IO节点,存储等硬件系统配置完成;(2)操作系统已安装完成,且网络已经联通;(3)NFS或其他网络文件系统已经正常挂载到各节点;(4)NIS或LDAP帐号验证已经配置完成,用户主目录设置到NFS共享目录;(5)机器之间hosts表已经配置,且任何用户使用hostname或ip都能无密码访问;(6)PBSPro安装程序已经放在NFS共享目录以及相关的许可证已经申请成功

6.2.2 安装步骤

6.2.2.1 安装PBS许可证管理器

7 结束语

随着研究所自主创新能力的提升,越来越多的型号项目设计工作引入了CAE、CFD等大量计算模拟技术,成为创新研发不可缺少的强大引擎。

如何更好的提升研究所设计能力,如何更快更好的完成型号研发,成为研究所亟需解决的问题;而相关的CAE设计人员需要的是如何简单快捷的作业提交方式、如何能够随时掌握计算过程和了解相关计算进度;IT部门管理人员关心如何了解机器的使用效率、是否方便管理、如何了解整个系统的运行状况等信息。

通过作业调度管理系统解决方案,完成整合计算资源和各类系统软硬件资源,针对不同需求和层次的用户提供不同的计算资源条件。

通过计算门户Portal,HPC(高性能计算)终端用户可以基于web、使用向导式的方式,访问和使用HPC资源并能远程管理自己的作业、数据等。同时,用拖曳计算文件的方式 (Drag & Drop)来和系统交互;终端用户也可以在基于桌面的交互式应用程序界面内,向远程HPC设施提交作业,这需要应用程序本身的支持,或基于此应用程序进行开发;HPC站点管理员则可通过web来定义和部署应用程序。

通过作业调度管理系统,整合各站点的所有计算资源、实现站点资源使用策略,并通过其强大的资源管理和作业调度功能,来最大化站点HPC资源的利用效率。同时,通过作业调度管理系统提供的强大可靠性,确保站点运行稳定,有力支撑型号研发活动的连续性,帮助IT部门管理员通过其强大的统计功能和业务分析能力来可视化站点使用状况,并优化资源调度策略。

参考文献:

[1]https:///wiki/Portable_Batch_System.

[2]https:///wiki/PBS_Pro.

作者简介:魏雅江(1962-),男,江苏人,主任设计师,高级工程师,研究方向:Unix系统管理。

作者单位:中航工业航空动力机械研究所,湖南株洲 412002

上一篇:基于属性相关度的Web数据库大小估算方法 下一篇:主机内容过滤系统的开发设计研究