流计算任务并行度优化方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34364015 阅读:21 留言:0更新日期:2022-07-31 08:04
本发明专利技术公开了一种流计算任务并行度优化方法、装置、电子设备及存储介质,属于大数据领域。其中方法包括:获取流计算中各计算节点的性能参数值和各任务预设的任务优先级,其中性能参数值包括各计算节点的CPU、内存、网络带宽和/或任务吞吐量的参数值;基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,其中,任务并行度模型是通过任务收益与任务开销的差值确定任务的价值,任务收益由预设的任务优先级和任务吞吐量确定,任务开销由任务消耗的资源确定,该资源包括CPU、内存和/或网络带宽,任务吞吐量和任务消耗的资源是关于任务并行度的函数;根据所确定的各任务的并行度对当前运行的各任务的并行度进行调整。并行度进行调整。并行度进行调整。

【技术实现步骤摘要】
流计算任务并行度优化方法、装置、电子设备及存储介质


[0001]本专利技术属于大数据领域,具体涉及一种流计算任务并行度优化方法、流计算任务并行度优化装置、电子设备及计算机可读存储介质。

技术介绍

[0002]随着物联网的快速发展,各种传感器不断产生大量传感数据,这些数据具有密集度高、实时性强、价值密度低等特点,需要进行实时、高效的计算,因此流计算技术在物联网领域获得了广泛应用。
[0003]流计算是一种对流数据的处理技术。作为一种新的分布式数据计算技术,它能够以类似于流水线的方式处理无边界的数据流。待处理的数据连续不断的进入流计算系统,系统实时的对数据进行分析处理,高效快速的获得有价值的信息。流计算优势是实时性强,缺点是吞吐量较小,资源开销较大。
[0004]一个流计算任务逻辑上通常由一连串的多个计算算子组成,称为任务的逻辑拓扑。用户自定义的计算逻辑被封装在算子中,算子是最小的计算执行单元,承载实际的数据处理工作,数据流沿着算子顺序依次执行,并将计算结果传递给下游算子,最终得到计算结果。所有算子和其上下游数据传输路线组成了一个有向无环图DAG(Directed Acyclic Graph)。当任务逻辑拓扑调度到物理节点上执行时,可以借助并行计算提升计算效率。任务的并行度指明了逻辑任务中算子的并行程度。通过算子的并行执行,显著提升流计算系统吞吐量。一个流计算任务并行度越高,并行计算的计算效率也就越高,系统吞吐量也越大。同时,由于算子作为系统中的执行单位(线程/进程),消耗的系统资源也就越多。
[0005]Flink是当前比较流行的一种流计算系统,它的特点在于将传统的批处理数据和流数据都使用相同的流处理方式,并支持有状态的计算。Flink流计算系统在任务执行前需要配置任务并行度,由任务的提交者(用户或者系统管理员)设置任务的并行度。然而Flink系统本质上是多任务共享系统资源的,系统中运行的各个任务相互竞争系统资源。这是由于用户在提交任务时,并不清楚Flink系统中的资源状况,通常倾向于将自己的任务并行度最大化,从而导致多个用户任务竞争有限的系统资源;以及系统管理员一方面缺少用户任务信息,另一方面系统的资源随着任务的增多和减少以及任务处理数据量的变化,处于不断变化中,难以给用户任务分配合适的并行度。
[0006]例如,在Flink流计算系统中,有两个计算任务A和B在同时运行,A任务负责处理来自于安防系统传感器的数据流,B任务负责处理来自环境监控传感器的数据流。由于安防系统的数据一旦被延迟处理,可能造成较严重的损失,所以一般认为安防业务的业务价值更高。Flink流计算系统拥有固定的计算节点个数,在初次启动A任务和B任务时,A任务和B任务可能拥有相同的并行度,但是当发生安防系统传感器数据流突然增多时,可能会出现其相关算子所在计算节点的计算资源不足的情况,算子数据处理能力降低,无法及时反馈安防报警信息;此时鉴于A任务和B任务的数据价值,我们通常希望增强A任务的数据处理效率,首先保障A任务的数据能及时进行处理,所以就需要降低B任务的算子并行度,使其让出
相关计算节点的计算资源,以保障A任务能优先执行,并且也能保证B任务仍能持续运行,以高效利用系统资源。
[0007]但是,现有的流计算系统的任务并行度设置方法,无法根据系统的资源情况及时对任务的并行度进行合适的配置,因此无法保障重要程度高的业务的运行,从而无法实现流计算系统资源的高效利用。

技术实现思路

