张茜 郑志锋 丁磊 武凌峰 吴妍

摘要:针对传统的油藏数值模拟作业调度模式存在的计算效率较低的问题,本文首先基于分布式技术和反馈优化技术提出了智能数值模拟作业管理与反馈方法。在此基础上进一步开发了分布式油藏数值模拟作业智能调度系统。将该系统应用于南海西部海域油气田油藏数值模拟研究工作中,有效地提高了工作效率。

关键词:油藏数值模拟;作业调度;分布式;反馈优化

中图分类号:TP311         文献标识码:A

文章编号:1009-3044(2024)09-0104-03

开放科学(资源服务)标识码(OSID)

0 前言

在油气田勘探、开发和生产过程中,研究人员广泛利用Eclipse、tNavigator[1]、Intersect[2]等软件进行油藏数值模拟研究。通过该研究,研究人员能够更好地理解油气成藏物理过程,掌握岩石、流体和气体的分布与运动规律,预测油藏产量以及开采效果,优化油田开采挖潜方案,提高油气田开发效率[3]。

在数值模拟作业调度技术出现之前,研究人员进行油藏数值模拟研究工作,需要手动选择并发送作业到计算服务器。然而,随着近年来油气田勘探开发工作的不断推进,油藏数值模拟的计算量呈爆炸式增长,传统模式会出现用户因争抢资源而引发服务器频繁过载的情况,极大地影响了油藏数值模拟作业计算效率。

上述问题从本质上看,是由于缺少高效的数值模拟作业自动化调度算法,导致计算资源无法有序处理作业。针对该问题,本文开展了油藏数值模拟作业智能调度系统研发工作,首先在调研分析业界主流数值模拟作业调度算法的基础上,利用分布式技术[4]和反馈优化技术[5]对其进行了针对性的改进,提出了智能数值模拟作业管理与反馈方法,在此基础上进一步开发了分布式油藏数值模拟作业智能调度系统。将该系统应用于南海西部海域油藏数模作业调度工作中,取得了良好的应用效果。

1 智能数值模拟作业管理与反馈方法研究

数值模拟作业调度算法需要将刀片计算集群中分散的资源集中管理起来,使多个资源请求者可以共享集群中的同一个资源,资源请求者可以根据业务需要同时或先后调度使用集群中的多个资源,而不需要资源请求者付出额外的劳动。作业调度的主要功能包含4个方面:

1) 为用户提供访问资源的简单接口。资源管理模块隐藏资源实际使用的复杂技术细节,将物理资源抽象为逻辑资源,并向用户提供。

2) 协调资源的共享使用。资源管理模块采用排队策略、分时共享策略或其他策略决定多个请求者如何使用同一个资源,同时还应支持一个请求者请求使用多个资源的需要。

3) 代替请求者去使用资源,建立安全的机制。资源管理器代替请求者在资源上寻找适当计算资源执行请求者的任务,一旦收到用户请求,就在资源所在地建立一个用户容器,并且严格定义该用户容器拥有的权限和所能进行的操作。

4) 维持集群资源的正常状态以及高效利用。能够持续地维持集群资源的正常运行状态,避免因个别节点故障影响整个集群系统性能甚至导致系统崩溃的情况出现。

1.1 主流数值模拟作业调度算法原理及不足

经调研,现有的主流数值模拟作业调度算法主要采用集中式集群资源调度架构如图1所示 ,其结构特征主要体现在3个方面:

1) 集群中的节点在功能上有层次划分,端节点运行的管理软件模块只能进行本地资源和应用的管理,主控节点运行的管理软件模块负责整个集群系统节点成员的管理以及资源和应用的动态配置。

2) 端节点的资源管理软件不了解其他端节点的状态和配置信息,定时向主控节点的管理软件模块报告本地的运行状态,并执行后者发送的命令。

3) 主控节点的管理软件模块以“主运行/后备”或“并行运行”的模式运行在多个节点上,这些模块共享集群全局信息,并保持其一致性。

虽然集中式集群系统架构在实现难度上相对简单,但是该模式还是存在着两方面的不足:

1) 在这种架构模式中,集群主控节点管理维护整个集群,是负责维护整个系统的关节点,因此抗毁性极差。虽然现有的集中式集群系统多采用备份主控节点的策略来保持高可用性,但是这种做法仍然无法从根本上解决单一节点控制方式所存在的问题,由此带来的人工维护成本巨大。

2) 主控节点进行资源调度时,需要轮询式扫描计算节点资源信息,随着计算节点规模增加,系统性能会大幅降低,而且每个计算节点的状态正常与否也对整套系统的运作产生较大的影响,在个别节点出现故障的情况下,现有系统并不能维持集群资源的正常状态,影响到集群系统的性能,严重的还可能导致整个系统的崩溃。

1.2 智能数值模拟作业管理与反馈方法

1.2.1 分布式集群资源调度架构

由前述可知,集中式集群资源调度系统最大的性能瓶颈出现在管理节点上,所以本文采用分布式集群资源调度架构如图2所示,该模式最大的变化就是调度管理节点和计算节点在网络上都处于平等的地位,没有层次结构。系统不再需要管理节点通过轮询每一个计算节点得到最新的资源状态信息,原来集中在管理节点上的调度功能,被分散成为功能独立的节点控制代理以及调度代理,并分布在对应的终端里执行。节点控制代理在计算节点上执行,包含有资源统计以及作业调度执行功能。调度代理在虚拟服务器上执行,包含有作业分配功能,代理之间统一通过数据库来进行信息交换。在这样一个全新的系统架构中,原来集中式管理节点制约调度系统性能的瓶颈被彻底打破,并且调度代理可以布局在任何一台虚拟服务器上,整个调度系统的稳定性和抗毁性有了质的提升。

