移动信息系统

PDF
移动信息系统/2020年/文章

研究文章|开放获取

体积 2020年 |文章的ID 5351824 | https://doi.org/10.1155/2020/5351824

紫阳Li Jiong Yu,陈扁,Yonglin Pu、跃飞王羿天张Binglei郭, Flink-ER:一个弹性的资源调度策略处理波动移动Flink流数据”,移动信息系统, 卷。2020年, 文章的ID5351824, 17 页面, 2020年 https://doi.org/10.1155/2020/5351824

Flink-ER:一个弹性的资源调度策略处理波动移动Flink流数据

学术编辑器:劳尔Montoliu
收到了 2019年12月01
接受 2020年5月01
发表 2020年5月20

文摘

实时和即时反馈在任务相关的移动信息变得越来越重要,大数据流处理系统正越来越多地应用于处理大量的移动数据。然而,当处理一个大幅波动移动数据流,缺乏弹性的资源调度策略限制了数据流处理系统的灵活性和可伸缩性。为解决这一问题,本文构建了一个流网络模型中,一个资源分配模型,数据再分配模型为基础,提出Flink弹性资源调度策略(Flink-ER),它包含一个容量检测算法,一个弹性资源重新分配算法和数据分配算法。的策略,从而提高平台的性能动态尺度改变集群的并行性和增加运营商基于处理负载。实验结果表明,集群的吞吐量提升会议延迟约束的前提下,验证策略的效率。

1。介绍

移动计算设备的爆炸性发展,物联网和虚拟现实(VR) [1),大量的数据需要立即处理生成具有极低的延迟。与此同时,大数据流处理系统(需求方)提供准确的实时数据处理服务。希捷的统计数据显示,数据的总量将在2025年之前达到163 ZB2将生成的),四分之一的移动信息设备和需要实时处理3]。因此,处理实时移动流媒体数据表现出波动性,burstiness,障碍,和无限性4),需求方已广泛应用于多种场景的大数据流计算,特别是对移动数据处理。此外,由于优势如低延迟、高吞吐量性能,高效的容错(5,6],和优雅的反压力机制,Apache Flink [7,8)已广泛应用于工业和在学术界引起了越来越多的关注,使它优于相似的软件程序和最受欢迎的需求方在移动数据处理领域。

然而,在流计算波动,Flink有缺点的弹性和可伸缩性。流处理的输入负载通常随时间波动剧烈,但不能及时新Flink集群。因此,总是发生在峰值负载性能下降由于计算资源不足,而能源过度使用总是发生在低负载的时期。Flink以来并没有提供一个弹性resource-rescheduling策略,性能下降和能源过度使用已经成为严峻的挑战,从开源社区备受关注。

为了解决这些问题,一个弹性重新调节方法适用于Apache Flink架构,提出了和Flink弹性(Flink-ER)开发资源调度策略。本文的具体贡献如下:(1)我们提出抽象的流计算拓扑模型一个流网络。以它为基础构建资源分配模型和数据再分配模型,我们为开发Flink-ER提供了理论基础。(2)我们建议检测算法基于流网络模型的能力。算法计算初始容量的基于网络传输性能和调整通过定期反馈来确定一个适当的每条边的能力,从而为弹性资源重新分配算法奠定了基础。(3)我们建议弹性资源重新分配算法基于资源分配模型。该算法最优分派增加负载并创建resource-rescheduling计划通过识别性能瓶颈,从而提高性能有效地利用计算资源。(4)我们提出基于数据再分配的数据分配算法模型。该算法减少了开销需要执行resource-rescheduling计划通过提高Flink检查点和恢复过程的效率。

本文的其余部分组织如下。部分2提出了模型构建基于网络流Flink-ER的理论基础。部分3细节的三个算法弹性尺度改变策略及其实现。部分4评估策略的性能改善和开销通过比较它与策略研究密切相关。部分5介绍了相关工作的优点和缺点。部分6简要总结了论文,并讨论未来的工作。

2。模型的拓扑结构

在本节中,大数据流计算的基本范式首先提出通过分析和建模为一个流网络的容量和流动DAG的每条边。第二,资源分配模型是建基于一个流网络集群的识别瓶颈并创建resource-rescheduling计划。最后,数据再分配模型是由考虑到有状态数据流的特性计算的理论基础数据分配算法。

2.1。流计算模式

在大数据流计算平台,数据直接处理内存的计算节点,而图1显示用户定义的函数作为一个操作符和发送的未加工的数据来源,按顺序由运营商和最后写入存储处理水槽。一般来说,数据源读取数据从一个消息队列,如卡夫卡,而数据接收器将结果写入了Hadoop分布式文件系统(HDFS)或复述等人根据实际需求。

然而,在并行流处理引擎Flink等相应的逻辑部署和执行每个操作符在多个节点称为顶点。因为Apache Flink采用主从架构,流媒体的工作是代表JobGraph,如图1。然而,在平行流媒体处理平台,ExecutionGraph工作,呈现在图2作为一个指南,JobManager部署和安排任务的工作。图2说明一个流的拓扑结构工作的DAG年代表示源, 代表顶点处理数据,t代表用于输出结果的下沉, 表示顶点之间的链接用来传输数据。一般来说,考虑到操作员的处理逻辑O部署到顶点 ,这些顶点称为实例的算子,定义为 O。此外,考虑到运营商之间的数据转换OOj映射通过链接 ,这些链接被称为过渡的实例(O,Oj),定义为 ∈(O,Oj)。因此,逻辑运算符和物理顶点之间的关系和逻辑过渡和物理之间的链接是澄清,然后使用在以下描述。

2.2。流网络模型

