一种任务优化调度方法技术

技术编号:14253828 阅读:58 留言:0更新日期:2016-12-22 16:17
本发明专利技术提供一种任务优化调度方法,能够提升任务执行性能。所述方法包括:S1,构建DC中任意两数据块之间的关联性矩阵;S2,将所述关联性矩阵转化为数据聚合矩阵;S3,根据机架及所述机架内节点的最大可用存储容量,对所述数据聚合矩阵进行子矩阵分割,依据分割结果,将所述数据聚合矩阵对应的数据块放置在所述机架内的节点上,得到当前数据放置方案;S4,在当前数据放置方案的约束下,以数据迁移代价最小化为目标确定当前最优任务调度方案;S5,当任务执行过程中的数据本地性程度及所述数据迁移代价满足预定的条件时,重复执行S1至S4;否则,输出当前的数据放置方案和当前的任务调度方案作为任务调度的最优解。本发明专利技术适用于计算机技术领域。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别是指一种任务优化调度方法
技术介绍
近年来,MapReduce等大数据处理框架在处理数据密集型应用方面发挥着越来越大的作用。不可忽视的是,在实际应用中,部分业务的输入数据之间存在关联性,这种关联性既可表现为几个数据块可能被同一任务处理,也可表现为下一阶段的输入数据包含上一阶段的中间结果。以社交网络中用户画像信息为例,处于同一社交圈或在某方面有共同属性的用户,其相互之间的数据信息即存在关联性。在进行用户数据分析时,若对此类用户信息进行合并/聚合处理,则可有效减少任务输出结果大小,进而减少任务执行过程中的数据迁移。为了提升任务执行性能,可从数据本身特点(如访问频率、位置等因素)及数据间相关性出发,将相关度高的数据聚合放置,以减少数据传输代价。针对此类问题,一些研究者提出了“共享数据”的概念。对于“共享数据”,Gu等人提出对访问频率超过相应阈值的数据块创建新副本;而Abad等提出将经常访问的数据直接放置在本地缓存中。虽然上述针对“共享数据”的处理机制在一定程度上减小了不必要的网络带宽消耗,但新增副本、创建缓存窗口等行为带来了创建副本的通信开销及本地缓存的存储开销,影响了节点的性能。在此基础上,另外一些研究者从数据关联性本身出发,给出了感知任务对数据需求的任务调度方案。Fan等人提出的依赖性感知的MapReduce本地性优化机制(DALM,Dependency-Aware Locality for MapReduce)实现数据在集群间的公平分配;Shang等人提出的数据聚合感知的数据放置策略(DRAW,Data-gRouping-Aware data placement scheme)实现数据在集群中的均衡分配。这两种机制都是基于集群同构的假设进行设计的,可在同构集群中实现负载均衡;但以上机制并未考虑异构集群中节点间存储资源分布不均这一问题,在异构集群中可能导致资源利用率下降;且由于并未根据当前数据本地性约束对调度方案进行动态调整,因此其调度方案可能不是最优解。
技术实现思路
本专利技术要解决的技术问题是提供一种任务优化调度方法,以解决现有技术所存在的异构集群中资源利用率低,且并未根据当前数据本地性约束对调度方案进行动态调整,导致调度方案不是最优解的问题。为解决上述技术问题,本专利技术实施例提供一种任务优化调度方法,包括:S1,获取DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵,其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定;S2,将所述关联性矩阵转化为用于反映以至少2个数据块为单位的数据块簇间的关联性的数据聚合矩阵;S3,根据所述DC中的机架及所述机架内节点的最大可用存储容量,对所述数据聚合矩阵进行子矩阵分割,依据分割结果,将所述数据聚合矩阵对应的数据块放置在所述机架内的节点上,得到当前数据放置方案;S4,在所述当前数据放置方案的数据关联性约束下,以任务执行过程中数据迁移代价最小化为目标确定当前最优任务调度方案;S5,当任务执行过程中的数据本地性程度及所述数据迁移代价满足预定的条件时,重复执行S1至S4;否则,输出当前的数据放置方案和当前的任务调度方案作为任务调度的最优解。其中,所述S1包括:S11,获取DC中任务与数据块集合之间的映射关系;S12,将获取的所述任务与数据块集合之间的映射关系转换为数据块与任务集合之间的映射关系;S13,根据转换得到的所述数据块与任务集合之间的映射关系,获取所述DC中任意两数据块之间的关联性,并根据所述DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵;其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定。其中,所述S11包括:从历史日志文件中,获取DC中任务与数据块集合之间的映射关系。其中,所述S2包括:S21,对所述关联性矩阵进行行列变换;S21,计算每一次行列变换后的关联性矩阵的键能,将最大键能值对应的变换后的关联性矩阵作为数据聚合矩阵,其中,所述数据聚合矩阵为用于反映以至少2个数据块为单位的数据块簇间的关联性的矩阵。其中,计算所述键能的表达式为: B = Σ i = 1 N Σ j = 1 N D i , j [ D i , j - 1 + D i , j + 1 + D i - 1 , j + D i + 1 , j ] ]]>其中,B表示键能,Di,j表示共同访问第i数据块和第j数据块的任务数量,N表示DC中数据块的数目。其中,所述S3包括:S31,按照机架的当前最大可用存储容量从大到小,对所述DC中的机架进行排列;S32,获取当前可用存储容量最大的机架r,若机架r的当前最大可用存储容量为Mr,则从所述数据聚合矩阵中获取维数为Mr的子矩阵Ar,其中,Mr表示所述机架r最多存储Mr个数据块;S33,按照节点的当前最大可用存储容量从大到小,对所述机架r中当前节点进行排列;S34,获取机架r中当前可用存储容量最大的节点若节点的当前最大可用存储容量为则从所述子矩阵Ar中获取维数为的子矩阵并将所述子矩阵对应的数据块簇放置在所述节点上,若子矩阵Ar分割完毕,则转至S32;否则,继续执行S34;S35,当所述数据聚合矩阵分割完毕,所述数据聚合矩阵对应的所有数据块完成放置后,生成当前数据放置方案Pn。其中,所述S4包括:S41,确定在所述当前数据放置方案Pn的数据关联性约束下的任务调度方案Sn的初始解,并确定所述初始解中J个任务的数据迁移代价;S42,以数据迁移代价最小化为目标,将数据迁移代价的最小值转化为求任务执行过程中J个任务的数据本地性程度I(Sn,Pn)的最大值;S43,迭代执行S41、S42,调整初始解,直至I(Sn,Pn)达到最大值,并同时满足各任务执行截止时间的要求,当前的任务调度方案Sn为在所述当前数据放置方案Pn的数据关联性约束下的最优任务调度方案。其中,所述任务执行过程中各任务的数据迁移代价表示为: c t = Σ j = 1 J 本文档来自技高网
...
一种任务优化调度方法