1.2.2 反馈优化计算资源队列

在实际计算过程中,集群的计算节点常常会出现原因不明的异常。如果系统无法自动识别并标识这些错误,错误就会持续存在,节点也会继续接受新作业,进而导致更多的计算失败。由于计算节点众多,完全依靠管理员人工排查不但效率低下,而且短时间内也难以排查出错误所在。

针对该问题,本文设计了反馈优化计算资源队列。程序通过自动采集用户作业完成的状态信息,来优化计算资源队列,从而确保始终为用户分配状态健康的计算资源如图3所示。这样就能最大限度地避免作业被分派到非正常节点,减少各种无法预计的错误发生,从而大幅度提高用户油藏数模作业计算的成功率。

反馈优化计算资源队列的具体工作流程如图4所示,包括如下步骤:

1) 计算节点状态信息采样:计算节点安装驱动后,会持续采集节点状态信息并发送到数据库。采集的状态信息包括节点的处理器使用率、后台作业进程、网络连接情况、网络存储情况等综合信息。

2) 计算资源队列优化:服务器程序从数据库获取各计算节点的优先级及状态信息,排除异常节点后按各节点优先级排列,组合成等候调度的计算资源队列。其中节点异常包括但不限于网络连接异常、网络存储未挂载、节点硬件异常等情况。

3) 客户端程序发送数值模拟作业计算请求:用户使用客户端程序将数值模拟作业计算请求发送到数据库,作业计算请求信息含有作业路径信息。

4) 作业分派:服务器程序从数据库读取用户的作业计算请求,在计算资源足够的情况下,将作业优先指派到优先级高的计算节点上进行计算。

5) 计算节点业绩评估:作业计算完成后,客户端程序通过分析作业日志获得作业完成情况(成功/失败)。

6) 反馈更新:客户端程序根据作业完成情况更新计算节点的优先级。若作业计算成功,则提高计算所用节点的优先级;相反,若作业计算失败,则降低所用节点优先级。通过优胜劣汰的竞争算法,达到优先分配最优资源的目的。

2 油藏数值模拟作业智能调度系统研发

基于智能数值模拟作业管理与反馈方法,本文开发了油藏数值模拟作业智能调度系统HiSYS。该软件能够全面支持Eclipse、Intersect、tNavigator以及CMG四大油藏解释软件数模作业调度如图5所示,并具备以下优点:

1) 精细用户管理:作业与域用户关联,能够精准定位作业所有者。

2) 规范共享管理:统一数模文件权限,取消权限与项目绑定,避免人员项目变动影响。

3) 人机界面友好:实现实时观察、动态优化配置资源功能,管理更灵活。

4) 后端调度智能:后端计算节点自动排除异常,以作业状态优化资源队列,调度更智能。

3 应用效果分析

南海西部油田自油藏数值模拟作业智能调度系统HiSYS部署上线以来,已累计完成数模调度作业数超过3万次如图6所示,期间未发生过系统崩溃掉线的现象。相比传统算法,系统稳定性和抗毁性有明显提升。

利用该系统完成数模作业计算,并与传统模式进行对比,如表1所示,对于一台CPU核数为16的刀片服务器来说,当计算数模作业需要的CPU数小于等于CPU核数时,手动模式与智能调度计算时间相同;但是当需要的CPU数量多于CPU核数时,由于手动模式中CPU会不断切换线程处理每个作业,导致计算时间出现陡增的现象。相对地,智能调度可以将超出CPU数量的作业排队,因此计算时间仍处于线性增长,明显低于手动模式。

4 结论与认识

1) 本文针对传统油藏数模作业调度存在的问题,利用分布式技术和反馈优化技术提出了智能数值模拟作业管理与反馈方法。该方法在有效提高系统的稳定性与抗毁性的同时,也可以大幅提高油藏数模作业的计算效率。

2) 基于智能数值模拟作业管理与反馈方法,开发了油藏数值模拟作业智能调度系统HiSYS,在南海西部油田油藏数模研究中起到了良好的应用效果。

参考文献:

[1] 罗冬阳,乔聪颖,谷悦,等.tNavigator基于现代CPU和GPU计算平台的精细油藏模拟器助力大型油气田高效开发[J].电脑知识与技术,2020,16(18):205-206.

[2] 罗冬阳,王风,李元元.Intersect大型油气藏模拟器助力高效开发油气田[J].电脑知识与技术,2017,13(9):227-228,236.

[3] 朱争,党海龙,崔鹏兴,等.低渗透油藏蓄能增渗压力规律数值模拟[J].新疆石油天然气,2023,19(4):56-62.

[4] 蔡海林.异构分布式计算系统下工作流调度时间和可靠性优化算法研究[D].岳阳:湖南理工学院,2022.

[5] 任旭,高晶晶,艾明浩,等.基于多级反馈队列调度的电动汽车充电模型及其云实现[J].中国科技信息,2016(21):95-97,13.

【通联编辑:梁书】