流计算范例显示了数据转换性能的边缘和顶点的处理能力实现良好的集群性能是至关重要的。不及时处理的数据都存储在节点的缓冲区,导致数据积累在卡夫卡。换句话说,缺乏处理能力和冗余输入负载导致的延迟增加。因此,最积累分区相对应的源卡夫卡制定流网络范式(9]。例如,假设年代2在图的拓扑结构2导致最积累;然后,相应的流网络呈现在图3

如图3所示,拓扑 是一个单一来源的DAG。集 的顶点集吗年代年代是源和tT下沉。集E= { }由数据顶点之间的联系。如图3,每条边 有一个负的能力 ≥0,代表数据的最大值过渡链接上,和一个非负流 代表的数据转换链接在那一刻。此外,0≤的约束 严格执行流网络,单位是元组/ s。数据处理能力 和数据转换速率 如图3。此外,由于每个顶点代表不同运营商的实例并执行不同的指令,每个边缘上的能力是基于相应的顶点的处理能力。检测算法(算法的能力1)计算每条边的能力和获得不同的值。与此同时,在每条边是基于数据流发送速率从上游顶点。实验结果表明,能力和流是不同的。因此,网络之间的关系说明了数据流处理能力和数据转换的速度拓扑在那一刻。此外,网络的流f数据发送速率的总和在来源、及其价值的定义是

输入:
拓扑的工作:T=
输出:
流网络的工作:G=
开始
初始化流的网络拓扑。
foreach ( , )通用电气
计算边缘的初始容量根据方程(10)。
foreach结束
如果顺丰速递> 0然后
/反馈调节处理负载存在∗/时执行
foreach
如果avg (延迟)>θ 然后
- - - - - -η/减少∗/能力
其他如果avg (延迟)< <θ& & 然后
+η/∗/扩大产能
如果
foreach结束
如果
返回G
结束

根据流网络模型, 数据转换速率的峰值,代表链接的过渡能力和相应的顶点处理能力。它提供了基础模型的弹性资源分配算法,如部分所示4.2确定集群的性能瓶颈和重新安排计算资源。准确检测每条边的能力是非常重要的;因此,能力检测算法部分4.1计算每条边的容量,流网络的构建模型,并为创建resource-rescheduling计划奠定基础。

如图4,考虑到流网络 与流f,相应的提高网络Gf ,它描述了优化空间集群的吞吐量。此外, 的顶点和吗Ef边的集合的拓扑。为每条边 在改善网络有改善空间,减少空间的边缘。改善的空间 代表的空间数据转换的速度可以增加相应的优势。减少空间 代表的空间数据转换的速度可以减少相应的边缘。

具体来说,在原始流网络,流 代表了数据转换速度相应的边缘,和 最大数据转换速度。因此,相应的边缘的数据转换速度不能大于改善空间 ,尽管数据转换速度不可能小于减少空间。总之,提高和降低空间表示的范围内数据转换的速度可以增加或减少相应的边缘,分别。因此,可以优化处理负载分配和数据处理效率可以提高现有计算资源的充分利用。

与此同时,如图4的优化路径 是一个非循环路径从源到汇之一。因此,促进能力的优化路径 是最低的促销能力的优势 : 在哪里 是促进在提高网络能力相应的优势。因此,通过促进流动的原始网络的优化路径,促进流是获取和表示 ,而提升流量的值在每个边缘 在哪里 流在原始网络的边缘。

促进能力相同的方向与原始网络的区别是每条边的容量和流动,代表空间改善原始网络的容量。相比之下,促进原始网络的能力相反的方向代表了空间减少过渡加载相应的边缘。因此,我们可以优化节点之间的负载分配根据每条边的推广能力。与此同时,优化路径的最低促销能力边缘路径提供了一个方案来促进吞吐量从源到汇。

认为 是一个流网络流f和相应的改善网络 与优化路径P。因此,提升流量ffp也是一个原始流的网络,和提升价值是什么 ,这意味着提升流总是大于原始流。因此,既然我们可以找到一个更大的流拓扑的优化路径,一个计划来促进流在原始流的价值网络和更有效地调度数据。因此,延迟调度存储数据的方向优化路径时应减少在源数据积累是制定。因此,Flink-ER的核心思想是找到优化路径,分派积累数据,识别性能瓶颈。

2.3。资源配置模型

之间的数学关系和输入负载的节点处理能力在实践中被提出量化一个流网络模型。然而,当集群性能下降由于缺乏计算资源,优化数据分布策略是不必要的;因此,它是至关重要的发展资源分配模型为基础的弹性资源再分配的算法。

此外,考虑到流网络 ,在这年代年代是源和tT下沉,分区 流网络中顶点的集合分为两个部分,即X ,在哪里年代X Y严格遵守。划分集方程感到满意 此外,对顶点 , , 必须是可行的,这意味着相同的实例运算符总是在相同的任何分区。因此,相应的分区的能力 是边缘的能力值的总和在分区:

此外,分区的流动的和边跨分区的值:

特别是,最小容量的分区是分区的最小流网络。

根据上面的描述,一个分区将流网络划分为两个部分,源和汇的总是同一运营商的不同侧面和实例总是在同一组。因此,每个分区网络代表一个潜在的性能瓶颈,在处理负载超出了整个分区转换能力。因此,分区是最有效的方法来识别瓶颈和供应所需的计算资源把它准确。

是一个网络和流动 是提高网络流f。如果不退出任何优化路径Gf,然后没有任何房间改善吞吐量;所有的计算节点与数据处理任务,完全占领和集群满足条件的性能瓶颈。必须有一个操作符的实例不能按时处理传入的数据由于计算资源的缺乏,和f必须用网络的最大流量的流。因此,至少有一个分区 最小的分区G这使得 真正的(10),这D最小值表明经营者缺乏计算资源。换句话说,最小的分区代表集群的实际性能瓶颈,没有能力处理数据到达时间。因此,Flink-ER识别性能瓶颈通过最小的分区和物资计算资源来解决这个问题。

