CN115202992A - 面向slurm调度系统的CFD作业收敛性监控方法 - Google Patents
面向slurm调度系统的CFD作业收敛性监控方法 Download PDFInfo
- Publication number
- CN115202992A CN115202992A CN202211121559.0A CN202211121559A CN115202992A CN 115202992 A CN115202992 A CN 115202992A CN 202211121559 A CN202211121559 A CN 202211121559A CN 115202992 A CN115202992 A CN 115202992A
- Authority
- CN
- China
- Prior art keywords
- cfd
- job
- convergence
- calculation
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明适用于数据处理技术领域,提供了一种面向slurm调度系统的CFD作业收敛性监控方法,根据slurm分配的作业ID,使用sacct查询指令,定时查询获取CFD作业的各节点的作业状态;根据获取的各节点的作业状态,筛选出需要处理的作业状态;若需要处理的作业状态为“运行中”或“完成”,对CFD作业的计算结果进行收敛性判断;若收敛或发散则结束该作业的计算,若未收敛则自动续算。本发明提出根据sacct查询指令查询的状态来相应地制定控制策略,从而slurm调度系统可以自动地完成对CFD计算收敛性的判断,从而提高计算效率,节约计算资源。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种面向slurm调度系统的CFD作业收敛性监控方法。
背景技术
CFD(Computational Fluid Dynamics)是一种数值求解流体动力学控制方程的技术,且无法准确预先设置达到收敛所需的计算步数,一般只能凭经验,步数设置过小,CFD计算结果还未收敛,作业却已经结束了;计算步数设置过大,CFD结果即便已经满足收敛条件,但还会继续计算完剩余步数,占用计算资源。而且为了保证计算精度,计算网格量较大,对计算资源和时间需求都很高。为了更好的提高计算资源利用率和计算效率,需要一种实时、自动、高效的CFD作业监控与管理技术方案。
发明内容
Slurm(Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的集群管理和作业调度系统,在超级计算机(如天河二号)和计算集群上广泛使用。使用sbatch指令批量发布CFD作业后,slurm调度系统会为每个作业分配一个ID号,用户可以根据作业ID,使用查询指令手动查询节点上的作业状态,如完成、失败、取消、节点错误等。但slurm调度系统返回的作业状态(即计算节点上运行的CFD程序处于排队、运行、正常结束或异常结束等状态),仅表示节点是否正确运行完成其分配的计算任务,不足以判断计算结果是否达到收敛条件。
本发明提供一种面向slurm调度系统的CFD作业收敛性监控方法,以弥补现有技术的不足。本发明是这样实现的:
一种面向slurm调度系统的CFD作业收敛性监控方法,包括以下步骤:
S10. 根据slurm分配的作业ID,使用sacct查询指令,查询获取CFD作业的各节点的作业状态;
S20. 根据S10所获取的各节点的作业状态,筛选出需要处理的作业状态;所述需要处理的作业状态至少包括:“运行中”和“完成”;
S30.根据所述需要处理的作业状态执行以下步骤:
当所需处理的作业状态为“运行中”或“完成”,对CFD作业的计算结果进行收敛性判断;
若计算结果判断为“收敛”,则将该节点的作业状态标记为“收敛”,并结束该节点的计算;
若计算结果判断为“未收敛”,则自动续算,并且将作业状态由“完成”更改为“运行中”;
若计算结果判断为“发散”,则将该节点的作业状态标记为“发散”,并结束该作业的计算。
进一步地,步骤S20中,所述需要处理的作业状态还包括以下状态中的任意一个或多个:“失败”,“取消”,“节点故障”;
所述步骤S30中,根据所述需要处理的作业状态执行以下步骤:
当所需处理的作业状态为“失败”或“取消”,则判断是否存在CFD输出的计算结果文件,若不存在,则自动重发作业;若存在,则对作业的计算结果进行收敛性判断;
当所需处理的作业状态为“节点故障”,则自动重发作业。
进一步地,单个节点的所述自动重发作业的次数不超过三次。
进一步地,其特征在于,所述收敛性判断的方法为:
根据CFD输出的计算结果文件和残差文件;选取指定计算参数,读取最后N歩的计算结果,计算相对振幅;
当所述相对振幅小于设定阈值,和/或残差下降达到第一设定量级,则判断为“收敛”;
当计算结果文件中的计算结果有“无可行解”或“无穷大”,或当前步骤的残差较上一步骤的残差升高超出第二设定量级,则判断为“发散”;
否则,判断结果为“未收敛”。
进一步地,所述相对振幅为:(最大值-最小值)/平均值。
进一步地,当所述收敛性判断结果为“发散”时,发出警告。
进一步地,步骤S10中,间隔预设时间查询获取一次CFD的各节点的作业状态;每次间隔的时间相等或不等。
本发明基于slurm调度系统的查询指令查询的信息,制定合理的控制策略和收敛性判断技术,自动判断计算的收敛性,从而能够实时、自动、高效地对CFD作业进行监控和管理。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种面向slurm调度系统的CFD作业收敛性监控方法的流程图;
图2是本发明实施例的某CFD作业的密度残差收敛历程曲线;
图3是本发明实施例的某CFD作业的升力系数收敛历程曲线。
具体实施方式
以下的说明提供了许多不同的实施例、或是例子,用来实施本发明的不同特征。以下特定例子所描述的元件和排列方式,仅用来精简的表达本发明,其仅作为例子,而并非用以限制本发明。
Slurm是一种可用于大型计算节点集群的集群管理和作业调度系统,在超级计算机(如天河二号)和计算集群上广泛使用。由于Slurm系统只是一个调度系统,或者资源管理系统,其自身并不会监控计算是否达到收敛,现有技术中,在运行CFD时,如背景技术所述,往往是用户根据经验设定一个运行步数,这样做的后果就是,如果步数设置过小,CFD计算结果还未收敛,作业却已经结束了;计算步数设置过大,CFD结果即便已经满足收敛条件,但还会继续计算完剩余步数,占用计算资源。
为了解决这一问题,通常用户会在计算过程中,手动通过查看每一步的计算结果和残差文件,根据经验来判断CFD计算结果的收敛情况,并做对应的处理,比如若节点计算完成,但CFD作业结果还未收敛,需要进行续算;或者作业尚在运行中,但其结果已经达到收敛程度,可以提前取消或终止作业以释放计算资源。
但是这种传统的人工手动查询并制定控制策略的方式,效率低,并且时效性差。因此,本申请的目的就是为了提高slurm调度系统下CFD计算的高效性。
由于使用sbatch指令批量发布CFD作业后,slurm调度系统会为每个作业分配一个ID号,用户可以根据作业ID,使用查询指令手动查询节点上的作业状态,如完成、失败、取消、节点错误等。但slurm调度系统返回的作业状态(即计算节点上运行的CFD程序处于排队、运行、正常结束或异常结束等状态),仅表示节点是否正确运行完成其分配的计算任务,不足以判断计算结果是否达到收敛条件。
本申请提出根据sacct查询指令查询的状态来相应地制定控制策略,从而slurm调度系统可以自动地完成对CFD计算收敛性的判断,从而提高计算效率,节约计算资源。
具体地,一种面向slurm调度系统的CFD作业收敛性监控方法,如图1所示,包括以下步骤:
S10. 根据slurm分配的作业ID,使用sacct查询指令,查询获取CFD作业的各节点的作业状态;
本领域技术人员知晓,sacct查询指令是本领域的现有技术,直接调用即可,在此不再赘述。
S20. 根据S10所获取的各节点的作业状态,筛选出需要处理的作业状态;所述需要处理的作业状态至少包括:“运行中”或“完成”中的至少一个,还可以包括以下作业状态中的任一一个或多个:“失败”,“取消”,“节点故障”;
本发明中,对以上作业状态的定义如下:
“运行中”,CFD作业被分配资源后进入运行状态;
“完成”,CFD作业成功结束,正常退出;一般情况下是用户设定的计算步数已经达到后的正常退出;
“失败”,CFD作业因为参数错误而不能运行,异常退出;
“取消”,CFD作业被用户、管理员或系统取消;
“节点故障”,作业在提交或运行过程中,计算节点发生错误;
通常情况下,sacct查询指令还能查询到“排队”的作业状态,即CFD作业在队列中排队调度,等待分配资源。这种情况下,不做任何处理。
S30.根据所述需要处理的作业状态执行以下步骤:
当所需处理的作业状态为“运行中”或“完成”,对CFD作业的计算结果进行收敛性判断;也就是说,每隔一定时间需要对正在计算或者已经完成的计算节点的计算结果做收敛性判断。
作为优选,每次所间隔的时间可以是相等的,也可以是不相等的。当然,为了节约计算资源,可以在计算开始阶段间隔的时间设置得长一点,随着计算的进行,后续计算过程中间隔时间设置得短一点。
当所需处理的作业状态为“失败”或“取消”,则判断是否存在CFD输出的计算结果文件,若不存在,则自动重发作业;若存在,则对作业的计算结果进行收敛性判断;
当所需处理的作业状态为“节点故障”,则自动重发作业。
作为优选,单个节点的自动重发作业的次数不超过三次,如果仍然为“失败”,“取消”或“节点故障”,则停止计算,并发出异常作业的警告。
若计算结果判断为“收敛”,则将该节点的作业状态标记为“收敛”,并结束该节点的计算;
若计算结果判断为“未收敛”,则自动续算,并且将“完成”更改为“运行中”;
若计算结果判断为“发散”,则将该节点的作业状态标记为“发散”,并结束该节点的计算。
在本实施例中,收敛性判断的具体方法为:
根据CFD输出的计算结果文件和残差文件;选取指定计算参数,读取最后N歩的计算结果,计算相对振幅;本领域技术人员可以理解,指定计算参数应选为本次计算所关注的参数,例如气动物理参数,如升力,阻力等;
所述相对振幅为:(最大值-最小值)/平均值。
当所述相对振幅小于设定阈值(例如3%-5%),和/或残差下降达到第一设定量级(例如取3),则判断为“收敛”;
当计算结果文件中的计算结果有“无可行解”或“无穷大”(一般气动力文件或残差文件中出现NAN、INF等数学错误提示),或当前步骤的残差较上一步骤的残差升高超出第二设定量级(例如超出5个量级),则判断为“发散”;此时,系统可以发出警告,提醒用户。作业发散一般由于计算参数设置有误,需要用户根据专业知识修改计算设置,因此不自动进行操作管理,仅标记用以用户方便区分即可。
否则,判断结果为“未收敛”。
针对大展弦比飞机DLR-F6算例的计算作业,执行上述作业收敛性监控方法,具体步骤如下:
步骤一:使用sacct指令定时查询作业状态,显示运行中。
步骤二:对运行中的作业进行收敛性判断,收敛判据为残差下降三个量级且最后一百步的升力系数振幅不超过1%,其密度残差和升力系数的收敛历程曲线分别如图2(取10的对数)和图3,经判定,该作业已经达到收敛状态,可以提前终止作业(设置需要计算12000步,实际9630步即达到收敛,可以少计算2000多步)。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,包括以下步骤:
S10. 根据slurm分配的作业ID,使用sacct查询指令,查询获取CFD作业的各节点的作业状态;
S20. 根据S10所获取的各节点的作业状态,筛选出需要处理的作业状态;所述需要处理的作业状态至少包括:“运行中”和“完成”;
S30.根据所述需要处理的作业状态执行以下步骤:
当所需处理的作业状态为“运行中”或“完成”,对CFD作业的计算结果进行收敛性判断;
若计算结果判断为“收敛”,则将该节点的作业状态标记为“收敛”,并结束该节点的计算;
若计算结果判断为“未收敛”,则自动续算,并且将作业状态由“完成”更改为“运行中”;
若计算结果判断为“发散”,则将该节点的作业状态标记为“发散”,并结束该作业的计算。
2.根据权利要求1所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,步骤S20中,所述需要处理的作业状态还包括以下状态中的任意一个或多个:“失败”,“取消”,“节点故障”;
所述步骤S30中,根据所述需要处理的作业状态执行以下步骤:
当所需处理的作业状态为“失败”或“取消”,则判断是否存在CFD输出的计算结果文件,若不存在,则自动重发作业;若存在,则对作业的计算结果进行收敛性判断;
当所需处理的作业状态为“节点故障”,则自动重发作业。
3.根据权利要求2所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,单个节点的所述自动重发作业的次数不超过三次。
4.根据权利要求3所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,所述收敛性判断的方法为:
根据CFD输出的计算结果文件和残差文件;选取指定计算参数,读取最后N歩的计算结果,计算相对振幅;
当所述相对振幅小于设定阈值,和/或残差下降达到第一设定量级,则判断为“收敛”;
当计算结果文件中的计算结果有“无可行解”或“无穷大”,或当前步骤的残差较上一步骤的残差升高超出第二设定量级,则判断为“发散”;
否则,判断结果为“未收敛”。
5.根据权利要求4所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,所述相对振幅为:(最大值-最小值)/平均值。
6.根据权利要求4所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,当所述收敛性判断结果为“发散”时,发出警告。
7.根据权利要求1-6任一所述的一种面向slurm调度系统的CFD作业收敛性监控方法,其特征在于,步骤S10中,间隔预设时间查询获取一次CFD的各节点的作业状态;每次间隔的时间相等或不等。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211121559.0A CN115202992B (zh) | 2022-09-15 | 2022-09-15 | 面向slurm调度系统的CFD作业收敛性监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211121559.0A CN115202992B (zh) | 2022-09-15 | 2022-09-15 | 面向slurm调度系统的CFD作业收敛性监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115202992A true CN115202992A (zh) | 2022-10-18 |
CN115202992B CN115202992B (zh) | 2022-11-22 |
Family
ID=83573471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211121559.0A Active CN115202992B (zh) | 2022-09-15 | 2022-09-15 | 面向slurm调度系统的CFD作业收敛性监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115202992B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170180469A1 (en) * | 2015-12-16 | 2017-06-22 | Dell Products L.P. | Method and system for forming compute clusters using block chains |
CN107122243A (zh) * | 2017-04-12 | 2017-09-01 | 杭州远算云计算有限公司 | 用于cfd仿真计算的异构集群系统及cfd计算方法 |
CN110177020A (zh) * | 2019-06-18 | 2019-08-27 | 北京计算机技术及应用研究所 | 一种基于Slurm的高性能集群管理方法 |
CN110599363A (zh) * | 2019-08-26 | 2019-12-20 | 重庆大学 | 一种计及梯级水电站优化调度的电力系统可靠性评估方法 |
CN113315118A (zh) * | 2021-04-26 | 2021-08-27 | 中国南方电网有限责任公司 | 基于并行计算及粒子群算法的电力系统状态估计方法 |
CN114239428A (zh) * | 2021-11-23 | 2022-03-25 | 西北工业大学 | 一种基于大规模cfd并行计算软件的自动化不确定度分析平台及其方法 |
CN114675975A (zh) * | 2022-05-24 | 2022-06-28 | 新华三人工智能科技有限公司 | 一种基于强化学习的作业调度方法、装置及设备 |
-
2022
- 2022-09-15 CN CN202211121559.0A patent/CN115202992B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170180469A1 (en) * | 2015-12-16 | 2017-06-22 | Dell Products L.P. | Method and system for forming compute clusters using block chains |
CN107122243A (zh) * | 2017-04-12 | 2017-09-01 | 杭州远算云计算有限公司 | 用于cfd仿真计算的异构集群系统及cfd计算方法 |
CN110177020A (zh) * | 2019-06-18 | 2019-08-27 | 北京计算机技术及应用研究所 | 一种基于Slurm的高性能集群管理方法 |
CN110599363A (zh) * | 2019-08-26 | 2019-12-20 | 重庆大学 | 一种计及梯级水电站优化调度的电力系统可靠性评估方法 |
CN113315118A (zh) * | 2021-04-26 | 2021-08-27 | 中国南方电网有限责任公司 | 基于并行计算及粒子群算法的电力系统状态估计方法 |
CN114239428A (zh) * | 2021-11-23 | 2022-03-25 | 西北工业大学 | 一种基于大规模cfd并行计算软件的自动化不确定度分析平台及其方法 |
CN114675975A (zh) * | 2022-05-24 | 2022-06-28 | 新华三人工智能科技有限公司 | 一种基于强化学习的作业调度方法、装置及设备 |
Non-Patent Citations (5)
Title |
---|
JAMES H.ADLER ET AL.: "monolithic multigrid methods for magnetohydrodynamics", 《SLAM JOURNAL ON SCIENTIFIC COMPUTING》 * |
张健 等: "面向航空航天领域的工业CFD软件研发设计", 《软件学报》 * |
朱朝等: "一个CFD计算作业调度系统的设计与实现", 《航空计算技术》 * |
王炳飞等: "蚁群算法在服务器集群批量任务调度中的应用", 《小型微型计算机系统》 * |
陈树生等: "CFD软件自动化验证确认云平台设计与实现", 《航空学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115202992B (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020181813A1 (zh) | 一种基于数据处理的任务调度方法及相关设备 | |
US8352621B2 (en) | Method and system to automatically optimize execution of jobs when dispatching them over a network of computers | |
CN109992403B (zh) | 多租户资源调度的优化方法、装置、终端设备及存储介质 | |
CN109471705B (zh) | 任务调度的方法、设备及系统、计算机设备 | |
CN110350609B (zh) | Agv的充电管理方法及系统、设备和存储介质 | |
EP3935503B1 (en) | Capacity management in a cloud computing system using virtual machine series modeling | |
CN113051019A (zh) | 流程任务执行管控方法、装置以及设备 | |
CN109766172A (zh) | 一种异步任务调度方法以及装置 | |
CN107316124B (zh) | 大数据环境下大规模事务型作业调度与处理通用系统 | |
CN111427683A (zh) | 一种计算机中流程自动化用机器人的任务分配方法方法及装置 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
CN106598740A (zh) | 一种限制多线程程序占用cpu利用率的系统及限制方法 | |
CN112015549B (zh) | 一种基于服务器集群的调度节点的选择抢占方法及系统 | |
CN111382031B (zh) | 测试方法及装置 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
CN115202992B (zh) | 面向slurm调度系统的CFD作业收敛性监控方法 | |
CN103442087B (zh) | 一种基于响应时间趋势分析的Web服务系统访问量控制装置和方法 | |
WO2003005136A2 (en) | A scheduling method and system for controlling execution of processes | |
CN111143210A (zh) | 一种测试任务调度方法和系统 | |
CN116700925A (zh) | 一种基于rpa的数字员工群体协作方法 | |
CN106354555A (zh) | 一种操作系统进程调度算法 | |
CN114826908B (zh) | kubernetes集群服务保障方法、组件、系统 | |
CN115934365A (zh) | 一种应用于cpu的任务调度耦合系统 | |
CN111708799B (zh) | Spark任务处理方法、装置、电子设备及存储介质 | |
CN111858013A (zh) | 工作流作业调度控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |