CN115378789A - 一种多层次协作的流资源管理方法及系统 - Google Patents
一种多层次协作的流资源管理方法及系统 Download PDFInfo
- Publication number
- CN115378789A CN115378789A CN202211299626.8A CN202211299626A CN115378789A CN 115378789 A CN115378789 A CN 115378789A CN 202211299626 A CN202211299626 A CN 202211299626A CN 115378789 A CN115378789 A CN 115378789A
- Authority
- CN
- China
- Prior art keywords
- module
- operator
- data stream
- instance
- adaptive
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/103—Active monitoring, e.g. heartbeat, ping or trace-route with adaptive polling, i.e. dynamically adapting the polling rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多层次协作的流资源管理方法及系统,涉及分布式流计算技术领域。包括:DAG生成模块,用于根据预先设计的数据流应用程序,得到用于表示逻辑执行计划的DAG;自适应分组模块,用于根据动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理;资源感知调度模块,用于将各实例调度到集群的计算节点中进行任务运行;弹性缩放模块,用于实时识别出当前处于瓶颈的运算符,并对运算符的并行度进行自适应调整。本发明设计了一种基于弹性数据流和拓扑感知的分布式流计算系统调度和资源管理框架,达到快速自适应数据输入速率的波动,使得流计算系统Apache Storm可以达到最优性能。
Description
技术领域
本发明涉及分布式流计算技术领域,特别是指一种多层次协作的流资源管理方法及系统。
背景技术
在分布式大数据流计算环境下,无界且连续的数据流的到达率可能随着时间波动,这给流计算系统的弹性带来了巨大挑战。目前,大多数流计算系统研究工作只专注于单从系统的一个或两个层面来适应工作负载的变化,但快速使得系统达到性能最优的问题没有得到完全解决,并且没有从系统的调度、数据流分组以及并行度多个层次协调工作的方案研究。另一方面,大多数流计算系统还无法在运行时自适应调整来维持性能,并且手动重新配置来实时计算波动的数据流是非常困难的。
目前,各个领域的公司为了实时处理业务而采用数据流计算框架,例如ApacheStorm(分布式实时大数据处理系统),Apache Flink Spark Streaming,Apache Samza(分布式流处理框架)等等,由于Apache Storm数据流计算框架的强可扩展性和清晰简便的架构设计,已经被很多大公司使用,但Apache Storm平台中的优化技术在面对上述一些新兴场景时仍有性能上的不足,例如无法在运行时实时处理输入速率波动;手动静态配置运行参数导致用户操作困难且执行效率不高;静态运行时不可变的资源配置不能更好的利用集群中可用资源等问题,这些都会导致整个系统的运行不稳定,高延迟和较低的资源利用率。为了做到应对数据输入速率波动,数据流计算系统在运行时的及时响应是应对这种变化的一种有效方法,仅仅利用调整分组策略、弹性缩放策略或者调度策略某一方面无法很好的让流计算系统做到运行时快速自适应工作负载的变化。
发明内容
本发明针对现有技术无法在运行时实时处理输入速率波动;手动静态配置运行参数导致用户操作困难且执行效率不高;静态运行时不可变的资源配置不能更好的利用集群中可用资源,导致整个系统的运行不稳定,高延迟和较低的资源利用率的问题,提出了本发明。
为解决上述技术问题,本发明提供如下技术方案:
一方面,本发明提供了一种多层次协作的流资源管理系统,该系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块;
其中:
DAG生成模块,用于根据预先设计的数据流应用程序,得到用于表示逻辑执行计划的DAG;其中,DAG包括顶点以及边缘,顶点表示数据流应用程序中的运算符,边缘表示运算符之间的数据流路径。
自适应分组模块,用于根据动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
资源感知调度模块,用于将各实例调度到集群的计算节点中进行任务运行。
弹性缩放模块,用于实时识别出当前处于瓶颈的运算符,并对处于瓶颈的运算符的并行度进行自适应调整。
可选地,自适应分组模块,进一步用于:
自适应分组模块,基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
可选地,自适应分组模块,进一步用于:
自适应分组模块根据预设时间间隔,获取并分析下游运算符各实例的平均数据流元组处理时间,根据平均数据流元组处理时间对下游运算符实例进行动态调整权重。
若实例的平均数据流元组处理时间高于各个实例平均处理时间,则降低实例的权重。
若实例的平均数据流元组处理时间低于各个实例平均处理时间,则增高实例的权重。
可选地,资源感知调度模块,进一步用于:
资源感知调度模块,基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块实时识别出当前处于瓶颈的运算符,并获取处于瓶颈的运算符的平均输入速率和处理速率。
根据平均输入速率和处理速率计算当前瓶颈程度。
根据瓶颈程度确定调整优先级。
根据调整优先级对处于瓶颈的运算符的并行度进行自适应调整。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块,实时识别出当前处于瓶颈的运算符,并基于梯度下降法GD的自适应弹性缩放策略,并对处于瓶颈的运算符的并行度进行自适应调整。
可选地,系统还包括在线监测模块。
另一方面,本发明提供了一种多层次协作的流资源管理方法,该方法由多层次协作的流资源管理系统实现,系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块;
该方法包括:
S1、获取预先设计的数据流应用程序。
S2、根据数据流应用程序以及DAG生成模块,得到用于表示逻辑执行计划的DAG;其中,DAG包括顶点以及边缘,顶点表示数据流应用程序中的运算符,边缘表示运算符之间的数据流路径。
S3、根据自适应分组模块以及动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
S4、根据资源感知调度模块,将各实例调度到集群的计算节点中进行任务运行。
S5、根据弹性缩放模块,实时识别出当前处于瓶颈的运算符,并对处于瓶颈的运算符的并行度进行自适应调整,进而得到数据流资源管理方法。
可选地,自适应分组模块,进一步用于:
自适应分组模块,基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
可选地,自适应分组模块,进一步用于:
自适应分组模块根据预设时间间隔,获取并分析下游运算符各实例的平均数据流元组处理时间,根据平均数据流元组处理时间对下游运算符实例进行动态调整权重。
若实例的平均数据流元组处理时间高于各个实例平均处理时间,则降低实例的权重。
若实例的平均数据流元组处理时间低于各个实例平均处理时间,则增高实例的权重。
可选地,资源感知调度模块,进一步用于:
资源感知调度模块,基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块实时识别出当前处于瓶颈的运算符,并获取处于瓶颈的运算符的平均输入速率和处理速率。
根据平均输入速率和处理速率计算当前瓶颈程度。
根据瓶颈程度确定调整优先级。
根据调整优先级对处于瓶颈的运算符的并行度进行自适应调整。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块,实时识别出当前处于瓶颈的运算符,并基于梯度下降法GD的自适应弹性缩放策略,并对处于瓶颈的运算符的并行度进行自适应调整。
可选地,系统还包括在线监测模块。
本发明实施例提供的技术方案带来的有益效果至少包括:
上述方案中,开展了调度、分组、并行度三个不同层次对系统性能影响的实验,实验表明了为了系统整体的性能效果必须相互协调来快速且稳定的满足低延迟、高吞吐量以及更高效的资源利用率。
建立了DAG生成模块、数据流模型、资源模型、平均处理延迟和吞吐量性能模型。
设计了Es-Stream系统架构,从三个不同方面对系统性能进行优化,基于平滑加权轮询的数据流分组策略,基于LDG的资源感知调度策略以及基于梯度下降法的弹性缩放策略来实现可支持数据流和拓扑感知的弹性调度和资源管理框架。
实现了Es-Stream、监控以及计算功能模块,并集成到典型的分布式流计算系统Apache Storm中,从系统延迟、吞吐量以及资源利用率的角度对系统指标进行全面评估。实验结果表明,与现有的Apache Storm框架相比,提出的Es-Stream在系统性能上具有明显的提升。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的多层次协作的流资源管理系统框图;
图2是本发明实施例提供的大数据流计算中流应用的执行过程图;
图3是本发明实施例提供的基于LDG的资源感知调度策略算法图;
图4是本发明实施例提供的基于平滑加权轮询数据流分组策略的核心算法图;
图5是本发明实施例提供的基于GD的自适应弹性缩放策略算法图;
图6是本发明实施例提供的多层次协作的流资源管理方法流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
如图1所示,本发明实施例提供了一种多层次协作的流资源管理系统,该系统应用于实现多层次协作的流资源管理方法。该系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块;
其中:
DAG生成模块,用于根据预先设计的数据流应用程序,得到用于表示逻辑执行计划的DAG。
其中,DAG包括顶点以及边缘,顶点表示数据流应用程序中的运算符,边缘表示运算符之间的数据流路径。
一种可行的实施方式中,在数据流计算系统中,各个层次都对系统性能有着重要影响。例如在Apache Storm系统中,首先需要预先设计数据流图或者用户手动进行重新平衡调整参数,但大多数用户不具有专业知识,尤其是在运行时环境中,资源和数据流的输入速率都随着时间不断变化,用户无法根据当前的数据流应用程序和性能要求和资源消耗来实时进行调整关键参数,如运算符的并行度,任务调度以及数据流分组。所以将会导致出现处理瓶颈,资源过度利用或者利用不足等情况,从而影响数据流计算平台的性能。
进一步地,如图2所示的大数据流计算中流应用的执行过程图。其中分为以下三个阶段:
1、在逻辑设计阶段:用户有责任在逻辑设计阶段编写数据流应用程序,并提交到流计算平台中执行一些操作。
2、系统将用户代码解析为使用DAG(Directed Acyclic Graph,有向无环图)表示的逻辑执行计划,其中顶点对应于数据流应用程序中的运算符,边缘表示运算符之间的数据流路径。
3、在物理执行阶段,系统将根据调度策略将实例化的多个计算任务放置到集群中被执行,其中根据分组策略确定数据流的处理过程。
因此,本专利通过案例研究,确定了当前流计算系统在不同的数据输入速率的情况下,各个层次对系统性能的影响因素,并在探究中总结出在当前流计算系统方面中面临的挑战与机会。
资源感知调度模块,用于将各实例调度到集群的计算节点中进行任务运行。
可选地,资源感知调度模块,基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
一种可行的实施方式中,当流应用提交到流计算系统,流计算系统根据流应用的参数配置来进行组件实例化,并通过调度器将各个实例调度到集群的节点中运行任务。其中调度器的不同调度策略对系统性能有重要影响,但调度无法动态调整拓扑结构,所以仅使用调度策略来优化系统性能可能会具有一定的局限性,并且如何在运行时调度器根据变化的拓扑结构来自适应调度也是巨大的挑战。本专利在Apache storm集群上进行了实验,来研究这些问题。
进一步地,根据一系列实验可知,流计算系统对流应用进行调度时,不同调度策略对资源的利用率、通信代价以及拓扑结构等性能指标的优化不同,可见调度器对系统性能优化有重要影响。但由于用户缺乏对拓扑结构的配置经验,并且在运行时流环境的动态变化,用户所设置的拓扑结构的静态参数配置会严重影响系统性能,所以需要同时对拓扑组件的并行度进行动态调整来提升系统性能。当拓扑组件的并行度需要频繁发生变化时,一个平衡的调度可能会发生改变,当前的调度方案会变得不平衡,可能会造成实例之间通信延迟过高,但是系统内置调度器无法根据并行度的变化在运行时动态调度,这会导致Apache Storm流计算系统的性能降低。这一观察促使本专利设计一个资源感知调度策略,以便于系统能够适应拓扑并行度的自适应调整,并根据当前流环境资源感知进行调度。
进一步地,流计算系统的调度器用来将用户提交到系统的流应用程序按照调度策略进行调度。本专利的目标是在调度过程中最小化流应用中的实例之间的通信代价,同时在异构集群中保持负载均衡,从而提高流计算系统的处理性能。在流计算系统中导致系统通信开销的原因主要有三个:计算节点之间的进程、计算节点内的进程、以及进程内的线程。往往计算节点之间的进程和计算节点内的进程通信具有较高的通信开销。因此,本专利在考虑通信代价时将专注于解决这两种类型的通信代价问题。基于LDG(LinearDeterministic Greedy,线性确定贪心算法)的资源感知调度策略如图3所示。
自适应分组模块,用于根据动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
可选地,自适应分组模块,基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
可选地,自适应分组模块,进一步用于:
自适应分组模块根据预设时间间隔,获取并分析下游运算符各实例的平均数据流元组处理时间,根据平均数据流元组处理时间对下游运算符实例进行动态调整权重。
若实例的平均数据流元组处理时间高于各个实例平均处理时间,则降低实例的权重。
若实例的平均数据流元组处理时间低于各个实例平均处理时间,则增高实例的权重。
一种可行的实施方式中,Apache Storm流计算系统中随机分组策略采用轮询的方式将上游运算符产生的元组均匀的分发到下游运算符的实例化任务中。但系统调度策略将流应用的实例调度到集群的各个节点中运行,每个运算符的实例分布在不同的节点中,尤其是在异构集群环境中,由于节点中资源的竞争,可能造成集群节点所具有的资源不同,这种轮询的方式对元组进行分组会导致资源较低的实例处理元组性能低下,而其他实例可能会造成资源浪费的情况,特别是在数据输入速率较高情况下,会因为元组分组方式造成实例处理延迟过高,从而导致系统延迟过高,吞吐量低下。
在这项研究分析中,本专利受到启发,将设计一个根据下游运算符实例的负载情况来进行分发元组的分组策略,通过将元组实时分发给运行时工作负载最低的实例进行处理,从而提高系统性能。
进一步地,数据流分组策略需要将上游顶点各实例中发送的数据流元组传输到下游顶点的实例中进行处理。为了使下游顶点各个实例适应流环境中输入负载和资源的变化需要动态调整分发的数据流元组数量以实现负载均衡。本专利通过基于平滑加权轮询算法的自适应分组策略,可以将上游顶点发送的数据流元组传输到下游顶点中负载较轻的实例中进行处理,减少负载过重的实例的处理压力以及提高资源利用率,并且确保更加均匀的将元组分配到下游顶点的各个实例中。基于平滑加权轮询数据流分组策略的核心算法如图4所示。
进一步地,本专利根据实时分析的各个实例平均元组处理速率来进行动态调整权重,如果该实例的平均元组处理时间高于各个实例平均时间,则说明该实例正处于负载较高的状态,可能是有较多的元组在输入队列中等待或者该实例处理能力较弱,那么就将该实例的权重降低。反之,则将负载较低的实例的权重增高。
进一步地,为了防止频繁的计算和更新权重,本专利将设定一定的冷却时间,从而降低权重更新频率,使得自适应数据流分组策略能够快速的适应数据流的变化。
弹性缩放模块,用于实时识别出当前处于瓶颈的运算符,并对处于瓶颈的运算符的并行度进行自适应调整。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块实时识别出当前处于瓶颈的运算符,并获取处于瓶颈的运算符的平均输入速率和处理速率。
根据平均输入速率和处理速率计算当前瓶颈程度。
根据瓶颈程度确定调整优先级。
根据调整优先级对处于瓶颈的运算符的并行度进行自适应调整。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块,实时识别出当前处于瓶颈的运算符,并基于梯度下降法GD的自适应弹性缩放策略,并对处于瓶颈的运算符的并行度进行自适应调整。
一种可行的实施方式中,为了证明不同拓扑结构对流计算系统的性能影响,本专利在Apache Storm集群上进行了一些实验,研究拓扑静态结构在不同情况下的性能情况,从而探究并行度和系统性能之间复杂性,并讨论了对自适应弹性缩放策略的挑战。
通过一系列实验,可以发现随着数据输入速率的不断变化,需要不断的调整拓扑结构中运算符的并行度的配置,否则数据输入速率超过并行度配置时,资源的匮乏导致系统性能降低,需要动态调整组件并行度来降低延迟和容量,提高吞吐量;如果数据输入速率低下时,配置过高导致资源的浪费,应该合并组件实例并且合理调度,从而减少通信代价。目前,在Apache storm实时处理系统中,只能通过手动进行调整并行度,并且如何在运行时将拓扑中组件的并行度调整到适当的配置,以适应动态的流计算环境也是一个重大挑战。
综上,实时自适应调整并行度对提高系统性能起到至关重要的作用。这一观察促使本专利设计一个自适应弹性缩放机制,以便于系统根据当前流环境自适应调整并行度参数。并且,在输入速率动态变化的流环境中,系统性能与并行度配置、负载分配、以及通信和调度策略密切相关,这就需要多层次之间的协调来优化性能。
进一步地,弹性缩放策略将用于实时识别出当前处于瓶颈的关键节点,对于需要调整并行度的关键节点,首先根据该节点的平均输入速率和处理速率计算当前瓶颈程度,并根据每个节点的瓶颈程度来确定调整优先级,并对处于瓶颈的节点采用GD(GradientDescent,梯度下降法)算法迭代计算出新的并行度来适应波动的输入速率。基于GD的自适应弹性缩放策略如图5所示。
可选地,系统还包括在线监测模块。
本发明实施例中,开展了调度、分组、并行度三个不同层次对系统性能影响的实验,实验表明了为了系统整体的性能效果必须相互协调来快速且稳定的满足低延迟、高吞吐量以及更高效的资源利用率。
建立了DAG生成模块、数据流模型、资源模型、平均处理延迟和吞吐量性能模型。
设计了Es-Stream系统架构,从三个不同方面对系统性能进行优化,基于平滑加权轮询的数据流分组策略,基于LDG的资源感知调度策略以及基于梯度下降法的弹性缩放策略来实现可支持数据流和拓扑感知的弹性调度和资源管理框架。
实现了Es-Stream、监控以及计算功能模块,并集成到典型的分布式流计算系统Apache Storm中,从系统延迟、吞吐量以及资源利用率的角度对系统指标进行全面评估。实验结果表明,与现有的Apache Storm框架相比,提出的Es-Stream在系统性能上具有明显的提升。
如图6所示,本发明实施例提供了一种多层次协作的流资源管理方法,该方法由多层次协作的流资源管理系统实现。该系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块。
该方法包括:
S1、获取预先设计的数据流应用程序。
S2、根据数据流应用程序以及DAG生成模块,得到用于表示逻辑执行计划的DAG;其中,DAG包括顶点以及边缘,顶点表示数据流应用程序中的运算符,边缘表示运算符之间的数据流路径。
S3、根据自适应分组模块以及动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
S4、根据资源感知调度模块,将各实例调度到集群的计算节点中进行任务运行。
S5、根据弹性缩放模块,实时识别出当前处于瓶颈的运算符,并对处于瓶颈的运算符的并行度进行自适应调整,进而得到数据流资源管理方法。
可选地,自适应分组模块,进一步用于:
自适应分组模块,基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
可选地,自适应分组模块,进一步用于:
自适应分组模块根据预设时间间隔,获取并分析下游运算符各实例的平均数据流元组处理时间,根据平均数据流元组处理时间对下游运算符实例进行动态调整权重。
若实例的平均数据流元组处理时间高于各个实例平均处理时间,则降低实例的权重。
若实例的平均数据流元组处理时间低于各个实例平均处理时间,则增高实例的权重。
可选地,资源感知调度模块,进一步用于:
资源感知调度模块,基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块实时识别出当前处于瓶颈的运算符,并获取处于瓶颈的运算符的平均输入速率和处理速率。
根据平均输入速率和处理速率计算当前瓶颈程度。
根据瓶颈程度确定调整优先级。
根据调整优先级对处于瓶颈的运算符的并行度进行自适应调整。
可选地,弹性缩放模块,进一步用于:
弹性缩放模块,实时识别出当前处于瓶颈的运算符,并基于梯度下降法GD的自适应弹性缩放策略,并对处于瓶颈的运算符的并行度进行自适应调整。
可选地,系统还包括在线监测模块。
本发明实施例中,开展了调度、分组、并行度三个不同层次对系统性能影响的实验,实验表明了为了系统整体的性能效果必须相互协调来快速且稳定的满足低延迟、高吞吐量以及更高效的资源利用率。
建立了DAG生成模块、数据流模型、资源模型、平均处理延迟和吞吐量性能模型。
设计了Es-Stream系统架构,从三个不同方面对系统性能进行优化,基于平滑加权轮询的数据流分组策略,基于LDG的资源感知调度策略以及基于梯度下降法的弹性缩放策略来实现可支持数据流和拓扑感知的弹性调度和资源管理框架。
实现了Es-Stream、监控以及计算功能模块,并集成到典型的分布式流计算系统Apache Storm中,从系统延迟、吞吐量以及资源利用率的角度对系统指标进行全面评估。实验结果表明,与现有的Apache Storm框架相比,提出的Es-Stream在系统性能上具有明显的提升。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种多层次协作的流资源管理系统,其特征在于,所述系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块;
其中:
所述DAG生成模块,用于根据预先设计的数据流应用程序,得到用于表示逻辑执行计划的DAG;其中,所述DAG包括顶点以及边缘,所述顶点表示数据流应用程序中的运算符,所述边缘表示运算符之间的数据流路径;
所述自适应分组模块,用于根据动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理;
所述资源感知调度模块,用于将各实例调度到集群的计算节点中进行任务运行;
所述弹性缩放模块,用于实时识别出当前处于瓶颈的运算符,并对所述处于瓶颈的运算符的并行度进行自适应调整。
2.根据权利要求1所述的系统,其特征在于,所述自适应分组模块,进一步用于:
所述自适应分组模块,基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
3.根据权利要求2所述的系统,其特征在于,所述自适应分组模块,进一步用于:
所述自适应分组模块根据预设时间间隔,获取并分析下游运算符各实例的平均数据流元组处理时间,根据所述平均数据流元组处理时间对所述下游运算符实例进行动态调整权重;
若实例的平均数据流元组处理时间高于各个实例平均处理时间,则降低所述实例的权重;
若实例的平均数据流元组处理时间低于各个实例平均处理时间,则增高所述实例的权重。
4.根据权利要求1所述的系统,其特征在于,所述资源感知调度模块,进一步用于:
所述资源感知调度模块,基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
5.根据权利要求1所述的系统,其特征在于,所述弹性缩放模块,进一步用于:
所述弹性缩放模块实时识别出当前处于瓶颈的运算符,并获取所述处于瓶颈的运算符的平均输入速率和处理速率;
根据所述平均输入速率和处理速率计算当前瓶颈程度;
根据所述瓶颈程度确定调整优先级;
根据所述调整优先级对处于瓶颈的运算符的并行度进行自适应调整。
6.根据权利要求1所述的系统,其特征在于,所述弹性缩放模块,进一步用于:
所述弹性缩放模块,实时识别出当前处于瓶颈的运算符,并基于梯度下降法GD的自适应弹性缩放策略,并对所述处于瓶颈的运算符的并行度进行自适应调整。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括在线监测模块。
8.一种多层次协作的流资源管理方法,其特征在于,所述方法由多层次协作的流资源管理系统实现,所述系统包括有向无环图DAG生成模块、自适应分组模块、资源感知调度模块以及弹性缩放模块;
所述方法包括:
S1、获取预先设计的数据流应用程序;
S2、根据所述数据流应用程序以及DAG生成模块,得到用于表示逻辑执行计划的DAG;其中,所述DAG包括顶点以及边缘,所述顶点表示数据流应用程序中的运算符,所述边缘表示运算符之间的数据流路径;
S3、根据所述自适应分组模块以及动态调整策略,对上游运算符产生的数据流元组进行分组,并传输到下游运算符实例中进行处理;
S4、根据所述资源感知调度模块,将各实例调度到集群的计算节点中进行任务运行;
S5、根据所述弹性缩放模块,实时识别出当前处于瓶颈的运算符,并对所述处于瓶颈的运算符的并行度进行自适应调整,进而得到数据流资源管理方法。
9.根据权利要求8所述的方法,其特征在于,所述S3中的根据所述自适应分组模块以及动态调整策略,对上游运算符产生的数据流元组进行分组包括:
根据所述自适应分组模块以及基于平滑加权轮询算法的自适应分组策略,对上游运算符各实例中产生的数据流元组进行分组,并传输到下游运算符实例中进行处理。
10.根据权利要求8所述的方法,其特征在于,所述S4中的将各实例调度到集群的计算节点中进行任务运行包括:
基于线性确定贪心算法LDG的资源感知调度策略,将各实例调度到集群的计算节点中进行任务运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211299626.8A CN115378789B (zh) | 2022-10-24 | 2022-10-24 | 一种多层次协作的流资源管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211299626.8A CN115378789B (zh) | 2022-10-24 | 2022-10-24 | 一种多层次协作的流资源管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378789A true CN115378789A (zh) | 2022-11-22 |
CN115378789B CN115378789B (zh) | 2023-01-10 |
Family
ID=84073343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211299626.8A Active CN115378789B (zh) | 2022-10-24 | 2022-10-24 | 一种多层次协作的流资源管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378789B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302576A (zh) * | 2023-05-25 | 2023-06-23 | 中国地质大学(北京) | 一种弹性伸缩的流应用算子并行化方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109121436A (zh) * | 2015-11-25 | 2019-01-01 | 蒂米菲尔股份有限公司 | 增广、探索、和维护项目分层结构的方法 |
US20190213099A1 (en) * | 2018-01-05 | 2019-07-11 | NEC Laboratories Europe GmbH | Methods and systems for machine-learning-based resource prediction for resource allocation and anomaly detection |
CN112384947A (zh) * | 2017-12-28 | 2021-02-19 | 英特尔公司 | 视觉雾 |
CN113095474A (zh) * | 2020-01-09 | 2021-07-09 | 微软技术许可有限责任公司 | 深度学习模型的资源使用情况预测 |
CN113110931A (zh) * | 2020-01-10 | 2021-07-13 | 北京小米松果电子有限公司 | 内核运算优化方法、装置及系统 |
US20210271520A1 (en) * | 2020-02-28 | 2021-09-02 | International Business Machines Corporation | Application aware resource allocation for deep learning job scheduling |
CN113366464A (zh) * | 2019-02-15 | 2021-09-07 | 华为技术有限公司 | 用于在数据库中嵌入流处理执行的系统 |
CN114327479A (zh) * | 2021-12-27 | 2022-04-12 | 清华大学 | 用于大数据的数据处理方法和数据处理装置 |
CN114365115A (zh) * | 2019-09-10 | 2022-04-15 | 甲骨文国际公司 | 用于大容量数据处理的sql分析查询的异构硬件执行的技术 |
-
2022
- 2022-10-24 CN CN202211299626.8A patent/CN115378789B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109121436A (zh) * | 2015-11-25 | 2019-01-01 | 蒂米菲尔股份有限公司 | 增广、探索、和维护项目分层结构的方法 |
CN112384947A (zh) * | 2017-12-28 | 2021-02-19 | 英特尔公司 | 视觉雾 |
US20190213099A1 (en) * | 2018-01-05 | 2019-07-11 | NEC Laboratories Europe GmbH | Methods and systems for machine-learning-based resource prediction for resource allocation and anomaly detection |
CN113366464A (zh) * | 2019-02-15 | 2021-09-07 | 华为技术有限公司 | 用于在数据库中嵌入流处理执行的系统 |
CN114365115A (zh) * | 2019-09-10 | 2022-04-15 | 甲骨文国际公司 | 用于大容量数据处理的sql分析查询的异构硬件执行的技术 |
CN113095474A (zh) * | 2020-01-09 | 2021-07-09 | 微软技术许可有限责任公司 | 深度学习模型的资源使用情况预测 |
CN113110931A (zh) * | 2020-01-10 | 2021-07-13 | 北京小米松果电子有限公司 | 内核运算优化方法、装置及系统 |
US20210271520A1 (en) * | 2020-02-28 | 2021-09-02 | International Business Machines Corporation | Application aware resource allocation for deep learning job scheduling |
CN114327479A (zh) * | 2021-12-27 | 2022-04-12 | 清华大学 | 用于大数据的数据处理方法和数据处理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116302576A (zh) * | 2023-05-25 | 2023-06-23 | 中国地质大学(北京) | 一种弹性伸缩的流应用算子并行化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115378789B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193652B (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
Tantalaki et al. | Pipeline-based linear scheduling of big data streams in the cloud | |
El Khoury et al. | Energy-aware placement and scheduling of network traffic flows with deadlines on virtual network functions | |
CN115378789B (zh) | 一种多层次协作的流资源管理方法及系统 | |
Farahabady et al. | A qos-aware controller for apache storm | |
CN114816715A (zh) | 一种面向跨地域的流计算延迟优化方法及装置 | |
Hou et al. | Frequency-reconfigurable cloud versus fog computing: An energy-efficiency aspect | |
CN115878260A (zh) | 一种低碳自适应云主机任务调度系统 | |
CN111199316A (zh) | 一种基于执行时间评估的云雾协同计算电网调度方法 | |
Li et al. | Dynamic energy-efficient scheduling for streaming applications in storm | |
CN116028193B (zh) | 一种混部集群的大数据任务动态高能效调度方法和系统 | |
Li et al. | Cost-efficient scheduling of streaming applications in apache flink on cloud | |
CN115686830A (zh) | 边缘计算资源弹性调度方法及系统 | |
CN114866430A (zh) | 边缘计算的算力预测方法、算力编排方法及系统 | |
Jadon et al. | A comprehensive study of load balancing approaches in real-time multi-core systems for mixed real-time tasks | |
Han et al. | Elastic allocator: An adaptive task scheduler for streaming query in the cloud | |
Gopinath et al. | An adaptive power management method for radio access network data plane systems | |
Huang et al. | Analysing and evaluating topology structure of online application in Big Data stream computing environment | |
CN112422651A (zh) | 一种基于强化学习的云资源调度性能瓶颈预测方法 | |
Hua et al. | A budget-constrained energy-efficient scheduling algorithm on cloud-edge collaborative workflows | |
Donyadari et al. | Scientific workflow scheduling based on deadline constraints in cloud environment | |
Wang et al. | DAS: A dynamic assignment scheduling algorithm for stream computing in distributed applications | |
Bhutto et al. | Analysis of Energy and Network Cost Effectiveness of Scheduling Strategies in Datacentre | |
CN105468451A (zh) | 一种基于高通量测序数据的计算机集群的作业调度系统 | |
CN116048820B (zh) | 面向边缘云的dnn推断模型部署能耗优化方法和系统 |
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 |