2.4。模型对数据再分配

解决瓶颈,应该重新安排的工作和任务应该迁移节点之间提供足够的计算资源。然而,计算的中间结果保留在每个节点状态中的状态数据流处理,这是主要的挑战提出一个弹性资源调度策略。

resource-rescheduling计划的执行期间,每个节点的状态数据上传到HDFS的检查点恢复和重新分配的机制。然而,在最初的Flink,有状态数据组织散装,这并不适合与低粒度的数据管理数据再分配。例如,假设一个数据点操作符处理On元组= (关键,价值);其相应的散装在原始Flink 这意味着关键元组映射的哈希函数,散列值相同的元组映射到相同的散装。然而,bulk-management策略导致计算节点经常访问HDFS,这直接导致性能下降在检查点数据的转换。然而,在优化状态数据管理策略,假设其中一个数据点操作符处理On元组= (关键,价值),k桶中存在操作符。的元组j首先是映射到相应的大部分根据方程(6)。然后,元组映射到桶

应对处理元组的节点 在哪里 的一个实例操作符On。因此,从数据的映射定义的计算节点方程(7)和(8),而桶是有状态数据管理的基本单位。

改进的数据再分配模型,集成一些分散的状态数据节点,这极大地提高了检查点的效率和数据恢复过程。因此,基于模型和数据分配算法设计用于执行弹性resource-rescheduling计划通过增加计算资源和有效地迁移状态数据节点。

3所示。弹性资源重新分配策略

基于该模型开发的部分3Flink-ER的三个核心算法,提出了在这一节中。首先,能力检测算法设计计算能力流网络中每条边的反馈调节。第二,弹性资源重新分配算法基于资源分配模型优化的数据调度策略,识别性能的瓶颈,并创建resource-rescheduling计划。最后,数据再分配算法调用resource-rescheduling计划,有效地将数据迁移到节点。此外,Flink-ER的部署策略和结构。

3.1。流网络能力检测算法

据流网络的定义,价值的能力 代表相应的顶点和边的处理和转换功能,这是至关重要的评估一个集群的性能。因此,必须获得准确值的能力为有效弹性资源调度奠定基础。实践经验和实验结果表明,CPU,内存,计算节点的性能和网络带宽的影响,网络带宽是决定因素,因为开销贡献最延迟过渡到数据处理。因此,该算法将网络性能为基础定义初始值的能力,和其余的因素需要考虑反馈调节。

一般来说,集群是由hundred-megabyte连接网络,数据转移率是最高的 假设,在一个纯净的网络环境,所有无关紧要的过程是关闭在每一个节点,即。节点之间存在过渡,没有不必要的开销,数据转换的可用资源 在哪里 由操作系统,转换开销了 是由心跳Flink交流过程中, 是由检查点TaskManager之间的数据转换和HDFS或管理员,然后呢 是动态集群中不可预知的数据转换的开销,这是非常小的。因此,剩下的资源 可用于实际数据转换,计量单位是MB / s。因此,对于某些流工作,能力优势 在|Eij|是顶点的输入链接的数量 ,大小(元组fk)是要处理的数据的大小,测量单位是字节。

基于上述分析,能力检测算法的具体过程如下。

首先,算法所示1流网络的拓扑结构,它由所有顶点和边的DAG拓扑中,初始化。其次,最初的能力 每条边的计算根据方程(10)。然而,偏差发生在过渡的表示能力相应的边缘。因此,反馈调节重复执行每条边。如果平均处理延迟超过用户定义的阈值,即:,the capacity is beyond the exact capability of the vertex, then the capacity is reduced. In contrast, if the average processing latency is far below the user-defined threshold, i.e., resources still exist in the computing nodes, then the capacity is increased. Finally, the capacity of each edge is converted to a value within an ideal range by initial value calculation and continuous feedback regulation.

因此,DAG工作转化为一个流网络的拓扑通过检测每条边的容量,它提供了一种建模基础弹性资源重新分配算法,识别性能的瓶颈,创造resource-rescheduling计划。此外,η是一个重要的参数代表反馈调节的步长;我们将讨论如何获得的价值η4.4

3.2。弹性资源重新分配算法

当数据积累发生在源,弹性资源重新分配算法调度积累数据,识别性能瓶颈,并执行resource-rescheduling计划。根据节2.3作为集群的实际瓶颈,最小的分区限制了集群的性能,和运营商的并行性Y应该增加。然而,这可能不是唯一的一个瓶颈。假设分区 ;每个分区满足标准 可能被识别为集群的瓶颈,≤0.85λ≤1。因此,一旦一个分区的流动达到85%的容量,集群的分区可以成为潜在的瓶颈。因此,第一个运营商集的并行性Y应该增加通过提供更多的计算资源。

根据上述模型的资源分配和分析,弹性资源重新分配算法如下。

首先,算法所示2,改善网络是根据定义,制定和优化路径寻求基于流的网络。第二,积累数据派出沿着优化路径时路径在提高网络提高集群的吞吐量。相比之下,当没有在提高网络优化路径,这意味着未加工的数据到达率超过最高吞吐量的集群,集群的瓶颈是确定的最低分区,和额外的资源提供给提高集群的处理能力和吞吐量。最后,数据分配算法用于迁移状态数据和安排任务。

输入:
流网络:G=
网络的电流:f
积累每个分区的来源:滞后[]
输出:
新流网络:G
开始
建立改善网络从流网络。
P←BFS (Gf,Gf。年代,Gf。T)/搜索的优化路径/
而马克斯(滞后[])≥φP! =∅做
|fp|←分钟{ }
G←enlargeFlow (通用电气,P、|fp|)
P←BFS (Gf,Gf。年代,Gf。T)
结束时
如果马克斯(滞后[])≥φ然后
扩大每个操作符的并行性满足的标准方程(11)
如果
G′= taskMigration (操作符[])
返回G
结束

