[发明专利]一种面向Spark系统的数据处理加速方法在审
申请号: | 201910467553.0 | 申请日: | 2019-05-31 |
公开(公告)号: | CN110262896A | 公开(公告)日: | 2019-09-20 |
发明(设计)人: | 赵来平;李一鸣;李克秋;苏丽叶 | 申请(专利权)人: | 天津大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 韩帅 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种面向Spark系统的数据处理加速方法,由性能预测模块、任务调度模块和数据分发模块三个部分组成,性能预测模块根据给定的参数对一个任务的性能表现进行建模并预测其完成时间;任务调度模块分配计算任务到服务器上执行,通过资源监视程序实时获取当前可用计算资源,再通过开发的程序接口分配任务在指定服务器上执行;本发明旨在加速Spark系统的数据处理,通过综合考虑硬件资源异构性、计算干扰、数据本地性、数据倾斜和数据溢写等因素,优化数据分发和任务调度,从而最小化整体完成时间。 | ||
搜索关键词: | 数据处理 任务调度模块 服务器 可用计算资源 数据分发模块 性能预测模块 程序接口 任务调度 实时获取 硬件资源 优化数据 预测模块 资源监视 综合考虑 异构性 最小化 分配 建模 分发 预测 表现 开发 | ||
【主权项】:
1.一种面向Spark系统的数据处理加速方法,由性能预测模块、任务调度模块和数据分发模块三个部分组成,其特征在于:性能预测模块根据给定的参数对一个任务的性能表现进行建模并预测其完成时间;任务调度模块分配计算任务到服务器上执行,即将硬件异构性和数据本地性因素来指定任务的调度策略,通过资源监视程序实时获取当前可用计算资源,再通过开发的程序接口分配任务在指定服务器上执行;数据分发模块是将任务生成的(key,value)键值对格式的中间数据按照一定规则分发到不同Reduce任务处理的过程;其中:1)数据分发模块采用以二项分布为基础对数据抽样并记录了每个key在每个Map任务中的预计分布;对于数据进行抽样分析可以以较小代价预估整体的分布,进而制定数据分发策略;2)数据分发模块采用记录分区列表的形式对数据初分发;2‑1,将抽样分析后的数据分布按key排序,然后将它们均匀分配给各个任务,记录下每个任务待处理数据的起始key和终止key形成分区列表BK;2‑2,判断不属于BK的key可通过对比查找到自己将要被分配的分区,只需要记录保存BK中的key详细分发策略;2‑3,确定BK之后使用任务调度模块获取调度结果为下一步分发数据做准备;3)数据分发模块对数据再分发;3‑1,对于BK中的key的待分配Map部分,按照数据本地性原则,先寻找与该Map任务运行在同一服务器上的目标Reduce任务进行分配;3‑2,对于剩余的部分再按照首次适应算法进行分配;每次进行分配时,数据分发模块根据已设置的时间上限tmax以及性能预测模块进行数据切割,确保每个Reduce任务用时不超过tmax;3‑3,判断所有Reduce任务分配完毕仍有数据剩余,则增大tmax重新开始分配,如此迭代直至BK中所有key分配完毕。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910467553.0/,转载请声明来源钻瓜专利网。