曹士炳 王克斌 马迅飞 张红杰 罗刚 金慧鑫
摘要:随着油气勘探步伐的不断加大,地震勘探数据量呈现快速增长趋势,这必然加大对地震资料解释系统软硬件资源的需求,同时资源的负载均衡问题也日益凸显。介绍了常见的负载均衡技术,重点对层次分析法进行探索与研究,并将该方法运用到GeoEast解释系统的资源分配过程中,取得了令人满意的效果。文章对未来的负载均衡技术进行了展望,指出自动化配置与资源池的智能划分将是其技术核心。
关键词:地震资料解释系统;资源池;负载均衡技术;层次分析法;GeoEast解释系统
中图分类号:TP399
文献标识码:A
文章编号:1006-8228(2020)09-20-04
Research and application of resource load balancing strategy in seismicdata interpretation system
Cao Shibing, Wang Kebin, Ma Xunfei, Zhang Hongjie, Luo Gang, Jin Huixin
(BGP. CNPC. Zhuozhou. Hebei 072750. China )
Abstract: With the increasing pace of oil and gas exploration, the amount of seismic exploration data shows a trend of rapidgrowth, which inevitably increases the demand for software and hardware resources of seismic data interpretation system. andthe load balancing problem of resources is increasingly prominent. This paper introduces the common load balancingtechnologies, focuses on the exploration and research of analytic hierarchy process. and applies this method to the resourceallocation process of GeoEast interpretation system, which has achieved satisfactory results. The future load balancingtechnologies are prospected. and it is pointed out that automatic configuration and intelligent division of resource pool wouldbe the key technologies.
Key words: seismic data interpretation system; resource pool; load balancing technology; analytic hierarchy process; GeoEastinterpretation system
0引言
地震資料解释是把经过处理的地震数据变成地质成果的过程,通过运用波动理论和地质知识,综合地质、钻井、测井等各项资料,做出构造解释、地层解释、岩性及综合解释,对这些资料进行综合分析、模拟计算、反复对比,绘出有关的成果图件,对探区作出含油气评价,提出钻井位置的过程。
地震资料解释系统是完成人机交互的过程,解释专家把地震资料从存储系统中调入内存,生成相应的地质模型来进行分析,因此需保证图形的精度。这就需要对地震资料进行流畅的三维显示,这对工作站、服务器硬件中的CPU、内存、硬盘、图卡、显示器等都有一定的要求。因此,工作站硬件配置与解释软件的性能发挥有着密切的正关联。
为了更好地应对地震勘探数据量快速增长的问题,地震资料解释所需的硬件资源规模不断扩大,资源运维管理难度越来越大,传统的人工分配资源,常使多个生产项目相互挤占资源,导致资源失衡和生产效率降低。通过技术研究及程序开发,对资源实现自动分配、统一监控,可以极大提高设备利用率和生产效率。
1关键技术
1.1负载均衡算法
负载均衡的实现,综合了评估资源池内所有服务器的CPU使用率、内存使用率、显存使用率和云桌面连接数,根据软件资源使用特点设置优先级,将资源最优的服务器分配给用户,从而达到平衡资源使用率的目标。
负载均衡的核心在于算法。传统模式下,负载均衡的算法已经比较成熟,常用的主流算法有:随机、轮询、加权轮询、动态轮询、最快算法、最少连接、观察算法、预判算法[1-2]。
随机:即随机的把负载分配到各个可用的服务器上,通过随机数生成算法选取一个服务器,然后把软件连接请求分配到该服务器上。
轮询:按顺序把每个新的连接请求分配给下一个服务器,最终把所有请求平分给所有的服务器。
加权轮询:该算法中,每个机器接受的连接数量是按权重比例分配的。这是对普通轮询算法的改进,如可以设定第三台机器的处理能力是第一台机器的两倍,那么负载均衡器会把两倍的连接数量分配给第三台机器。
动态轮询:类似于加权轮询,但权重值是基于对各个服务器的持续监控,并且不断更新。这是一个动态负载均衡算法,基于对服务器的实时性能分析分配连接,比如每个节点的当前连接数,或者节点的最快响应时间等。
最快算法:基于所有服务器中的最快响应时间分配连接。该算法在服务器跨不同网络的环境中特别有用。
最少连接:系统把新连接分配给当前连接数目最少的服务器。该算法在各个服务器运算能力基本相似的环境中非常有效。
观察算法:该算法同时利用最小连接算法和最快算法来实施负载均衡。服务器根据当前的连接数和响应时间得到一个分数,分数较高代表性能较好,会得到更多的连接。
预判算法:该算法使用观察算法来计算分数,但是预判算法会分析分数的变化趋势,以此来判断某台服务器的性能是在改善还是降低,具有改善趋势的服务器会得到更多的连接。该算法适用于大多数环境。
1.2层次分析法
经过对负载均衡各种算法的分析与研究,并综合考虑地震资料解释软件的特点,我们创新性地运用了层次分析负载均衡算法。
层次分析法(Analytic Hierarchy Process,AHP)是一种定性分析和定量分析相结合的评价决策方法。它通过建立层次结构模型、构造判断矩阵、进行层次单排序及一致性检验、进行层次总排序及一致性检验等步骤,来完成评价指标排序。
对于众多的专业软件,其服务器的CPU、内存、显卡等资源使用權重不尽相同。使用层次分析法可以科学有效的确定各因素的相对重要性,并确定权重。基于层次分析法的负载均衡算法,按影响负载均衡的参数间的相互关联影响及隶属关系,将参数按不同层次聚集组合,形成一个多层次的分析结构模型,使问题归结为最低层相对于高层的相对重要权值的确定。根据每台服务器的最大处理能力和当前负载情况,使处理能力强的节点获得处理任务的数量相对较多,从而达到负载均衡[3-4]。
1.3AHP分析过程
AHP分析问题过程经过以下五个步骤。
(1)建立层次结构模型:将决策目标、考虑的因素(决策准则)和决策对象,按它们之间的相互关系分为最高层、中间层和最低层,并绘出层次结构图,如图1所示。
(2)构造判断矩阵:在确定各层次、各因素之间的权重时,如果只是定性的结果,则常常不容易被别人接受,因而提出一致矩阵法,即不把所有因素放在一起比较,而是两两相互比较。对比时采用相对尺度,以尽可能减少性质不同因素相互比较的困难,以提高准确度。
准则层包含四个准则:连接数(C1)、CPU使用率(C2)、内存使用率(C3)、图卡使用率(C4),相对于目标层选择设备,进行两两比较打分,如图2所示。
(3)层次单排序:所谓层次单排序是指,对于上一层某因素而言,本层次各因素的重要性的排序,即方案层对准则层连接的矩阵构造。
(4)矩阵的一致性检验:所谓一致性是指判断思维的逻辑一致性。如当甲比丙是非常重要,而乙比丙是稍微重要时,显然甲一定比乙重要。这就是判断思维的逻辑一致性,否则判断就会有矛盾。
(5)层次总排序:确定某层所有因素对于总目标相对重要性的排序权值过程。这一过程是从最高层到最底层依次进行的。对于最高层而言,其层次单排序的结果也就是总排序的结果。
1.4配置流程
负载均衡的主要流程:
(1)管理员设置应用负载指标及权重;
(2)系统创建三种资源最优队列,每种队列按照层次分析法选择20个资源放入队列,进入等待状态;如果同时连接资源数超过20个,则系统按照层次分析法寻址、分配;
(3)用户发送应用连接请求;
(4)将最优的资源连接给用户;
(5)系统向选定的资源发送指令,启动应用。
负载均衡对于各项指标参数判断的准确性非常重要。基于平台基础架构的监控系统抓取CPU、内存、磁盘10等几十项指标,可从中选择与负载均衡相关的参数来计算资源的负载。
2应用实例分析
GeoEast云计算管理系统,能够对大型数据处理中心的可视化服务器、高性能并行计算集群、海量存储等硬件资源,进行集中管理和统一调度,可实现资源在多个处理、解释软件间的高效共享[5-6]。
通过在各交互节点驻有监控程序,包括CPU、内存、网络、磁盘等多项指标,同时能够以服务器、服务器组或集群等为单位进行查询、浏览和统计分析,为资源量化管理奠定了基础;在对资源使用情况量化的基础上,结合负载均衡策略及用户启动应用软件的要求,来指派给合适的交互节点,如图3所示。
(1)将数据中心的所有资源,根据软件、用户、部门或者项目组的使用需求,划分出对应的资源池,并将用户、软件与资源池进行绑定与权限配置。
(2)在不同的资源池配置信息中,填入此资源池的预置负载均衡策略,如该资源池资源的最大连接数、使用CPU类型模块的用户分配、CPU优先的负载策略、使用内存类型的用户分配为内存优先的负载策略等。
(3)用户在选择使用软件时,负载均衡系统自动为用户选择最符合预定规则的一台设备,打开远程三维可视化软件桌面,如图4所示。
(4)收集用户在使用过程中的资源占用情况,并定期生成该资源池的历史使用报表。
(5)对历史使用报表进行数据分析,判定初始设置的负载均衡策略是否符合实际使用情况,如有必要将自动进行调整。
(6)对所有受管资源池统一分析,对每个资源池的使用情况分析后,重新分配资源,将空闲率高的资源池中的部分设备,移至资源占用率高的资源池中。
3未来技术展望
基于智能化、自动化的配置部署将成为未来技术发展的主流趋势。自动化的部署不仅可以极大提高工作效率,节约人力成本,更可以通过智能数据分析等技术手段,得到更加符合实际场景的负载策略。
3.1自动化配置
通过负载均衡系统与监控系统的配合,得到用户的使用习惯、软件模块的资源占用历史记录、资源池的整体占用情况;再通过运营分析系统,获得对当前用户、软件、硬件的使用分析数据;最终依据分析数据判断出最佳的负载均衡策略,自动为用户的未来使用,逐渐采取更加符合的负载均衡策略,并自动进行细节优化。
3.2智能划分资源池
在地震资料解释系统的硬件资源集群中,针对不同软件、部门或者用户,都可能会有着自己完全独立的资源池。然而在资源池之间,或者每个资源池内部,硬件资源的性能、利用率,以及与用户使用习惯的适配程度,都可能会对最终的软件使用效果产生或大或小的影响。
在划分资源池的过程中,更合理、更符合实际需求的方案,永远都是问题的关键。未来的技术发展,能否智能划分资源池,将是衡量负载均衡系统能力的一个重要指标。通过负载均衡系统得到用户的使用侧重点,然后在整体的硬件集群中,自动地调整每个资源池的设备资源,从而最终达到提高资源利用率的目的。
4结束语
目前,在大规模集群服务器、工作站使用环境中,负载均衡是一项必要的技术。而在石油勘探解释系统环境下,负载均衡技术的必要性体现的更加明显。
随着油气勘探业务的不断扩展,用户会产生大量并发的需求,如果这些单个用户面对的还是固定的软、硬件资源,就会造成资源过多的浪费。如何将有限的计算资源充分利用,使硬件利用率提高,但同时又不会因可能出现的大并发量,给系统造成压力而降低系统性能,是今后负载均衡体系设计中的一个需要长期考虑的问题。
参考文献(References):
[1]刘梓璇,周建涛,负载均衡的主导资源公平分配算法[J],计算机工程与科学,2019.41(9):1574-1579
[2]張宝祥,何利力,高并发集群系统下的负载均衡技术研究[J].工业控制计算机,2017.30(10):76-77
[3]王宇耕,肖鹏,张力等,基于负载预测的自适应权值负载均衡算法[J],计算机工程与设计,2019.40(4):1033-1037
[4]汪佳文,王书培,徐立波等,基于权重轮询负载均衡算法的优化[J],计算机系统应用,2018.27(4):138-144
[5]詹毅,赵波,刘建红等.GeoEastV3.0地震数据处理解释—体化软件系统[J],石油科技论坛(增刊),2017:4-7
[6]文佳敏,赵长海,侯红军,等.GeoEast海量地震数据高效处理技术[J].石油工业计算机应用,2016.24(3):12-18
收稿日期:2020-04-21
基金项目:中国石油集团东方地球物理勘探有限责任公司科技信息处“基于PB级地震数据的GeoEast云计算架构研究及应用”科研项目(BGP02-03-2019)
作者简介:曹士炳(1968-),男,河南信阳人,高级工程师,主要研究方向:计算机技术综合应用与管理。