总之,资源利用率最大化,集群的性能瓶颈识别通过使用一个弹性resource-rescheduling算法提出了基于资源分配模型。与此同时,资源和任务调度计划是由确定哪些运营商应该相应规定。因此,我们建议的数据分配算法迁移状态数据和执行任务调度计划。

3.3。数据分配算法

如上所述,重要的是要迁移状态数据进行资源和任务调度策略。然而,传统的有状态数据管理不适合移民,其中包括太多的沟通太多散射和低数据管理粒度。为了解决这个问题,数据分配算法基于数据再分配模型来减少通信开销在有状态数据和任务迁移。

如图5,假设的并行操作符从3增加到4。有状态数据由3第一推到HDFS实例散装。然后,从数据映射到相应的实例修改根据新的并行。最后,有状态数据从HDFS根据新的映射。根据描述,数据分配算法的详细过程如下。

算法3表明,对于每个运营商拓展,有状态数据管理的第一次推到HDFS实例,和处理程序,记录数据的位置和大小,存储在动物园管理员。第二,补充节点请求并添加到运营商,在有状态数据映射修正根据方程(7)和(8),如图5。最后,每个实例要求数据处理程序获得的位置有状态数据,并把数据从HDFS。此外,算法1是用来调节每个边缘的能力基于流的新结构网络。

输入:
新操作符:操作符[]
资源池:
输出:
新流网络:G
开始
foreachO操作符[]做
foreach O
发送状态数据的顶点 HDFS,动物园管理员的数据处理程序。
foreach结束
池。getNode ()
O。add ( )/扩大运营商的并行性/
[]←JobManager.remapping ([],|O|)
/重新映射状态数据,如图5/
foreach O
从动物园管理员需要有状态数据和恢复相应的HDFS的状态数据
foreach结束
foreach结束
flowNetwork_selfLearning (G′)
返回G
结束

数据分配算法,提出了数据的分散分布和频繁的HDFS访问解析。因此,数据迁移的开销降低,Flink-ER改进的效率。

3.4。讨论选定的参数值

在能力检测算法(算法1),参数η代表能力监管的步长。的值η太高会导致容量由于过度波动。相比之下,一个值η太低会导致算法的效率减少由于太多轮监管前收敛。因此,一个精确的和动态的价值η是实现效率的关键。

假设延迟约束的工作lc,这意味着系统的响应时间应该是有限的lc。然而,在实践中,实际的顶点的平均处理延迟 可以通过延迟跟踪监控机制

此外,根据能力的定义部分3,能力是数据转换速率每秒。换句话说,每1000毫秒,tuple过渡的顶点

根据延迟约束lc,当前的容量和值之间的偏差,即反馈调节步长η,将

总之,参数η可以动态地计算通过持续地跟踪系统的延迟响应时间和计算电流之间的偏差和思想价值。因此,我们可以获得最大程度的能力如果延迟约束满足。

3.5。策略的实现和部署

实现Flink-ER,应该改进平台的基本架构。Flink-ER的架构是开发基于最初的Apache Flink。

如图6相比,主要的改进Flink-ER原始Flink添加以下四个组件或线程:(1)动物园管理员:管理员保存流网络的体系结构和状态数据的元数据TaskManagers检查点和坐标。(2)容量检测器:探测器,这是传统的Java线程使用的算法2,负责检测流网络的容量和发展流网络模型。(3)安排:安排是一个传统的Java线程调用算法1负责优化调度积累数据和创建resource-rescheduling计划。(4)数据候鸟:这个组件,这是一个传统的Java线程执行的每个TaskManager和使用算法3,负责把状态根据元数据存储在HDFS数据管理员。

关于数据转换,因为转换的控制信息Akka [11]TaskManager和JobManager TaskManager发送数据处理程序的JobManager Akka演员AcknowledgeCheckpoint命名。实现Flink-ER,演员名叫ReportNetwork TaskManager报告当前的开发能力和流向JobManager。此外,安排调度计划和其他元数据管理员写道,尽管数据候鸟读取。因此,动物园管理员实现Flink-ER协调员是至关重要的。

4所示。实验结果和分析

验证Flink-ER性能改进的各种工作,成立了一个实用的实验,和不同的基准是在不同的平台上执行。与相关的最先进的方法进行比较,我们意识到的核心意识形态Sra-Stream [12在Flink,跑同样的基准与Flink-ER相同的实验装置。实验结果验证了优势和评估的开销Flink-ER相比原Flink Sra-Stream。

4.1。实验装置

模拟实际用例,集群由21个人电脑,和部署架构如图6中,一个节点被部署为JobManager TaskManager 6节点被部署,4个节点被部署在资源池的备用TaskManager弹性补充。此外,3节点被部署为Hadoop 3节点被部署为管理员,和1个节点被部署为资源调度器。硬件和软件设置如表所示12,分别。


价值

CPU 英特尔(R) (TM)核心i7 - 4790 CPU @ 3.60 GHz
内存 4 GB DDR3 1600 MHz
磁盘 1 TB, 7200 RPM
网络 100 Mb /秒


价值

操作系统 CentOS 6.5
JDK jdk1.8.0 - 181 - linux - x64
Apache Flink 1.6.0
Apache Hadoop 第2.7.4
Apache卡夫卡 2.10 0.8.2.0
Apache管理员 3.4.10
复述, 正式

Sra-Stream,这是一个弹性调度策略进行有状态的流处理,是最密切相关的贡献。我们意识到其核心意识形态和插入到Flink资源和任务调度策略与Flink-ER进行比较。并给出了实验结果和分析。

4.2。实验结果和分析

比较的性能与Sra-Stream Flink-ER和原始Flink在不同实际应用场景,四个基准,即。,TwitterSentiment WordCount IncrementalLearning, Streaming-Benchmarks,来自Flink的源代码(v1.6.0) [13从英特尔在GitHub]和贡献14),三个平台上执行的,因为它们代表Flink用例。

