CN116225696A - 用于流处理系统的算子并发度调优方法及装置 - Google Patents
用于流处理系统的算子并发度调优方法及装置 Download PDFInfo
- Publication number
- CN116225696A CN116225696A CN202310068747.XA CN202310068747A CN116225696A CN 116225696 A CN116225696 A CN 116225696A CN 202310068747 A CN202310068747 A CN 202310068747A CN 116225696 A CN116225696 A CN 116225696A
- Authority
- CN
- China
- Prior art keywords
- stream processing
- task
- tuning
- operator
- concurrency
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000005457 optimization Methods 0.000 title claims abstract description 39
- 238000005111 flow chemistry technique Methods 0.000 claims abstract description 57
- 238000012549 training Methods 0.000 claims abstract description 13
- 230000009467 reduction Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 69
- 238000004364 calculation method Methods 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000013508 migration Methods 0.000 claims description 16
- 230000005012 migration Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 abstract description 4
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
本申请提供一种用于流处理系统的算子并发度调优方法及装置,所述方法包括:对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;根据历史调优信息对所述流处理系统中的抽象算子进行训练以生成GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和自设计WOP采集函数;根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。本申请能够不依赖调优内置规则,充分利用过往调优经验,同时通过超量分配计算资源以解除数据堆积再缩容的策略有效地提升了资源重部署的效率,从而能够在生产环境中真正地落地实现。
Description
技术领域
本申请涉及大数据处理领域,尤其涉及一种用于流处理系统的算子并发度调优方法及装置。
背景技术
近年来,在大数据处理领域,越来越多的企业和团队选择使用流处理系统来处理海量的数据。与经典的批处理任务相比,流处理方式具有低时延、高吞吐的特点,用户往往可以在得到数据后就立即进行处理运算并获取结果,而不用像传统批处理任务那样等待一个批次一并处理。这一特性使得流处理在网络监控、风险管理、电子商务、欺诈识别等对于数据即时性要求较高的领域得到了十分广泛的应用。近些年来,更是结合数据库技术、机器学习技术等新兴技术发展出了相当多的新应用场景。自动调优技术(AutoScaling)是目前流处理引擎优化中比较热门的一个方向,其本质是针对计算资源进行的适配任务负载的弹性调度技术。对于现有大多数的流处理任务而言,其被分配的资源(CPU核数与内存总量)往往是静态的,用户在部署任务时就需要决定该任务的资源使用情况,然后将其部署并运行。
现有技术中基于规则的AutoScaling技术的最终效果极大的依赖于其内置的规则,现有基于算子运算能力建模的AutoScaling技术完全忽视了过往调优经验的作用,每一轮次的调优都相当于是针对冷启动任务的调优,效率较低。现有基于贝叶斯优化的AutoScaling技术需要经过多达几十轮次的迭代和资源重部署才能收敛到理想的并发度附近,几十轮次的尝试会造成任务性能的波动,难以在生产环境中真正落地实现。
发明内容
鉴于此,本申请实施例提供了一种用于流处理系统的算子并发度调优方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷。
本申请的第一个方面提供了一种用于流处理系统的算子并发度调优方法,该方法包括:
在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;
根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到;
在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
在本申请的一些实施例中,在在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务之前,还包括:
获取所述流处理系统当前待调度的各个流处理任务,并确定各个所述流处理任务的调优指标数据;
基于各个所述流处理任务各自的所述调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,若是,则将触发所述调优规则的流处理任务确定为待容量调优的流处理任务。
在本申请的一些实施例中,所述基于各个所述流处理任务各自的调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,包括:
将所述调优指标数据输入调优触发判断程序使得调优监控触发器task monitor实时判断所述流处理任务在预设的时间窗口内的所述调优指标数据中的背压状态持续时间是否超过预设过载容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则;通过所述调优指标数据中的CPU利用率或内存使用率判断所述CPU利用率或内存使用率低于预设的最低资源适用百分比的时间是否超过预设的低利用率容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则。
在本申请的一些实施例中,所述对处于背压状态的流处理任务进行超量扩容调优处理,包括:
采用所述流处理任务对应的所述任务信息数据中的负载速率对所述任务信息数据中数据源读取速率进行更新,将更新后的所述数据源读取速率对应的并发度部署给所述流处理任务。
在本申请的一些实施例中,所述根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,包括:
根据所述历史估计负载和所述当前工作负载计算得到所述工作负载适应性得分,通过所述历史调优信息对应的所述GP模型中的协方差矩阵对角元素和所述工作负载适应性得分的最小值计算得到确定性得分,根据所述工作负载适应性得分、所述确定性得分和预设的超参数计算得到所述自设计WOP采集函数。
在本申请的一些实施例中,还包括:在所述当前工作负载未处于定义域内或所述自设计WOP采集函数在所述定义域内的最高得分未超过预设的迁移调优经验超参数时,通过计算所述抽象算子的计算能力计算得到所述最优并发度。
在本申请的一些实施例中,所述通过计算所述抽象算子的计算能力计算得到所述最优并发度,包括:
根据所述调优指标数据中的预设时间内所述抽象算子的输入数据量和实际工作时间计算得到所述计算能力,通过所述计算能力和单算子预测负载计算得到所述最优并发度。
本申请的第二个方面提供了一种用于流处理系统的算子并发度调优装置,该装置包括:
目标流处理任务获取模块,用于在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;
模型及采集函数获取模块,用于根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到;
最优并发度计算模块,用于在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
本申请的第三个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述的第一方面所述的用于流处理系统的算子并发度调优方法。
本申请的第四个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述的第一方面所述的用于流处理系统的算子并发度调优方法。
本申请提供一种用于流处理系统的算子并发度调优方法及装置,所述方法包括:对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和自设计WOP采集函数;根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。本申请能够不依赖调优内置规则,充分利用过往调优经验,同时通过超量分配计算资源以解除数据堆积再缩容的策略有效地提升了资源重部署的效率,从而能够在生产环境中真正地落地实现。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的用于流处理系统的算子并发度调优方法的流程示意图。
图2为本申请另一实施例中的用于流处理系统的算子并发度调优装置的结构示意图。
图3为本申请另一实施例中的调优计算流程示意图。
图4为本申请另一实施例中的解除背压流程示意图。
图5(a)为本申请另一实施例中未开启自动调优的集群资源调度示意图。
图5(b)为本申请另一实施例中开启自动调优的集群资源调度示意图。
图6(a)为本申请另一实施例中的在四个数据点下得到的GP模型示意图。
图6(b)为本申请另一实施例中的在九个数据点下得到的GP模型示意图。
图7(a)为本申请另一实施例中的根据历史数据信息生成的GP模型及其置信区间变化示意图。
图7(b)为本申请另一实施例中的在2000TPS下WOP函数的输出结果示意图。
图7(c)为本申请另一实施例中的在2500TPS下WOP函数的输出结果示意图。
图7(d)为本申请另一实施例中的在3000TPS下WOP函数的输出结果示意图。
图8为本申请的整体系统架构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请,但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
具体通过下述实施例进行详细说明。
本申请实施例提供一种可以由用于流处理系统的算子并发度调优装置执行的用于流处理系统的算子并发度调优方法,参见图1,所述的用于流处理系统的算子并发度调优方法具体包含有如下内容:
步骤110:在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务。
步骤120:根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到。
步骤130:在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
具体地,在流处理系统中当前待容量调优的各个流处理任务中,客户端设备首先对处于背压状态的流处理任务进行超量扩容调优处理,以使各个流处理任务当前均处于待缩容状态并作为目标流处理任务。然后根据任务信息数据中的历史调优信息对流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据GP模型中的历史估计负载和目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数。最后,在当前工作负载处于定义域内且自设计WOP采集函数在定义域内的最高得分超过预设的迁移调优经验超参数时,超参数可设为-100,同时用户可以自行调节该超参数,以平衡利用过往经验进行调优计算与利用算法获取新的调优数据。最后根据GP模型和自设计WOP采集函数确定抽象算子的最优并发度。
其中,背压状态指流处理任务在有向无环图(Directed Acyclic Graph,DAG)任务处理逻辑中,数据源source算子的数据读取速率大于负载处理速率,相对的,待缩容状态即数据源source算子的数据读取速率小于负载处理速率;抽象算子指DAG中在source算子下游的任一算子;GP模型即高斯过程回归(Gaussian Process Regression,GPR)模型;自设计WOP(WorkLoad Optimal Parallelism function)采集函数指一种参考贝叶斯优化算法的采集函数。
为了筛选满足调优条件的流处理任务,在步骤110之前还包括:
步骤010:获取所述流处理系统当前待调度的各个流处理任务,并确定各个所述流处理任务的调优指标数据;
步骤020:基于各个所述流处理任务各自的所述调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,若是,则将触发所述调优规则的流处理任务确定为待容量调优的流处理任务。
具体地,客户端设备首先获取流处理系统当前待调度的各个流处理任务,并确定各个流处理任务的调优指标数据;然后基于各个流处理任务各自的调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,若是,则将触发所述调优规则的流处理任务确定为待容量调优的流处理任务,从而获得满足调优条件的流处理任务。
为了进一步筛选满足调优条件的流处理任务,步骤020中所述基于各个所述流处理任务各自的所述调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,还包括:
将所述调优指标数据输入调优触发判断程序使得调优监控触发器task monitor实时判断所述流处理任务在预设的时间窗口内的所述调优指标数据中的背压状态持续时间是否超过预设过载容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则;通过所述调优指标数据中的CPU利用率或内存使用率判断所述CPU利用率或内存使用率低于预设的最低资源适用百分比的时间是否超过预设的低利用率容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则。
具体地,客户端设备将调优指标数据输入调优触发判断程序使得调优监控触发器task monitor实时判断流处理任务在预设的时间窗口内的调优指标数据中的背压状态持续时间是否超过预设过载容忍时间,若是,则确认流处理任务触发预设的调优规则;通过调优指标数据中的CPU利用率或内存使用率判断CPU利用率或内存使用率低于预设的最低资源适用百分比的时间是否超过预设的低利用率容忍时间,若是,则确认流处理任务触发所述预设的调优规则,从而精确地确定满足调优条件的流处理任务。
为了解除流处理任务的背压状态,步骤110中所述对处于背压状态的流处理任务进行超量扩容调优处理,还包括:
采用所述流处理任务对应的所述任务信息数据中的负载速率对所述任务信息数据中数据源读取速率进行更新,将更新后的所述数据源读取速率对应的并发度部署给所述流处理任务。
具体地,将流任务处理负载的速度称为Speedp,数据源读取到的数据速率称为Speeds,真实的负载水平称为Speedr,它们之间满足式(1)这样的关系。即,当处理能力大于数据源速率时,从任务指标获取模块拿到的数据源速率是接近于任务的真实负载速率的。但是一旦出现背压的情况,source算子就会因为缓冲区满而减缓向下游算子发送数据的速率,此时会有一部分数据在source之前排队,造成此时拿到的数据源速率低于真实负载速率。
因此,一个直观的解决方案是在发生了背压之后,让整个任务尽量的处于式(1)中上面的那种状态,这时候默认数据源速率就是真实的负载速率,并以其为依据进行调优计算和重新部署。本申请将这一步称为背压状态解除,其处理流程如图4,具体内容如下:
在计算资源超量分配阶段中,首先通过调整任务并发度到一个较大的程度来解除背压状态,称为maxParallelism值。假设此次调整仍然不能解除任务的背压状态,那么会选择相应的调整maxParallelism的值,然后再次进行这个流程。反之,则进入后续的调优步骤,通过算法调小每个算子的并发度至一个合适的程度,因此也被称为缩容至合理并发度阶段。
直观的来讲,这一步的目的可以简单的概括为通过使系统解除背压状态从而可以获取当前任务的准确负载信息和指标。同时,由于需要在检测到系统持续背压一段时间后进入这一步,所以通过给予任务较大的资源量也可以短时间内消除由于背压堆积的大量数据,更有利于维护任务的服务水平协议(Service Level Agreement,SLA)状态。
同时,有一个相当直白的疑问在于,通过这样的解除背压流程,需要将整个任务的并发度都调整到一个相对较高的程度,但该方式并不会造成集群资源的浪费,其原因主要为:
1)每次任务的调优都只会在某一个阶段短暂的占用这些资源。
2)所有的任务调优可以共享这些被短暂占据的资源。
假设这样一个场景,在集群中运行一些类似的任务,集群资源总量为20,每个任务在高负载时期的资源需求是5,平时是2。一个前提是,任务大部分时间都处于平时的状态,仅仅在少数的时间内处于高负载状态。
那么在不开启自动调优的场景下,为了不在巅峰负载时期违反SLA,整个集群最多应该部署4个任务,如图5(a)。这种情况下,大部分时间内有12个单位的集群资源是处于空闲状态。
而假设开启自动调优,且maxParallelism值被设置为6,同时只对一个任务进行调优操作,如图5(b)。这种情况下,仅需要预留4个单位(6-2=4)的集群资源用作调优,余下的资源则可以长期部署8个任务,从而极大的提高了集群资源利用率。当然,保险起见,真实部署该技术时往往会给集群资源预留一定的余量,不会如这个例子一样紧张。
为了通过历史调优信息得到最优并发度,步骤120中所述根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,包括:
根据所述历史估计负载和所述当前工作负载计算得到所述工作负载适应性得分,通过所述历史调优信息对应的所述GP模型中的协方差矩阵对角元素和所述工作负载适应性得分的最小值计算得到确定性得分,根据所述工作负载适应性得分、所述确定性得分和预设的超参数计算得到所述自设计WOP采集函数。
具体地,首先客户端设备的程序通过算子历史并发度及其处理能力训练GP模型,这一步本质上是一个高斯过程回归。在这个步骤中,需要针对一个任务的每个算子都训练一个GP模型,也就是说,需要对一个流任务的每个算子建立一个处理能力与其并发度的映射关系模型。以抽象算子为例,输入一个记录其并发度、处理能力数组的二元组数组。例如,一个刚开始启动的任务,没有太多的历史经验,其输入就类似于:[(0,[0]),(4,[1609]),(8,[2197]),(20,[3044])](其中,并发度为0是对应处理能力为0是默认数据)。表示,在过去的调优历史中,仅仅遇到了抽象算子并发度为0、4、8和20的情况,并且在当时整个算子所对应的真实处理能力(不是平均)被记录了下来。此时就得到了图6(a)这样的GP模型。随着调优的进行,越来越多的数据点被记录,这些新的数据点是通过算子运算能力建模的方法计算得到。此时的输入类似于:[(0,[0]),(4,[1609,1700]),(6,[1945,2074]),(7,[2079]),(8,[2197,2010]),(20,[2995])]。也就是说,在这段时间内,调优程序分别又尝试并记录了在并发度4、6、6、7、8五次新的数据。此时GP模型就更新为了图6(b)。
其次,在经典的贝叶斯优化算法中,需要在每轮次更新完GP模型后通过采集函数(acquisition function)来选择下一个配置的尝试点,验证这个配置的性能,然后更新GP模型,直到找到符合要求的配置组合。本发明尝试将这类思想移植到流处理系统的调优工作中。其工作逻辑和流程与经典BO类似,即输入之前的GP模型,通过一个符合要求的采集函数,输出最值得尝试的算子并发度。同时,一个基本要求是输出的算子并发度其对应的处理能力必须大于此刻流处理系统的负载情况,因此,目标负载workload一定也需要作为该采集函数的一个输入。自设计WOP采集函数为两个分数的线性组合,分别被称为工作负载适应性得分(workload score)和确定性得分(uncertainty score),他们通过以下表达式计算:
workloadScore=offsetSign(offset)*offset 式(2)
工作负载适应性得分如式(2)所示,其中
offset=GPmu-workload
式(3)中floor函数表示向下取整函数,通过offset值来判断GP中的历史估计负载(GPmu)与实际目标工作负载(workload)的差值,通过一个不同偏斜程度的符号函数offsetSign()给予不同的不理想程度不同的惩罚。
对于确定性得分,根据前面的推断,无法直接通过与阈值的比较来判断这个点是否可用,但是,这里依然可以通过判断目前的置信区间值在整个定义域内的置信区间数列中的分位数来判断是否可信,在相对较小的靠前分位点出应该获得较高得分,否则应该获得较低得分。其定义为:
uncertaintyScore=min(workloadScore)*percentile(uncertainty) 式(4)
式(4)中uncertainty表示GP模型的协方差矩阵对角元素,即在不同并发度条件下的处理能力分布方差,percentile函数取某个uncertainty在定义域内所有方差的百分位数。min函数表示取定义域内所有workloadScore的最小值函数。
其中,由于WOP整体上来讲是一个惩罚性质的采集函数,因此取workloadScore的最小值作为一个统一度量的修正值,然后乘以某个置信区间在整体置信区间的分位数即为确定性得分。
WOPScore=α*workloadScore+β*uncertaintyScore 式(5)
最终,WOP分数为这两个得分的加权和,如式(5)。其中的alpha和beta是两个超参数,默认为(0.85,0.15),使用时可以选择调整这两个超参数以调整对确定性和工作负载特性的不同重视程度。最终,若WOP在定义域内的得分最大值超过预设的迁移调优经验超参数,则使用该最佳点作为当前的理想并发度输出,否则即说明历史调优经验不足以支撑该次的调优。该超参数代表了用户对于历史经验迁移的宽容程度,若接近于0,则说明当前的负载情况仅仅只有在历史中出现过极其相似的才会迁移历史经验数据;反之,则可以利用GP模型的趋势,以一定程度上降低调优计算精度的代价加速调优计算流程。而随着调优程序的长时间运行,通过GP拟合的结果精度也会随着采样点的增加而上升。
本文使用一些例子来举例说明WOP采集函数在几种情况下的具体结果和输出,并且证明其对于判断历史信息是否足以获得可信的负载结果的有效性。同时,由于其采用工作负载适应性得分作为其综合评价的一部分,所以还能发现WOP函数对于超出定义域范围的工作负载也能输出符合逻辑的结果。
图7(a)表示目前根据历史数据信息生成的GP模型及其置信区间变化,此外也包括了几种不同目标工作负载的位置,分别是2000TPS、2500TPS和3000TPS。
图7(b)表示目标负载为2000TPS的情况,此时目标工作负载在定义域内且历史数据信息足够。在这种情况下,利用工作负载适应性得分,WOP会找到一个贴近GP模型预估的最佳并发度附近,然后,通过确定性得分可以发现附近的置信区间是分位数比较靠前的分位数,工作负载适应性得分会在满足预估处理能力略大于目标工作负载附近得到最高分,引导WOP收敛到贴近GP模型预估的最佳并发度附近;然后,通过确定性得分可以发现附近的置信区间是分位数比较靠前的分位数,因此其确定性得分较高(扣分较少),因此其WOP得分就会足够趋近于0,判断此次采集到的最优并发度可以直接从GP模型中获取,并且在WOP最高点对应的并发度附近。
图7(c)表示目标负载为2500TPS的情况,此时目标工作负载在定义域内但历史数据信息并不足够。这种情况下,依然可以通过工作负载适应性得分得到一个最佳并发度,但是,此时由于附近的历史信息点并不多,使用GP模型估计的并发度作为输出可能会造成很大的误差。因此通过其确定性得分的扣分,可以使得WOP得分离0较远,虽然依然存在一个WOP得分的最高点,但它的值并不满足要求,因此此时判断无法利用历史经验,应该通过类算子运算能力建模的方式重新计算理想并发度。
图7(d)表示目标负载为3500TPS的情况,此时目标工作负载不在定义域内。在这种情况下,其确定性得分较低,但是借助工作负载适应性得分,WOP函数会输出一个定义域内最大的并发度值,此时可以有选择的利用他的输出,因为尽可能的选择较大的并发度也是符合实际逻辑的。
为了解决在历史调优经验不足以支持计算最优并发度时计算最优并发度,步骤130还包括:
步骤131:在所述当前工作负载未处于定义域内或所述自设计WOP采集函数在所述定义域内的最高得分未超过预设的迁移调优经验超参数时,通过计算所述抽象算子的计算能力计算得到所述最优并发度。
具体地,客户端设备在当前工作负载未处于定义域内或自设计WOP采集函数在定义域内的最高得分未超过预设的迁移调优经验超参数时,通过计算抽象算子的计算能力计算得到最优并发度,从而能够在历史调优经验不足时计算最优并发度。
为了进一步解决在历史调优经验不足以支持计算最优并发度时计算最优并发度,所述通过计算所述抽象算子的计算能力计算得到所述最优并发度,步骤131还包括:
根据所述调优指标数据中的预设时间内所述抽象算子的输入数据量和实际工作时间计算得到所述计算能力,通过所述计算能力和单算子预测负载计算得到所述最优并发度。
具体地,抽象算子在上一周期内的计算能力可以由式(6)获得。
式(7)中ceil函数表示向上取整函数,其中,主要利用了Flink Reporter上报的两个关键的核心指标,busyTimeMsPerSecond:表示一秒中算子的实际工作毫秒数,实际是由一个滑动窗口中的观测值取均值得来,即调优指标数据中的预设时间内抽象算子的实际工作时间;numRecordsInPerSecond:表示一秒中算子的输入数据条数,实际是由一个滑动窗口中的观测值取均值得来,即调优指标数据中的预设时间内抽象算子的输入数据量。也就是说,抽象算子o在T时刻并发度为P的情形下,其处理能力为T时刻处理的数据总条数除以其真实处理运算的时间。然后再以此时单算子的调优目标负载,即调优后需要该算子达到的处理能力除以此时的平均单并发度处理能力并向上取整就可以得到此算子的理想并发度数值。
最后,无论是经过GP模型利用历史经验或是通过对算子运算能力进行建模估计,在这里都得到了符合要求的任务理想并发度集合Π。此时,首先在数据库中记录此次的计算结果,用于下一轮次的GP模型训练。同时将新的并发度部署到Flink任务中,并且开启新一轮的监控程序。
同时需要说明的是,本申请面向的场景是7*24小时的长期在线任务,这类任务的负载往往是时变的,在此时计算出的并发度集合并不能适配所有时刻的负载水平。因此,程序在完成一次调优后又持续监控这些指标,当任务负载超出了上一轮次的并发度集合所适配的负载,一轮新的调优将会被激活。
综上可参加图3,本申请以流处理引擎Flink中的任务举例说明调优计算流程,任务由数据源Source,数据汇Sink以及中间的处理逻辑算子组成。然而其他的流处理引擎也可以通过类似的计算逻辑应用本发明中的计算方案。其主要步骤包括:
1)任务指标获取:指通过Flink Reporter或REST api等获得任务关键指标,其中每个算子每个指标的数据都会被获取为一个时间序列数据。
获取到的调优指标数据包括:
调优触发相关指标:包括任务的背压程度、任务的资源使用程度等。
调优计算相关的指标:无论是通过哪种方案计算并发度集合,都需要在单位时间内每个算子输入和输出的数据量。如果是通过算子处理能力的方法来计算并发度,那么还需要获得每个算子的空闲和忙碌百分比。
任务本身相关的指标:主要是operators id等任务重部署关键指标,用于生成新的任务重部署文件。
获取到的任务信息数据包括:
任务的计算资源分配量:主要为分布式环境下任务的配置情况,即不同计算节点上所分配的CPU核数与内存总字节数。该信息用于对节点上算子的实际处理能力进行建模,在历史经验不足的缩容场景下参与计算。
任务的处理节点信息:主要为流处理任务的物理部署情况,以及每个集群计算资源总量与使用情况。该信息用于在得到算子理性并发度集后生成任务物理执行图,在集群中重新部署目标流处理任务。
历史调优信息:包括调优目标任务每个计算节点在不同任务负载下的历史计算能力,具体呈现为一系列的并发度、目标负载二元组。该信息用于训练GP模型,迁移和利用历史调优经验。
2)调优监控触发:通过获取的指标判断当前任务是否需要进行调优操作,调优操作其本身会带来一定开销和服务水平不稳定,因此应该保守的进入后续的调优流程中;
3)背压状态解除:当任务本身处于背压状态时,通过Reporter无法获取其真实负载水平和准确指标,同时也发生了数据堆积的情况,因此这一阶段会通过超量分配计算资源的方式首先解除任务的背压状态;
4)迁移历史调优经验:long-running的任务其可能在历史上也经过了多次的自动调优操作,通过迁移历史调优数据的经验,可以加速自动调优过程,减小指标噪音对调优结果的影响。这里通过利用历史数据生产高斯过程(GP)模型以及自设计的类BO采集函数来利用和迁移经验;
5)计算理想并发度集合:通过历史数据经验或对算子计算能力进行建模估计的方案,得到符合条件的算子理想并发度集合;
6)任务重部署:重新部署新的计算资源到目标任务,监听等待下一轮调优;
综上为整个调优计算流程模块,除此之外,整个调优系统参加图8,还包括:其中,左侧是调优的目标流处理任务集群,例如Flink、Spark Streaming或Storm,他们往往构建在一个分布式的资源管理器上。右侧则是本发明的主要组成模块,具体如下:
任务监听模块是一个持续轮询检查所有流任务运行状态的进程,他根据用户预设的规则启动调优程序,这些规则包括启动调优的条件、允许调优的时间段以及允许并发度变化的范围等等。通过这些预设的规则将调优程序对流任务本身带来的影响降到最低。
调优调度模块主要有两个功能,其一是对监听到符合进入调优要求的任务调度进入调优程序,其二是使用计算得到的理想并发度集合更新流任务并重新部署到集群。调优任务调度模块可以避免过多任务同时进行超量分配造成集群资源紧张,同时也可以根据任务调优的紧急程度优先对符合要求的某些任务进行调优。而Scale操作模块则是直接与分布式流处理集群环境交互,完成流任务算子并发度的更新操作。一次更新主要包括:“停止原任务并生成savePoint=>向集群资源管理器申请新资源=>生成新的算子实例=>从停止的savePoint处恢复处理”这几个大致的步骤。
调优计算模块是本发明的核心部分,在接收到一个可以进行调优的任务以及其相关指标后,该模块要通过历史调优经验和关键指标计算符合要求的并发度集合以供调优调度模块进行部署。因此,这一部分的计算效率和计算精确度直接关系着本发明的最终调优效果。这一部分,主要分为历史数据迁移模块、基于高斯过程回归的计算模块以及基于算子处理能力的计算模块。当开始计算一个任务在此时的理想并发度集合,首先会通过历史数据迁移模块判断当前负载水平是否能够从历史调优数据中获得指导,如果信息足够则使用基于高斯过程回归的计算方法,否则使用基于算子处理能力的计算方法。由于这一部分是一个弹性并发度调优技术的核心,本文在下一小节中将更加详细的讲解这一部分的处理细节。
数据仓库模块主要负责存储任务监控指标、历史调优数据。它包括,一个时序数据库,如influxdb,它周期性的将任务监听模块获取的流任务关键指标持久化存储以供调优程序查询使用。一个关系型数据库,如mysql,它记录任务的历史调优数据以供GPR训练使用。
从软件层面来说,本申请还提供一种用于执行所述的用于流处理系统的算子并发度调优方法中全部或部分内的用于流处理系统的算子并发度调优装置,参见图4,所述的用于流处理系统的算子并发度调优装置具体包含有如下内容:
模块10:目标流处理任务获取模块,用于在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;
模块20:模型及采集函数获取模块,用于根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到;
模块30:最优并发度计算模块,用于在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
本申请提供的用于流处理系统的算子并发度调优装置的实施例具体可以用于执行上述实施例中的用于流处理系统的算子并发度调优方法的实施例的处理流程,其功能在此不再赘述,可以参照上述的用于流处理系统的算子并发度调优方法实施例的详细描述。
本申请提供一种用于流处理系统的算子并发度调优方法及装置,所述方法包括:对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和自设计WOP采集函数;根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。本申请能够不依赖调优内置规则,充分利用过往调优经验,同时通过超量分配计算资源以解除数据堆积再缩容的策略有效地提升了资源重部署的效率,从而能够在生产环境中真正地落地实现。
本申请实施例还提供了一种电子设备(也即计算机设备),例如中心服务器,该电子设备可以包括处理器、存储器、接收器及发送器,处理器用于执行上述实施例提及的用于流处理系统的算子并发度调优方法,其中处理器和存储器可以通过总线或者其他方式连接,以通过总线连接为例。该接收器可通过有线或无线方式与处理器、存储器连接。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的用于流处理系统的算子并发度调优方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的基于强化联邦域泛化的图像分类模型训练方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述处理器执行时,执行实施例中的用于流处理系统的算子并发度调优方法。
在本申请的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接,存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发单元收发信号。
作为一种实现方式,本申请中接收器和发送器的功能可以考虑通过收发电路或者收发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本申请实施例提供的服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述的用于流处理系统的算子并发度调优方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种用于流处理系统的算子并发度调优方法,其特征在于,该方法包括:
在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;
根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到;
在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
2.根据权利要求1所述的用于流处理系统的算子并发度调优方法,其特征在于,在在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务之前,还包括:
获取所述流处理系统当前待调度的各个流处理任务,并确定各个所述流处理任务的调优指标数据;
基于各个所述流处理任务各自的所述调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,若是,则将触发所述调优规则的流处理任务确定为待容量调优的流处理任务。
3.根据权利要求2所述的用于流处理系统的算子并发度调优方法,其特征在于,所述基于各个所述流处理任务各自的调优指标数据实时监测各个所述流处理任务是否触发预设的调优规则,包括:
将所述调优指标数据输入调优触发判断程序使得调优监控触发器task monitor实时判断所述流处理任务在预设的时间窗口内的所述调优指标数据中的背压状态持续时间是否超过预设过载容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则;通过所述调优指标数据中的CPU利用率或内存使用率判断所述CPU利用率或内存使用率低于预设的最低资源适用百分比的时间是否超过预设的低利用率容忍时间,若是,则确认所述流处理任务触发所述预设的调优规则。
4.根据权利要求2所述的用于流处理系统的算子并发度调优方法,其特征在于,所述对处于背压状态的流处理任务进行超量扩容调优处理,包括:
采用所述流处理任务对应的所述任务信息数据中的负载速率对所述任务信息数据中数据源读取速率进行更新,将更新后的所述数据源读取速率对应的并发度部署给所述流处理任务。
5.根据权利要求1所述的用于流处理系统的算子并发度调优方法,其特征在于,所述根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,包括:
根据所述历史估计负载和所述当前工作负载计算得到所述工作负载适应性得分,通过所述历史调优信息对应的所述GP模型中的协方差矩阵对角元素和所述工作负载适应性得分的最小值计算得到确定性得分,根据所述工作负载适应性得分、所述确定性得分和预设的超参数计算得到所述自设计WOP采集函数。
6.根据权利要求2所述的用于流处理系统的算子并发度调优方法,其特征在于,还包括:
在所述当前工作负载未处于定义域内或所述自设计WOP采集函数在所述定义域内的最高得分未超过预设的迁移调优经验超参数时,通过计算所述抽象算子的计算能力计算得到所述最优并发度。
7.根据权利要求6所述的用于流处理系统的算子并发度调优方法,其特征在于,所述通过计算所述抽象算子的计算能力计算得到所述最优并发度,包括:
根据所述调优指标数据中的预设时间内所述抽象算子的输入数据量和实际工作时间计算得到所述计算能力,通过所述计算能力和单算子预测负载计算得到所述最优并发度。
8.一种用于流处理系统的算子并发度调优装置,其特征在于,
目标流处理任务获取模块,用于在流处理系统中当前待容量调优的各个流处理任务中,对处于背压状态的流处理任务进行超量扩容调优处理,以使各个所述流处理任务当前均处于待缩容状态并作为目标流处理任务;
模型及采集函数获取模块,用于根据任务信息数据中的历史调优信息对所述流处理系统中的抽象算子进行训练以生成该抽象算子的GP模型,根据所述GP模型中的历史估计负载和所述目标流处理任务的当前工作负载计算得到工作负载适应性得分和该工作负载适应性得分对应的基于贝叶斯优化算法的自设计WOP采集函数,其中所述任务信息数据是预先从所述流处理系统中获取得到;
最优并发度计算模块,用于在所述当前工作负载处于定义域内且所述自设计WOP采集函数在所述定义域内的最高得分超过预设的迁移调优经验超参数时,根据所述GP模型和所述自设计WOP采集函数确定所述抽象算子的最优并发度。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的用于流处理系统的算子并发度调优方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的用于流处理系统的算子并发度调优方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068747.XA CN116225696B (zh) | 2023-02-06 | 2023-02-06 | 用于流处理系统的算子并发度调优方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068747.XA CN116225696B (zh) | 2023-02-06 | 2023-02-06 | 用于流处理系统的算子并发度调优方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116225696A true CN116225696A (zh) | 2023-06-06 |
CN116225696B CN116225696B (zh) | 2024-06-07 |
Family
ID=86574298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310068747.XA Active CN116225696B (zh) | 2023-02-06 | 2023-02-06 | 用于流处理系统的算子并发度调优方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116225696B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673822A (zh) * | 2021-07-15 | 2021-11-19 | 微梦创科网络科技(中国)有限公司 | 一种弹性调度方法及系统 |
CN117556212A (zh) * | 2023-11-29 | 2024-02-13 | 金网络(北京)数字科技有限公司 | 一种流式大数据的分析方法、装置、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021197364A1 (zh) * | 2020-03-31 | 2021-10-07 | 华为技术有限公司 | 一种用于服务的扩缩容的方法及相关设备 |
CN114816691A (zh) * | 2021-01-29 | 2022-07-29 | 中国移动通信有限公司研究院 | 流计算任务并行度优化方法、装置、电子设备及存储介质 |
CN115412501A (zh) * | 2022-08-30 | 2022-11-29 | 哈尔滨工业大学 | 基于Flink的多层次协同重配置流处理系统及其处理方法 |
CN115687304A (zh) * | 2022-11-07 | 2023-02-03 | 中盈优创资讯科技有限公司 | 一种Flink状态存储优化方法及装置 |
-
2023
- 2023-02-06 CN CN202310068747.XA patent/CN116225696B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021197364A1 (zh) * | 2020-03-31 | 2021-10-07 | 华为技术有限公司 | 一种用于服务的扩缩容的方法及相关设备 |
CN114816691A (zh) * | 2021-01-29 | 2022-07-29 | 中国移动通信有限公司研究院 | 流计算任务并行度优化方法、装置、电子设备及存储介质 |
CN115412501A (zh) * | 2022-08-30 | 2022-11-29 | 哈尔滨工业大学 | 基于Flink的多层次协同重配置流处理系统及其处理方法 |
CN115687304A (zh) * | 2022-11-07 | 2023-02-03 | 中盈优创资讯科技有限公司 | 一种Flink状态存储优化方法及装置 |
Non-Patent Citations (2)
Title |
---|
WENHAO LI 等: "Toward optimal operator parallelism for stream processing topology with limited buffers", 《THE JOURNAL OF SUPERCOMPUTING (2022)》, pages 13276 * |
邓华锋 等: "分布式数据流处理系统的动态负载平衡技术", 《计算机科学》, vol. 34, no. 7, pages 120 - 123 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673822A (zh) * | 2021-07-15 | 2021-11-19 | 微梦创科网络科技(中国)有限公司 | 一种弹性调度方法及系统 |
CN113673822B (zh) * | 2021-07-15 | 2023-08-11 | 微梦创科网络科技(中国)有限公司 | 一种弹性调度方法及系统 |
CN117556212A (zh) * | 2023-11-29 | 2024-02-13 | 金网络(北京)数字科技有限公司 | 一种流式大数据的分析方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116225696B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116225696B (zh) | 用于流处理系统的算子并发度调优方法及装置 | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
TWI725744B (zh) | 透過多層次相關性建立系統資源預測及資源管理模型的方法 | |
US8375228B2 (en) | Multiple-node system power utilization management | |
CN114500578B (zh) | 分布式存储系统负载均衡调度方法、装置及存储介质 | |
US20160004567A1 (en) | Scheduling applications in a clustered computer system | |
CN111414070B (zh) | 一种机箱功耗管理方法、系统及电子设备和存储介质 | |
US20150215426A1 (en) | Non-transitory computer-readable recording medium having stored therein control program, control apparatus and control method | |
CN112486687B (zh) | 一种基于多任务学习时间序列的云平台工作负载预测方法 | |
US20220156633A1 (en) | System and method for adaptive compression in federated learning | |
CN115269108A (zh) | 一种数据处理方法、装置及设备 | |
CN103248622B (zh) | 一种自动伸缩的在线视频服务质量保障方法及系统 | |
CN116185584A (zh) | 一种基于深度强化学习的多租户数据库资源规划与调度方法 | |
CN109756372B (zh) | 一种电信计费系统的弹性伸缩方法及装置 | |
CN110796591A (zh) | 一种gpu卡的使用方法及相关设备 | |
US20220035665A1 (en) | Sharing of compute resources between the virtualized radio access network (vran) and other workloads | |
US20210004675A1 (en) | Predictive apparatus and method for predicting workload group metrics of a workload management system of a database system | |
CN112052087B (zh) | 动态资源调整与迁移的深度学习训练系统及方法 | |
Rattanatamrong et al. | Real-time scheduling of mixture-of-experts systems with limited resources | |
CN117807411B (zh) | 一种服务器性能指标预测方法、装置、电子设备 | |
CN113626070B (zh) | 代码质量指标的配置方法、装置、设备及存储介质 | |
CN117880291A (zh) | 基于gpt技术的多云资源负载均衡方法、装置、设备及介质 | |
CN117972367A (zh) | 一种数据存储预测方法、数据存储子系统及智能计算平台 | |
CN116610327A (zh) | 一种大数据集群部署方法、装置、电子设备及存储介质 | |
CN117097646A (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 |