[0008]本专利技术实施例的目的是提供一种流计算任务并行度优化方法、流计算任务并行度优化装置、流计算系统、电子设备及计算机可读存储介质,以解决流计算系统资源高效利用的问题。
[0009]为了解决上述技术问题,本专利技术是这样实现的:
[0010]第一方面,本专利技术实施例提供了一种流计算任务并行度优化方法,应用于电子设备,该方法包括:
[0011]获取流计算中各计算节点的性能参数值和流计算当前运行的各任务预设的任务优先级,其中,所述各计算节点的性能参数值包括:各计算节点的CPU、内存、网络带宽和/或任务吞吐量的参数值;
[0012]基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,其中,所述任务并行度模型是通过任务收益与任务开销的差值确定任务的价值,所述任务收益是由预设的任务优先级和任务吞吐量确定,所述任务开销是由任务消耗的资源确定,所述资源包括CPU、内存和/或网络带宽,所述任务吞吐量和所述任务消耗的资源是关于任务并行度的函数;
[0013]根据所确定的各任务的并行度对当前运行的所有流计算任务的并行度进行调整。
[0014]第二方面,本专利技术实施例提供了一种流计算任务并行度优化装置,包括:
[0015]性能监控模块,用于获取流计算中各计算节点的性能参数值和流计算当前运行的各任务预设的任务优先级,其中,所述各计算节点的性能参数值包括:各计算节点的CPU、内存、网络带宽和/或任务吞吐量的参数值;
[0016]调度策略模块,用于基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,其中,所述任务并行度模型是通过任务收益与任务开销的差值确定任务的价值,所述任务收益是由预设的任务优先级和任务吞吐量确定,所述任务开销是由任务消耗的资源确定,所述资源包括CPU、内存和/或网络带宽,所述任务吞吐量和所述任务消耗的资源是关于任务并行度的函数;
[0017]调度控制模块,用于根据所确定的各任务的并行度对当前运行的所有流计算任务的并行度进行调整。
[0018]第三方面,本专利技术实施例提供了一种流计算系统,包括:如第二方面所述的流计算任务并行度优化装置。
[0019]第四方面,本专利技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0020]第五方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储
介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0021]在本专利技术实施例中,通过获取流计算中各计算节点的参数值和流计算当前运行的各任务预设的任务优先级,其中各计算节点的参数值包括:各计算节点的CPU、内存、网络带宽和/或任务吞吐量的参数值;基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,其中,任务并行度模型是通过任务收益与任务开销的差值确定任务的价值,任务收益是由预设的任务优先级和任务吞吐量确定,任务开销是由任务消耗的资源确定,资源包括CPU、内存和/或网络带宽,任务吞吐量和任务消耗的资源是关于任务并行度的函数;根据所确定的各任务的并行度对当前运行的所有流计算任务的并行度进行调整;可以在流计算资源有限的环境下,结合任务特性和资源情况,计算出流计算各任务的最优并行度,并对各任务的并行度进行动态调整,无需人为参与,可以在保障流计算任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流计算任务并行度优化方法,应用于电子设备,其特征在于,包括:获取流计算中各计算节点的性能参数值和流计算当前运行的各任务预设的任务优先级,其中,所述各计算节点的性能参数值包括:各计算节点的CPU、内存、网络带宽和/或任务吞吐量的参数值;基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,其中,所述任务并行度模型是通过任务收益与任务开销的差值确定任务的价值,所述任务收益是由预设的任务优先级和任务吞吐量确定,所述任务开销是由任务消耗的资源确定,所述资源包括CPU、内存和/或网络带宽,所述任务吞吐量和所述任务消耗的资源是关于任务并行度的函数;根据所确定的各任务的并行度对当前运行的所有流计算任务的并行度进行调整。2.根据权利要求1所述的方法,其特征在于,所述基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度,包括:根据所述任务并行度模型构造适应度函数;确定流计算任务的并行度和各计算节点资源的约束条件;在满足所述约束条件的情况下,根据所述适应度函数,通过遗传算法经过有限次迭代,确定在当前运行的所有流计算任务总价值最大时各任务的并行度。3.根据权利要求2所述的方法,其特征在于,所述任务并行度模型的任务收益中还包括优先级影响因子;在满足所述约束条件的情况下,根据所述适应度函数,通过遗传算法经过有限次迭代,确定在当前运行的所有流计算任务总价值最大时各任务的并行度之后,所述方法还包括:判断所确定的各任务的并行度与各任务当前的并行度之间的差值是否小于预设阈值;若所确定的各任务的并行度与各任务当前的并行度之间的差值小于预设阈值,则增大所述任务并行度模型中的优先级影响因子,并根据增大优先级影响因子的任务并行度模型构造适应度函数。4.根据权利要求3所述的方法,其特征在于,所述增大所述任务并行度模型中的优先级影响因子,包括:根据所确定的各任务的并行度与各任务当前的并行度之间的差值,和所述差值小于预设阈值的次数,增大所述任务并行度模型中的优先级影响因子。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:若所确定的各任务的并行度与各任务当前的并行度之间的差值大于或等于预设阈值,则根据所确定的各任务的并行度对当前运行的所有流计算任务的并行度进行调整。6.根据权利要求2所述的方法,其特征在于,所述约束条件包括以下至少一项:当前运行的所有流计算任务的并行度之和小于或等于可用计算节点的CPU核心数目;每个计算节点上运行的所有流计算任务的CPU占用率小于或等于预设的上限值;每个计算节点上运行的所有流计算任务的内存占用率小于或等于预设的上限值;每个计算节点上运行的所有流计算任务的网络带宽占用率小于或等于预设的上限值;每个流计算任务的并行度为整数。7.根据权利要求1至6中任一项所述的方法,其特征在于,在基于任务并行度模型,确定在当前运行的所有流计算任务总价值最大时各任务的并行度之前,所述方法还包括:
获取所述流计算的任务参数值;根据所述性能参数值判断所述流计算是否发生资源紧张的情况,以及根据所述任务参数值判断所述流计算的任务数目是否发生变化;所述基于任务并行度模型,确定在当前运行的所有...

【专利技术属性】
技术研发人员:张力刘玮哲
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1