在实验中,通过延时处理延迟和数据积累聚集跟踪指标的定期发送一个HTTP请求发送到REST API,这是web UI的Flink, 60年代间隔。这两个指标直接反映了集群的性能,和实验结果如下。

作为一个cpu密集型工作,WordCount用于统计每个单词出现的频率在一篇文章中写道。我们将输入数据作为一个连续的数据流。实验结果呈现在图7。处理延迟增加积累的数据,验证数据积累导致处理延迟。弹性调度策略,此外,没有任何延迟的原始Flink继续增长,超过900 ms,这在实践中是不可接受的。相比之下,Flink-ER延迟增加,然后下降到一个可以接受的范围,因为算法2派遣积累数据,同时补充计算资源为5 - 6分钟。作为数据7 (c)7 (d)显示,在弹性资源调度过程中(∼300 - 480年),这两种策略减少了资源和任务延期的处理延迟,但Sra-Stream的时间安排资源和参与性能波动。相比之下,Flink-ER花了大约60年代安排任务,有效地减少了延迟,因为数据分配算法减少了通信开销中有状态数据迁移。在那之后,这两种策略限制了延迟一个可接受的范围内。

内存密集型工作,TwitterSentiment是一个标准的基准用于分析用户情绪通过tweet,反映累积的数据内存使用。因此,用户在Twitter上推的连续数据流在JSON格式设置为输入数据来源。因为每个顶点保留复杂的TwitterSentiment执行期间有状态数据,数据迁移算法的开销3验证。因此,图8(一个)说明输入负载的增加,集群的吞吐量减少由于缺乏计算资源,而弹性资源调度策略提升吞吐量通过优化载荷分布和补充资源,贡献了一个显著的改善。此外,数据8 (c)8 (d)在这两种策略说明内存利用率降低。然而,Sra-Stream需要更多时间状态数据迁移和调度波动展出。Flink-ER调度所需要的时间更少,但更高的内存利用率数据积累HDFS的有状态数据恢复过程中。一般来说,任务调度的内存开销Flink-ER在实践中是可以接受的。

CPU密集型工作,IncrementalLearning是一个复杂的迭代计算的大规模矩阵CPU上执行期间是典型的稀缺资源。图9(一个)说明原Flink有限的瓶颈不足80000元组/ s,而这两种策略显著改善提供了可接受的开销。数据9 (b)- - - - - -9 (d)显示集群中的一个TaskManager的CPU利用率。增加处理负载,CPU利用率接近100%,这意味着CPU资源的缺乏限制了集群的吞吐量和性能。相比之下,这两种调度策略降低CPU利用率通过提供更多的计算资源,扩大CPU密集型的并行操作符(迭代计算在这个工作)和分发处理负载。然而,两种策略的缺陷是不同的。Sra-Stream显示波动系统响应延迟和资源利用率,同时Flink-ER短的处理时间(大约3 s)有状态数据迁移;然后工作是恢复正常执行与更好的性能。未来的研究将集中在缩短或减少休息时间。此外,由于所有的系统执行相同的基准实验期间,学习他们的学习精度完全相同,但是他们的执行效率和性能结果是不同的。

Streaming-Benchmarks用于广告的分析和由雅虎在GitHub (15];这是一个典型的用例数据分析为移动设备。如图10所示,由于高输入负载,复杂的计算,和大规模的有状态数据,基准的执行占用的CPU和内存资源TaskManager节点。然而,原始Flink不是处理数据的能力就准时到达率,导致数据积累和延迟增加。因此,集群执行两个资源调度策略在600年代和780年代的同时提高性能通过补充资源。减少数据积累和处理延迟确认资源重新安排有效提高集群的性能通过补充资源和重新安排任务。此外,重新安排之前,Flink-ER通过优化调度提供了一个更高的吞吐量积累数据。延期期间,Flink-ER减少了开销通过高效状态数据管理和迁移。重新安排后,集群可能稳定速度。因此,与原始Flink和Sra-Stream相比,Flink-ER更适合实际应用场景和复杂的状态数据和移动信息系统更适用于数据分析和复杂的计算。

总之,通过动态地重新安排资源和有效的迁移状态数据,Flink-ER促进集群吞吐量通过延迟约束。与原始Flink相比,Flink-ER提高工作执行效率提出了一个弹性resource-rescheduling策略。与Sra-Stream相比,Flink-ER减少重新安排提出了一个高效的开销有状态数据管理和迁移策略。实验展示在表的具体结论3


需求方 调度策略 优势 缺点 适用的场景

Flink 默认的调度策略 一次处理 性能瓶颈 常数和不变的处理负荷
Sra-stream [12] 首先满足和对延迟敏感runtime-aware-based调度 有状态数据调度 调度性能波动 小有状态数据
Flink-ER Flow-network-based动态调度 准确打破瓶颈的较低的开销 瞬时爆发 大规模的有状态数据

4.3。开销评价

因为有状态数据的迁移涉及到过渡可能影响集群的性能开销,在检查点和恢复过程中数据传输是评估。Streaming-Benchmarks TwitterSentiment流工作和复杂的状态数据;因此,他们被用来评估转换开销,而Linux的网络过渡监控操作,即。iftop和tcpdump,用于监控节点之间的传输。捕获的数据呈现在图11