【技术保护点】
一种任务优化调度方法,其特征在于,包括:S1,获取DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵,其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定;S2,将所述关联性矩阵转化为用于反映以至少2个数据块为单位的数据块簇间的关联性的数据聚合矩阵;S3,根据所述DC中的机架及所述机架内节点的最大可用存储容量,对所述数据聚合矩阵进行子矩阵分割,依据分割结果,将所述数据聚合矩阵对应的数据块放置在所述机架内的节点上,得到当前数据放置方案;S4,在所述当前数据放置方案的数据关联性约束下,以任务执行过程中数据迁移代价最小化为目标确定当前最优任务调度方案;S5,当任务执行过程中的数据本地性程度及所述数据迁移代价满足预定的条件时,重复执行S1至S4;否则,输出当前的数据放置方案和当前的任务调度方案作为任务调度的最优解。

【技术特征摘要】
1.一种任务优化调度方法,其特征在于,包括:S1,获取DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵,其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定;S2,将所述关联性矩阵转化为用于反映以至少2个数据块为单位的数据块簇间的关联性的数据聚合矩阵;S3,根据所述DC中的机架及所述机架内节点的最大可用存储容量,对所述数据聚合矩阵进行子矩阵分割,依据分割结果,将所述数据聚合矩阵对应的数据块放置在所述机架内的节点上,得到当前数据放置方案;S4,在所述当前数据放置方案的数据关联性约束下,以任务执行过程中数据迁移代价最小化为目标确定当前最优任务调度方案;S5,当任务执行过程中的数据本地性程度及所述数据迁移代价满足预定的条件时,重复执行S1至S4;否则,输出当前的数据放置方案和当前的任务调度方案作为任务调度的最优解。2.根据权利要求1所述的任务优化调度方法,其特征在于,所述S1包括:S11,获取DC中任务与数据块集合之间的映射关系;S12,将获取的所述任务与数据块集合之间的映射关系转换为数据块与任务集合之间的映射关系;S13,根据转换得到的所述数据块与任务集合之间的映射关系,获取所述DC中任意两数据块之间的关联性,并根据所述DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵;其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定。3.根据权利要求2所述的任务优化调度方法,其特征在于,所述S11包括:从历史日志文件中,获取DC中任务与数据块集合之间的映射关系。4.根据权利要求1所述的任务优化调度方法,其特征在于,所述S2包括:S21,对所述关联性矩阵进行行列变换;S21,计算每一次行列变换后的关联性矩阵的键能,将最大键能值对应的变换后的关联性矩阵作为数据聚合矩阵,其中,所述数据聚合矩阵为用于反映以至少2个数据块为单位的数据块簇间的关联性的矩阵。5.根据权利要求4所述的任务优化调度方法,其特征在于,计算所述键能的表达式为: B = Σ i = 1 N Σ j = 1 N D i , j [ D i , j - 1 + D i , j + 1 + D i - 1 , j + D i + 1 , j ] ]]>其中,B表示键能,Di,j表示共同访问第i数据块和第j数据块的任务数量,N表示DC中数据块的数目。6.根据权利要求1所述的任务优化调度方法,其特征在于,所述S3包括:S31,按照机架的当前最大可用存储容量从大到小,对所述DC中的机架进行排列;S32,获取当前可用存储容量最大的机架r,若机架r的当前最大可用存储容量为Mr,则从所述数据聚合矩阵中获取维数为Mr的子矩阵Ar,其中,Mr表示所述机架r最多存储Mr个数据块;S33,按照节点的当前最大可用存储容量从大到小,对所述机架r中当前节点进行排列;S34,获取机架r中当前可用存储容量最大的节点若节点的当前最大可用存储容量为则从所述子矩阵Ar中获取维数为的子矩阵并将所述子矩阵对应的数据块簇放置在所述节点上,若子矩阵Ar分割完毕,则转至S32;否则,继续执行S34;S35,当所述数据聚合矩阵分割完毕,所述数据聚合矩阵对应的所有数据块完成放置后,生成当前数据放置方案Pn。7.根据权利要求6所述的任务优化调度方法,其特征在于,所述S4包括:S41,确定在所述当前数据放置方案Pn的数据关联性约束下的任务调度方案Sn的初始解,并确定所述初始解中J个任务的数据迁移代价;S42,以数据迁移代价最小化为目标,将数据迁移代价的最小值转化为求任务执行过程中J个任务的数据本地性程度I(Sn,Pn)的最大值;S43,迭代执行S41、S42,调整初始解,直至I(Sn,Pn)达到最大值,并同时满足各任务执行截止时间的要求,当前的任务调度方案Sn为在所述当前数据放置方案Pn的数据关联性约束下的最优任务调度方案。8.根据权利要求7所述的任务优化调度方法,其特征在于,所述任务执行过程中各任...

【专利技术属性】
技术研发人员:阳小龙王玢孙奇福隆克平
申请(专利权)人:北京科技大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1