基于异步检查点机制的细粒度流分区负载均衡方法研究

发布时间:2021-01-06 23:28
  在流计算系统中,数据倾斜通常会导致负载不均衡进而增加算子处理数据的延时,严重影响系统本身的运行效率。处理数据倾斜的方法是提出更好的分组策略,保证后续到达的数据可以均衡地分配给下游算子,同时需要状态迁移机制的支持,保证更改分组策略后,状态的存储位置可以对应新的分组策略。本文在Apache Flink计算平台上,提出了一种负载均衡模型,命名为S1负载均衡模型。为实现该模型,本文提出了S1选择模型。定义负载计算方式以及负载不均衡代价和迁移代价的计算方式。本文需要在多次细粒度迁移中,选择收益最大(即代价最小)的状态优先迁移,剩余状态交由后续的细粒度迁移完成。S1选择模型提供了状态迁移的目的地和状态优先级排序队列,可以看作一种特殊的分组策略自动构建模型。目前国内外关于流计算系统负载均衡的研究中,负载均衡策略使用的状态迁移机制都是按照一次性迁移的流程实现的,这种一次性状态迁移机制暂停流计算系统再对所有需要迁移的状态进行迁移,会带来非常高的延时,可以说是一种以显著地降低流计算系统可用性为代价的负载均衡方法。因此,本文提出细粒度状态迁移机制,将一次性迁移划分为多次细粒度迁移,从而降低单次迁移的代价,使... 

【文章来源】:哈尔滨工业大学黑龙江省 211工程院校 985工程院校

【文章页数】:72 页

【学位级别】:硕士

【部分图文】:

基于异步检查点机制的细粒度流分区负载均衡方法研究


Flink运行时架构

基于异步检查点机制的细粒度流分区负载均衡方法研究


FlinkTaskManager和JobManager之间的关系

状态图,算子,检查点,状态


哈尔滨工业大学硕士学位论文152.4.3弹性伸缩有状态的流计算作业在无状态流中更改并行度(即更改为算子执行工作的并行子任务的数量)非常容易,如图2-4所示,仅需要启动或停止无状态算子的并行实例,并使其与上游和下游算子断开连接/断开连接。另一方面,改变由状态算子的并行度要涉及得多,因为还必须以一致有意义的方式重新分配先前的算子状态。在Flink的无共享架构中,所有状态对于运行拥有的并行算子实例的任务来说是本地的,并且在作业运行时并行算子实例之间没有通信。图2-4Flink中有状态算子和无状态算子的重配置Flink中已经存在一种机制,该机制允许在任务之间以一致的方式交换算子状态,并且保证exactly-once的语义,这就是Flink的检查点。检查点barrier会随着事件流从源流向接收器向下游流动,每当算子实例接收到屏障时,算子实例都会立即将其当前状态做快照并存储到分布式存储系统,例如HDFS。还原时,作业的新任务可以再次从分布式存储系统中获取状态数据。可以在检查点上搭载状态作业的重新缩放,如图2-4所示。首先,触发检查点并将其发送到分布式存储系统。接下来以更改的并行度重新启动作业,并且可以从分布式存储访问所有先前状态的一致快照。虽然这解决了在计算机之间重新分配一致状态的问题,但仍然存在一个问题:如果再次将先前map_1和

【参考文献】:
期刊论文
[1]面向大数据流式计算的任务管理技术综述[J]. 梁毅,侯颖,陈诚,金翊.  计算机工程与科学. 2017(02)
[2]复杂网络中节点重要度的一个评估指标[J]. 蒋丰景,陈玥琪.  西安工程大学学报. 2014(01)

博士论文
[1]基于复杂网络的软件关键节点和关键路径挖掘方法研究[D]. 王蕾.燕山大学 2016
[2]分布式实时系统任务容错调度优化算法研究[D]. 何忠政.哈尔滨工程大学 2016

硕士论文
[1]面向流数据处理的动态自适应检查点机制研究[D]. 刘智亮.吉林大学 2017



本文编号:2961442

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/2961442.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户140a4***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com