11清楚地表明,检查点是参与一个小周期过渡,因为执行增量检查点。对于恢复过程,恢复数据的数量是一样的在这两个平台,但Flink-ER带更少的时间去恢复数据,因为有状态数据存储在HDFS集中式数据管理系统的一个水桶。此外,HDFS访问的频率显著降低数据分配算法。总之,Flink-ER有效地减少了数据的开销比原始Flink过渡。

4.4。分析任务的突破

根据实验结果,因为现有的工作弹性资源调度存在的问题瞬间爆发,Flink-ER有效地缩短了打破由于负载迁移过程的一半。数据处理线程的执行将修改状态的数据。然而,重要的是有状态的节点之间的数据在迁移过程中保持一致,为确保精度一致性是至关重要的。因此,数据处理线程在每个节点应该有状态数据和任务迁移期间暂停维护状态数据的一致性。然而,任务突破仍然影响性能的连续移动流数据处理在一个可接受的范围内。

因此,完全消除了突破仍是未来工作的目标。实现在线弹性资源调度没有任何突破,每个节点的状态数据时应该迁移数据处理线程运行状态变化数据时应该合并。通过考虑Flink中的检查点机制的特点,未来的工作将集中在实现任务调度和数据处理,合并有状态数据。提出了一个在线状态数据和任务迁移算法,任务将会爆发的问题解决,和弹性资源调度的性能将得到改善。

解决性能下降需求方面对波动数据流与不同到达率,巨大的努力已经由研究人员提高表演各种流处理引擎。三个主要方法用于解决这一问题:(1)提高集群的性能通过优化任务调度策略;(2)提高工作执行效率通过减少计算节点之间的通信开销;和(3)提高集群提出了一个弹性的可伸缩性resource-rescheduling策略。这些方法的优点和缺点,以及代表的贡献总结如下。

首先,优化任务调度策略是最具代表性的传统技术,提高dsp的性能,同时保证延迟约束。太阳et al。16,17)提出不同的任务调度策略在一个有向无环图(DAG)的拓扑结构,实现出色的性能而言,减少了处理延迟和能源消耗。此外,以往的研究(18- - - - - -21)制定各种各样的任务调度方法通过分析各种拓扑的特性。的延迟、吞吐量和资源利用率,他们创建一个任务延期计划和改进的拓扑结构的工作,这是一种有效的方法提高数据流处理系统的性能和效率。然而,任务调度策略未能识别性能瓶颈和解决性能下降当数据到达率波动。第二,减少了通信开销是一个受欢迎的任务调度策略的任务将根据通信性能指标。Eskandari et al。22实现T3-Scheduler风暴,可以有效地识别相互通信的任务,并将它们分配给相同的节点。席尔瓦et al。23)提出一个方法来监控通信指标的边缘装饰边强化学习训练集的重新配置拓扑。此外,以往的研究(24- - - - - -26]提出不同的任务调度策略,减少通信开销,减少处理延迟。因为数据过渡最开销有助于集群,他们重新安排任务最多的数据转换为相同的计算节点跨节点以减少通信开销,这是一种有效的方法提高数据转换和处理的效率。然而,通信开销可能大幅改变拓扑结构的变化和处理负载。因此,基于通信调度策略指标通常不能够响应。

与上述两种方法相比,弹性资源延期策略是一种有效的方法来解决性能瓶颈时将不断波动的数据流(27]。乔纳森et al。28)讨论之间的权衡查询执行的重新配置和适应现有的重构技术。他们发现最好的适应技术取决于网络条件、类型的查询,和优化指标。伊达尔戈et al。29日]提出的方法测量分布式流处理系统的灵活性和可伸缩性,为基准需求方的性能是非常有用的,当数据到达率波动。Russo et al。30.,31日]提出不同的弹性数据流调度策略的强化学习方法,autorescales需求方通过自学习算法和集群的性能指标。一体化的机器学习在需求方的弹性资源调度策略承诺但仍不适用于工业。与此同时,以往的研究(32- - - - - -37)提出各种各样的弹性资源动态调度策略自适应的观点,资源约束和拓扑特性,适合于不同的应用场景。通过特定平台的性能指标和建筑特征考虑,他们提出不同的弹性资源调度策略破坏性能瓶颈。然而,一些上面的策略可能涉及调度开销,和其他人不能用于Flink。

此外,太阳et al。12]提出Sra-Stream,状态和弹性流计算runtime-aware调度策略。Sra-Stream认为有状态数据迁移和响应时间之间的数学关系和数据到达率在任务调度策略,达到良好的性能状态数据流处理。Cardellini et al。38)实现分散式自适应弹性数据流处理解决方案,是基于三个分布式自适应策略,包括基于阈值的方法和两种强化学习算法。刘等人。39]提出一种自适应资源执行在线调度方案集成到风暴。核心理念是隔离有状态的和无状态的实例和减轻节点的资源争用。然而,大多数现有的弹性资源调度策略面临以下问题(40]:(1)执行弹性资源调度、任务和有状态数据应该迁移到计算节点,这需要巨大的通信开销,和瞬时爆发可能超过可接受的范围(41](2)现有的在线数据迁移和任务调度策略可能产生的结果与性能波动和集群的稳定性下降,不适合工业应用(3)资源优化方法,现有的计算资源调度策略需要过度,影响数据处理的性能和资源密集型的应用场景是不可接受的

解决上述问题,Flink弹性资源调度(Flink-ER)提出。本文的根本区别和现有研究总结如下:(1)现有研究变化的规模和运营商并行而不考虑现有资源的利用率。本文充分利用现有的计算资源,提高吞吐量在执行之前弹性资源调度。(2)现有研究不采取有状态数据(36)考虑在任务调度。本文提出了一个有状态数据管理模型和状态数据迁移在任务调度算法,有效地降低了通信开销。(3)一般来说,现有的研究提出基于资源利用的资源调度策略(包括CPU、内存和网络带宽)。本文综合考虑集群的处理延迟和吞吐量直接和有效地破坏性能瓶颈。

