论文部分内容阅读
伴随信息时代的飞速发展,数据量的爆炸式增长以及计算机性能的飞越带领人们跨入到大数据的时代。面对种类庞杂且规模庞大的数据集,必须使用分布式计算框架才能够有效地进行处理,而以有向无环图(Directed Acyclic Graph,下简称DAG)模型作为作业逻辑关系编排方式的分布式计算框架就是目前最为流行的大数据计算解决方案之一。由于大数据通常以只增的方式进行数据集的更新,使得大数据在存储上通常都具备增量性。目前的DAG计算框架在对这样的数据集进行计算时仍存在诸多挑战。一是对欠缺增量的感知能力,使得数据增量后的重计算占用了过多的计算资源;二是缺少对可复用计算特别是相似计算的识别与复用。既有工作主要从应用算法层面和计算框架层面提出改进。从应用算法层面的改进仅适用特定的计算管线,无法以用户透明地方式进行优化;从计算框架层面的改进方法对数据和计算逻辑的要求较为苛刻。本文针对现存问题,通过引入间接复用以及算子裁剪的方式来对相似计算进行识别和处理,通过构建Cost Model实现了动态的缓存管理策略,从而在增加优化适用范围的同时,以用户透明的方式实现计算性能的提升。本文的主要贡献如下:(1)建立了DAG中直接复用与间接复用的识别模型。抽取了DAG计算框架中的可复用算子的特征,对直接复用与间接复用进行了分析与定义。通过该识别模型可以对DAG中的可复用部分进行识别。(2)设计并实现了DAG框架中的增量计算复用框架。本文在该框架中设计了基于DAG节点预处理、可复用计算的匹配和增量计算处理三步的增量计算复用流程。通过DAG中Filter算子的处理策略实现了Filter算子的模糊匹配与拆分机制;基于FQ-Tree的DAG可复用片段的匹配机制和增量计算处理策略实现了基于Filter算子的间接复用机制。(3)设计并实现了缓存管理机制。设计了基于Alluxio的多介质缓存存储策略。实现了基于FQ-Tree的缓存信息的维护策略及相关算法,使得缓存系统可以为算子的匹配与识别提供元信息。通过设计能够综合使用频次、复用类型以及时间相关度的Cost Model,使缓存系统可以权衡缓存块的收益。(4)设计并执行了一系列性能测评实验。通过以合理的混合比例随机产生的计算负载进行系统性能测评,在同等计算环境及计算负载条件下,本文提出的DAG增量计算复用框架使计算任务的平均计算时间减少了32.49%.