6。结论和未来的工作

作为最受欢迎的需求方,Apache Flink已经广泛应用了数据流处理移动信息。然而,缺乏resource-rescheduling策略导致性能下降,限制了平台的进一步发展。因此,Flink弹性资源调度策略(Flink-ER)在本文提出。实验结果表明,该策略有效地促进集群的吞吐量,降低了通信开销有状态数据迁移延迟约束下的优化数据分布策略,弹性重新安排资源,有效地减少了数据迁移开销。

在未来的工作中,瞬时爆发所面临的问题,现有的研究将得到解决,我们将提出一个在线弹性资源调度策略对数据处理线程没有任何突破。因此,我们未来可能的工作可以概括如下:(1)解决瞬时爆发的问题,网上有状态数据和任务迁移算法设计和实现(2)减少依赖外部组件(如动物园管理员,Flink主应该提高独立开展弹性资源调度(3)广泛应用数据流处理系统在移动信息处理领域,更相关的问题应该解决更多的应用场景

数据可用性

使用的数据来支持本研究的发现可以从相应的作者。

的利益冲突

作者宣称没有利益冲突。

确认

这项研究得到了国家自然科学基金(批准号。61862060,61862060,61562086),中国新疆维吾尔自治区自然科学基金(2017 d01a20),中国新疆维吾尔自治区教育研究项目(XJEDU2016S106),新疆大学和博士创新项目(批准号xjubscx - 201902)。

引用

  1. x, w, t·郭Yu Liu和l .张“移动优势协助全方位视频直播系统,”移动信息系统卷,2019篇文章ID 8487372, 15页,2019年。视图:出版商的网站|谷歌学术搜索
  2. 希捷、数据2025岁。2019年,https://www.seagate.com/files/www - content/our story/trends/files/data -年龄- 2025 -白-纸-简化chinese.pdf
  3. k·佐佐木和t .井上”协调实时串行标记订单合作的戏剧表演实践的情况下,“移动信息系统卷,2019篇文章ID 4545917, 10页,2019。视图:出版商的网站|谷歌学术搜索
  4. d .太阳、g . Zhang和w·郑”大数据流计算:技术和实例。”软件学报,25卷,不。4、839 - 862年,2014页。视图:谷歌学术搜索
  5. p .痈Ewen s, g .论坛s Haridi s级和k . Tzoumas“在Apache flink状态管理,”美国养老,10卷,不。12日,第1729 - 1718页,2017年。视图:出版商的网站|谷歌学术搜索
  6. p .痈,g .论坛Ewen s, s . Haridi和k . Tzoumas“轻量级异步分布式数据流的快照,”2015年,https://arxiv.org/abs/1506.08603视图:谷歌学术搜索
  7. a . Alexandrov r·伯格曼Ewen s . et al .,“平流层的大数据分析平台,VLDB日报,23卷,不。6,939 - 964年,2014页。视图:出版商的网站|谷歌学术搜索
  8. p .痈,a . Katsifodimos s Ewen诉Markl s Haridi和k . Tzoumas“Apache flink:流和批处理在一个引擎,”《IEEE计算机协会技术委员会数据工程,36卷,不。4、2015。视图:谷歌学术搜索
  9. h . Mueller-Merbach”,一种改进的算法ford-fulkerson方法开始运输问题,“管理科学,13卷,不。1,第104 - 97页,1966。视图:出版商的网站|谷歌学术搜索
  10. h·托马斯·c·e·雷瑟尔森r·l·莱维斯特和c·斯坦,算法导论剑桥,麻萨诸塞州:理工学院,硕士,美国,2009年。
  11. a . Rosa l . y . Chen和B . .沃尔特,“剖析Akka演员利用率和通信,”第15届国际研讨会Erlang学报》上ACM,奈良,日本,2016年9月。视图:谷歌学术搜索
  12. f . d .太阳,美国高,x Liu, x,和r . Buyya”状态和runtime-aware调度在弹性流计算系统中,“未来一代计算机系统卷,97年,第209 - 194页,2019年。视图:出版商的网站|谷歌学术搜索
  13. GitHub, Apache Flink, 2019,https://github.com/apache/flink
  14. 费边Hueske Incubator-Flink, 2019年,https://github.com/physikerwelt/incubator-flink
  15. GitHub DataArtisans:雅虎Streaming-Benchmarks。2019年,https://github.com/dataArtisans/yahoo-streaming-benchmark/
  16. d .太阳,g .傅、刘x和h .张“优化大数据流计算数据流图在云数据中心环境中,“国际期刊《计算技术的进步》第六卷,没有。5、65年53 - 2014页。视图:谷歌学术搜索
  17. d .太阳,g·张,杨,w .郑,汗,和k·李,“Re-Stream:实时和节能资源调度在大数据流计算环境,”信息科学,卷319,不。13日,92 - 112年,2015页。视图:出版商的网站|谷歌学术搜索
  18. c .张x, z李et al .,“分布式流处理平台的动态调度策略,”学报2018年IEEE国际会议上并行和分布式处理与应用,无处不在的计算和通信、大数据和云计算、社会计算与网络、可持续的计算与通信(当前/ IUCC / BDCloud / SocialCom / SustainCom)IEEE,页773 - 780年,广州,中国,2018年12月。视图:谷歌学术搜索
  19. 舒克拉和y Simmhan”,模型驱动调度分布式流处理系统”,杂志的并行和分布式计算卷,117年,第114 - 98页,2018年。视图:出版商的网站|谷歌学术搜索
  20. 诉Cardellini g . Mencagli d·塔里亚和m . Torquati”数据流处理的新风景在雾计算的时代,“未来一代计算机系统卷,99年,第650 - 646页,2019年。视图:出版商的网站|谷歌学术搜索
  21. n . Tantalaki s Souravlas m . Roumeliotis et al .,“大数据流的线性调度多处理器集在云中,”学报IEEE /每各月ACM国际会议网络情报ACM,页107 - 115年,塞萨洛尼基,希腊,2019年10月。视图:出版商的网站|谷歌学术搜索
  22. z l . Eskandari j .其余的黄,d·艾尔斯“T3-Scheduler:拓扑和交通意识到两级调度程序在异构集群中,流处理系统”未来一代计算机系统卷,89年,第632 - 617页,2018年。视图:出版商的网站|谷歌学术搜索
  23. a·席尔瓦威斯·r . de Souza m . d . de Assuncao et al .,“多目标强化学习对边计算,重新配置数据流分析”48学报》国际会议上并行处理ACM,卷。106年,纽约;美国纽约,2019年8月。视图:谷歌学术搜索
  24. t . Loukopoulos n . Tziritas m . Koziri et al .,“帕累托最优算法在网络边缘,为数据流处理”学报2018年IEEE国际云计算技术和科学会议(CloudCom)IEEE,页159 - 162年,尼科西亚,塞浦路斯,2018年12月。视图:出版商的网站|谷歌学术搜索
  25. a . Pagliari f·休伊特,g . Urvoy-Keller”的包装成本数据流处理系统”学报19 IEEE / ACM国际研讨会集群,云,和网格拉纳卡,塞浦路斯,2019年5月。视图:谷歌学术搜索
  26. 张周,f . h . Chen等人“FastJoin: skewness-aware分布式流加入系统”《2019年IEEE国际并行计算和分布式处理研讨会(IPDPS)IEEE,页1042 - 1052年,里约热内卢,巴西,2019年5月。视图:谷歌学术搜索
  27. h·罗杰和r . Mayer”,全面调查并行流处理和弹性,”ACM计算调查(CSUR),52卷,不。2、2019。视图:出版商的网站|谷歌学术搜索
  28. a·乔纳森·a·钱德拉和j . Weissman“广域流处理系统的适应性,反思”10 {USENIX}学报》研讨会上热门话题在云计算(HotCloud 18)美国,波士顿,MA, 2018年7月。视图:谷歌学术搜索
  29. n .伊达尔戈e玫瑰花,c . Vasquez, d . Wladdimiro”测量流处理系统适应性动态工作负载下,“未来一代计算机系统卷,88年,第423 - 413页,2018年。视图:出版商的网站|谷歌学术搜索
  30. g·r·鲁索诉Cardellini, f . l .,“强化学习政策弹性流处理基于异构资源,”学报13 ACM国际会议在分布式和基于事件的系统页,31-42 ACM,达姆施塔特,德国,2019年6月。视图:谷歌学术搜索
  31. g . Russo Russo m . Nardelli诉Cardellini et al .,“广域数据流系统的多层弹性:强化学习方法,“算法,11卷,不。9日,2018年。视图:谷歌学术搜索
  32. 诉Cardellini f . l, m . Nardelli et al .,对分级自动控制弹性数据流处理在雾中,欧洲会议上并行处理施普林格,可汗,瑞士,2017。
  33. m . Belkhiria c·泰德斯:“一个完全分散的自动定量算法对于流处理应用程序,”程序的国际研讨会上自主解决方案并行和分布式数据流处理,哥廷根,德国,2019年。视图:谷歌学术搜索
  34. g·r·鲁索”Geo-distributed计算环境自适应数据流处理,”学报13 ACM国际会议在分布式和基于事件的系统ACM,页276 - 279年,达姆施塔特,德国,2019年6月。视图:谷歌学术搜索
  35. g . Mencagli m . Torquati和m . Danelutto”Elastic-PPQ:两级空间偏好自主系统在动态数据流查询处理,”未来一代计算机系统卷,79年,第877 - 862页,2018年。视图:出版商的网站|谷歌学术搜索
  36. n .伊达尔戈d Wladdimiro e玫瑰花,”自适应加工图与经营者裂变为弹性流处理,”系统和软件杂志》上卷,127年,第216 - 205页,2017年。视图:出版商的网站|谷歌学术搜索
  37. b . Lohrmann p Janacik o . Kao,“弹性延迟保证流处理,”学报2015年IEEE第35届国际会议上的分布式计算系统IEEE,页399 - 410年,哥伦布,哦,美国,2015年6月。视图:谷歌学术搜索
  38. 诉Cardellini f . Lo, m . Nardelli和g . Russo Russo“分散式自适应弹性数据流处理,”未来一代计算机系统卷,87年,第185 - 171页,2018年。视图:出版商的网站|谷歌学术搜索
  39. j . s . Liu翁,j·h·王et al .,”一个自适应的在线计划调度和资源执行风暴,”IEEE / ACM交易网络,27卷,不。4、2019。视图:出版商的网站|谷歌学术搜索
  40. a Floratou和a . Agrawal”自我调节流媒体系统:挑战和机遇,国际研讨会程序实时商业智能和分析”ACM,1卷,2017年。视图:谷歌学术搜索
  41. Q.-C。j·索托,和诉Markl状态管理的调查在大数据处理系统中,“VLDB日报,27卷,不。6,847 - 872年,2018页。视图:出版商的网站|谷歌学术搜索

版权©2020紫阳李等。这是一个开放分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。


更多相关文章

PDF 下载引用 引用
下载其他格式更多的
订单打印副本订单
的观点963年
下载498年
引用

相关文章

文章奖:2020年杰出的研究贡献,选择由我们的首席编辑。获奖的文章阅读