CN106250240A - 一种任务优化调度方法 - Google Patents

一种任务优化调度方法 Download PDF

Info

Publication number
CN106250240A
CN106250240A CN201610622748.4A CN201610622748A CN106250240A CN 106250240 A CN106250240 A CN 106250240A CN 201610622748 A CN201610622748 A CN 201610622748A CN 106250240 A CN106250240 A CN 106250240A
Authority
CN
China
Prior art keywords
data
task
scheduling
node
matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610622748.4A
Other languages
English (en)
Other versions
CN106250240B (zh
Inventor
阳小龙
王玢
孙奇福
隆克平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology Beijing USTB
Original Assignee
University of Science and Technology Beijing USTB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology Beijing USTB filed Critical University of Science and Technology Beijing USTB
Priority to CN201610622748.4A priority Critical patent/CN106250240B/zh
Publication of CN106250240A publication Critical patent/CN106250240A/zh
Application granted granted Critical
Publication of CN106250240B publication Critical patent/CN106250240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Abstract

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

Description

一种任务优化调度方法
技术领域
本发明涉及计算机技术领域,特别是指一种任务优化调度方法。
背景技术
近年来,MapReduce等大数据处理框架在处理数据密集型应用方面发挥着越来越大的作用。不可忽视的是,在实际应用中,部分业务的输入数据之间存在关联性,这种关联性既可表现为几个数据块可能被同一任务处理,也可表现为下一阶段的输入数据包含上一阶段的中间结果。以社交网络中用户画像信息为例,处于同一社交圈或在某方面有共同属性的用户,其相互之间的数据信息即存在关联性。在进行用户数据分析时,若对此类用户信息进行合并/聚合处理,则可有效减少任务输出结果大小,进而减少任务执行过程中的数据迁移。
为了提升任务执行性能,可从数据本身特点(如访问频率、位置等因素)及数据间相关性出发,将相关度高的数据聚合放置,以减少数据传输代价。针对此类问题,一些研究者提出了“共享数据”的概念。对于“共享数据”,Gu等人提出对访问频率超过相应阈值的数据块创建新副本;而Abad等提出将经常访问的数据直接放置在本地缓存中。虽然上述针对“共享数据”的处理机制在一定程度上减小了不必要的网络带宽消耗,但新增副本、创建缓存窗口等行为带来了创建副本的通信开销及本地缓存的存储开销,影响了节点的性能。
在此基础上,另外一些研究者从数据关联性本身出发,给出了感知任务对数据需求的任务调度方案。Fan等人提出的依赖性感知的MapReduce本地性优化机制(DALM,Dependency-Aware Locality for MapReduce)实现数据在集群间的公平分配;Shang等人提出的数据聚合感知的数据放置策略(DRAW,Data-gRouping-Aware data placementscheme)实现数据在集群中的均衡分配。这两种机制都是基于集群同构的假设进行设计的,可在同构集群中实现负载均衡;但以上机制并未考虑异构集群中节点间存储资源分布不均这一问题,在异构集群中可能导致资源利用率下降;且由于并未根据当前数据本地性约束对调度方案进行动态调整,因此其调度方案可能不是最优解。
发明内容
本发明要解决的技术问题是提供一种任务优化调度方法,以解决现有技术所存在的异构集群中资源利用率低,且并未根据当前数据本地性约束对调度方案进行动态调整,导致调度方案不是最优解的问题。
为解决上述技术问题,本发明实施例提供一种任务优化调度方法,包括:
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 c t ( t j ) = Σ j = 1 J α t Σ a = 1 L t j | d a t j | B W ( n i r a , n t j )
其中,ct表示t时刻J个任务的数据迁移代价,ct(tj)为第j个任务tj的数据迁移代价,J表示任务的数目,αt表示单位时间内使用带宽资源的代价,为任务tj的任务执行节点,为任务tj的输入数据块,表示任务tj的输入数据块的数目,数据块分别放置在数据放置节点上,为数据放置节点到任务执行节点的通道带宽。
其中,所述任务执行过程中各任务的数据本地性程度表示为:
I ( S n , P n ) = Σ j = 1 J I ( n t j ) ;
I ( n t j ) = Σ l = 1 L t j i ( n l d t j , n t j )
其中,I(Sn,Pn)表示任务执行过程中各任务的数据本地性程度,Sn表示任务调度方案,Pn表示当前数据放置方案,J表示任务的数目,表示任务tj的调度决策的数据本地性程度,为任务tj的任务执行节点和数据放置节点关系的评价函数,表示任务tj的输入数据块的数目, 分别表示机架r1、r2的节点集合,表示执行任务tj所需的数据放置节点集合。
其中,所述S5包括:
S51:比较当前次迭代所得的数据本地性程度I(Sn,Pn)是否大于等于上一次迭代所得的数据本地性程度I(Sn-1,Pn-1);若I(Sn,Pn)≥I(Sn-1,Pn-1),则执行步骤S52;否则,终止迭代;
S52:比较当前次迭代所得的数据迁移代价是否小于等于上一次迭代所得的数据迁移代价则重复执行S1至S4,当时,所得的Pn、Sn为最优解,其中,δ为预设的阈值;否则,当前得到的Pn、Sn为最优解。
本发明的上述技术方案的有益效果如下:
上述方案中,通过对数据块之间的关联性进行发现,并依据DC中的机架及所述机架内节点的最大可用存储容量,将数据聚合矩阵中强关联的数据块放置于同一机架节点上,能够解决异构集群中节点间存储资源分布不均的问题,从而可以提供异构集群中资源的利用率,完成数据块放置后,以任务执行过程中数据迁移代价最小化为优化目标,以数据本地性为约束条件,不断迭代调整任务调度方案,直至得到任务调度的最优解。这样,通过基于数据块关联性和数据本地性得到的任务调度的最优解去完成任务队列中所有任务的调度工作,能够最大程度上减少任务执行过程中跨节点、跨机架甚至跨DC的数据迁移,从而能够提升任务执行性能。
附图说明
图1为本发明实施例提供的任务优化调度方法的流程示意图;
图2为本发明实施例提供的任务优化调度方法的工作流程示意图;
图3为本发明实施例提供的数据关联性矩阵及数据聚合矩阵的产生过程示意图;
图4为本发明实施例提供的数据放置决策产生的流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明针对现有的异构集群中资源利用率低,且并未根据当前数据本地性约束对调度方案进行动态调整,导致调度方案不是最优解的问题,提供一种任务优化调度方法。
参看图1所示,本发明实施例提供的任务优化调度方法,包括:
S1,获取数据中心(DC,Data Center)中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵,其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定;
S2,将所述关联性矩阵转化为用于反映以至少2个数据块为单位的数据块簇间的关联性的数据聚合矩阵;
S3,根据所述DC中的机架及所述机架内节点的最大可用存储容量,对所述数据聚合矩阵进行子矩阵分割,依据分割结果,将所述数据聚合矩阵对应的数据块放置在所述机架内的节点上,得到当前数据放置方案;
S4,在所述当前数据放置方案的数据关联性约束下,以任务执行过程中数据迁移代价最小化为目标确定当前最优任务调度方案;
S5,当任务执行过程中的数据本地性程度及所述数据迁移代价满足预定的条件时,重复执行S1至S4;否则,输出当前的数据放置方案和当前的任务调度方案作为任务调度的最优解。
本发明实施例所述的任务优化调度方法,通过对数据块之间的关联性进行发现,并依据DC中的机架及所述机架内节点的最大可用存储容量,将数据聚合矩阵中强关联的数据块放置于同一机架节点上,能够解决异构集群中节点间存储资源分布不均的问题,从而可以提供异构集群中资源的利用率,完成数据块放置后,以任务执行过程中数据迁移代价最小化为优化目标,以数据本地性为约束条件,不断迭代调整任务调度方案,直至得到任务调度的最优解。这样,通过基于数据块关联性和数据本地性得到的任务调度的最优解去完成任务队列中所有任务的调度工作,能够最大程度上减少任务执行过程中跨节点、跨机架甚至跨DC的数据迁移,从而能够提升任务执行性能。
在前述任务优化调度方法的具体实施方式中,进一步地,所述S1包括:
S11,获取DC中任务与数据块集合之间的映射关系;
S12,将获取的所述任务与数据块集合之间的映射关系转换为数据块与任务集合之间的映射关系;
S13,根据转换得到的所述数据块与任务集合之间的映射关系,获取所述DC中任意两数据块之间的关联性,并根据所述DC中任意两数据块之间的关联性,构建所述DC中任意两数据块之间的关联性矩阵;
其中,所述任意两数据块之间的关联性由共同访问所述两数据块的任务数量确定。
本实施例中,如图2所示,当用户提交任务请求时,首先由数据放置引擎从日志仓库中提取历史日志文件并将其发送至数据关联性发现器,由数据关联性发现器从历史日志文件中获取DC中“任务~数据块集合”之间的映射关系,并将所述“任务~数据块集合”之间的映射关系转化为“数据块~任务集合”之间的映射关系,如图3(a)和图3(b)所示;接着,根据共同访问DC中数据块di和数据块dj的任务数量确定任意两数据块di和dj的关联性大小Di,j,其中,Di,j=||Ti∩Tj||,Ti∩Tj为共同访问数据块di和数据块dj的任务集合,并以此为依据得到反映任意两数据块之间关联性的关联性矩阵(DDM,Data Dependency Matrix),如图3(c)所示,其中,DDM中的任一元素由Di,j决定。
在前述任务优化调度方法的具体实施方式中,进一步地,所述S2包括:
S21,对所述关联性矩阵进行行列变换;
S22,计算每一次行列变换后的关联性矩阵的键能,将最大键能值对应的变换后的关联性矩阵作为数据聚合矩阵,其中,所述数据聚合矩阵为用于反映以至少2个数据块为单位的数据块簇间的关联性的矩阵。
本实施例中,由所述数据关联性发现器将DDM通过控制流信息交由放置决策器。为了挖掘以至少2个数据块为单位的数据块簇间的关联性大小,由所述放置决策器根据DDM中所反映的任意两数据块间的关联性信息,对所述DDM进行行列变换,并按式(1)计算每次变换后的DDM的键能,直至找到最大键能值对应的变换后的矩阵,即数据聚合矩阵(DCM,DataClustering Matrix):
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 ] - - - ( 1 )
式(1)中,B表示键能,Di,j表示共同访问第i数据块和第j数据块的任务数量,N表示DC中数据块的数目。
本实施例中,如图3(c)与图3(d)所示,反映了通过DDM得到DCM的一个实例。对图3(c)所示的DDM进行逐次行变换,可得到如图3(d)所示的最大键能值对应的变换后的DCM。在DCM中,强关联的数据块聚集在一起,其中,子矩阵A1、A2分别为具有4个强关联数据块和2个强关联数据块的数据块簇。
在前述任务优化调度方法的具体实施方式中,进一步地,所述S3包括:
S31,按照机架的当前最大可用存储容量从大到小,对所述DC中的机架进行排列;
S32,获取当前可用存储容量最大的机架r,若机架r的当前最大可用存储容量为Mr,则从所述数据聚合矩阵中获取维数为Mr的子矩阵Ar,其中,Mr表示所述机架r最多存储Mr个数据块;
S33,按照节点的当前最大可用存储容量从大到小,对所述机架r中当前节点进行排列;
S34,获取机架r中当前可用存储容量最大的节点若节点的当前最大可用存储容量为则从所述子矩阵Ar中获取维数为的子矩阵并将所述子矩阵对应的数据块簇放置在所述节点上,若子矩阵Ar分割完毕,则转至S32;否则,继续执行S34;
S35,当所述数据聚合矩阵分割完毕,所述数据聚合矩阵对应的所有数据块完成放置后,生成当前数据放置方案Pn
本实施例中,所述放置决策器按图4所示流程对数据块集合中各数据块进行放置决策,具体步骤包括:
A11,对DC内所有机架当前的最大可用存储容量降序排列;
A12,获取当前可用存储容量最大的机架r,若机架r的当前最大可用存储容量为Mr,即表示机架r最多可存储Mr个数据块,则在DCM中可以按从上到下的顺序寻找维数为Mr的子矩阵Ar,所述子矩阵Ar可放置于该机架r上;
A13,将该机架r内各节点的当前最大可用存储容量按降序进行排列;
A14,获取机架r中当前可用存储容量最大的节点若节点的当前最大可用存储容量为则在子矩阵Ar中再寻找维数为的子矩阵并将子矩阵对应的数据块簇放置于节点若子矩阵Ar分割完毕,则转至A12;否则,继续执行A14;
A15,直至DCM对应所有数据块全部放置完毕,即形成当前数据块放置方案Pn
在前述任务优化调度方法的具体实施方式中,进一步地,所述S4包括:
S41,确定在所述当前数据放置方案Pn的数据关联性约束下的任务调度方案Sn的初始解,并确定所述初始解中J个任务的数据迁移代价;
S42,以数据迁移代价最小化为目标,将数据迁移代价的最小值转化为求任务执行过程中J个任务的数据本地性程度I(Sn,Pn)的最大值;
S43,迭代执行S41、S42,调整初始解,直至I(Sn,Pn)达到最大值,并同时满足各任务执行截止时间的要求,当前的任务调度方案Sn为在所述当前数据放置方案Pn的数据关联性约束下的最优任务调度方案。
本实施例中,首先由数据放置引擎将放置决策器产生的当前数据块放置方案Pn作为控制流信息传递至任务调度引擎,为其提供当前数据关联性约束信息,并将该约束作为任务调度的决策依据;进而,由任务调度引擎以数据迁移代价最小化为目标,通过不断调整任务调度方案,进行当前数据关联性约束下最优任务调度方案的搜索,直至找到数据迁移代价最小时对应的任务调度方案作为最优任务调度方案。
本实施例中,任务调度引擎对最优任务调度方案进行搜索的具体步骤可以包括:
A21,由于数据放置决策Pn与任务调度方案Sn互相影响,在迭代过程中可以建立Sn和Pn之间的函数关系,例如,Sn=p(Pn)以及Pn+1=s(Sn),根据建立的函数关系,可以确定在当前数据放置方案Pn的数据关联性约束下的任务调度方案Sn的初始解并可以不断调整任务调度方案Sn,假设,Sn中有J个任务,即,DC中当前正在执行的任务的数目为J,可以根据(2)确定中J个任务的数据迁移代价:
c t = Σ j = 1 J c t ( t j ) = Σ j = 1 J α t Σ a = 1 L t j | d a t j | B W ( n i r a , n t j ) - - - ( 2 )
式(2)中,ct表示t时刻J个任务的数据迁移代价,ct(tj)为第j个任务tj的数据迁移代价,J表示任务的数目,αt表示单位时间内使用带宽资源的代价,为任务tj的任务执行节点,为任务tj的输入数据块,表示任务tj的输入数据块的数目,数据块分别放置在数据放置节点上,为数据放置节点到任务执行节点的通道带宽;其中,所述单位时间可以为1分、1秒、1毫秒或其他,在实际应用中可以根据实际情况确定。
A22,对每一次调整后的Sn中的每一个任务的调度决策通过式(3)计算其评价函数
式(3)中,为任务tj的任务执行节点和数据放置节点关系的评价函数,表示任务tj的输入数据块的数目, 分别表示机架r1、r2的节点集合,表示执行任务tj所需的数据放置节点集合。
本实施例中,具体用于表示任务执行节点与数据放置节点之间的重合程度,设可表示任务执行过程中任务tj的调度决策的数据本地性程度,将任务执行过程中各任务的数据本地性程度表示为I(Sn,Pn),则本实施例中,以数据迁移代价ct最小化为目标,因此,可以将数据迁移代价ct的最小值可转化为求的最大值。
A23,调整任务调度方案,不断重复A21及A22,直至I(Sn,Pn)取最大值,并使各任务在各自截止时间内执行完毕,此时对应的Sn即为在所述当前数据放置方案Pn的数据关联性约束下的最优任务调度方案。
在前述任务优化调度方法的具体实施方式中,进一步地,所述S5包括:
S51:比较当前次迭代所得的数据本地性程度I(Sn,Pn)是否大于等于上一次迭代所得的数据本地性程度I(Sn-1,Pn-1);若I(Sn,Pn)≥I(Sn-1,Pn-1),则执行步骤S52;否则,终止迭代;
S52:比较当前次迭代所得的数据迁移代价是否小于等于上一次迭代所得的数据迁移代价则重复执行S1至S4,当时,所得的Pn、Sn为最优解,其中,δ为预设的阈值;否则,当前得到的Pn、Sn为最优解。
本实施例中,根据数据本地性程度及数据迁移代价确定迭代过程是否继续,具体的步骤包括:
A31,由任务调度引擎首先比较当前次迭代所得的数据本地性程度I(Sn,Pn)是否大于等于上一次迭代所得的数据本地性程度I(Sn-1,Pn-1);若I(Sn,Pn)≥I(Sn-1,Pn-1),则执行步骤A32,进一步优化当前数据放置方案Pn为Pn+1;否则,终止迭代;
A32,比较当前次迭代所得的数据迁移代价是否小于等于上一次迭代所得的数据迁移代价则重复执行S1至S4,当时,算法收敛,所得的Pn、Sn为最优解,其中,δ为预设的一很小的正实数;否则,当前的任务调度方案Sn为在所述当前数据放置方案Pn的数据关联性约束下的最优任务调度方案。
本发明实施例中,通过利用数据块关联性感知的数据放置机制及数据迁移代价感知的任务优化调度机制,以任务执行过程中数据迁移代价最小化为优化目标,对任务进行统一调度,以减少任务执行过程中不必要的数据迁移,从而提升任务执行性能。
综上,本实施例中,Pn和Sn的迭代调整过程可描述为:
A41,分别确定初始任务调度方案及当前数据放置方案S0、P0,执行完毕后确定DCM0
A42,在第n-1次迭代中,根据DCMn-1确定Pn-1,进而在数据本地性约束下确定Sn-1,并计算此时的数据迁移代价
A43,开始第n次迭代,生成DCMn,进而确定Pn,按Sn-1进行任务调度,若I(Sn-1,Pn)≥I(Sn-1,Pn-1),则算法继续;反之,集群存储资源受限,无继续优化可能,停止迭代,输出n-1次迭代结果;
A44,根据Pn确定Sn,若当前数据本地性程度不低于前次迭代的数据本地性程度,即I(Sn,Pn)≥I(Sn-1,Pn-1),则算法继续;反之,迭代结束;
A45,根据Pn、Sn计算数据迁移代价若数据迁移代价增加,即则迭代结束;反之,重复步骤A42~A45,当(δ为一很小的正实数),输出此时的Pn、Sn为任务调度问题的最优解;
A46,得到任务调度问题的最优解后,由数据放置引擎将最优当前数据放置方案Pn作为控制信息流传递至文件系统(HDFS),并根据该最优当前数据放置方案Pn完成数据块集合的放置工作;任务调度引擎将最优任务调度方案Sn作为控制信息流传递至主节点,并由Master根据该最优任务调度方案Sn完成任务队列中所有任务的调度工作。
本实施例中,对所述务优化调度方法在大数据分析系统Hadoop平台下进行了验证和性能分析,经过编译、打包,形成了一个可插拔调度模块,例如,depScheduler。该方法应用于Hadoop集群时,仅需对预定的配置文件,例如,mapred-site.xml中的mapred.jobtracker.taskScheduler参数进行配置为org.apache.hadoop.mapred.depScheduler即可;性能分析结果表明,本实施例提供的所述任务优化调度方法在减少执行过程中跨节点、跨机架的数据迁移以及执行速度方面得到了很大提升。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

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所述的任务优化调度方法,其特征在于,所述任务执行过程中各任务的数据迁移代价表示为:
c t = Σ j = 1 J c t ( t j ) = Σ j = 1 J α t Σ a = 1 L t j | d a t j | B W ( n i r a , n t j )
其中,ct表示t时刻J个任务的数据迁移代价,ct(tj)为第j个任务tj的数据迁移代价,J表示任务的数目,αt表示单位时间内使用带宽资源的代价,为任务tj的任务执行节点,为任务tj的输入数据块,表示任务tj的输入数据块的数目,数据块分别放置在数据放置节点上,为数据放置节点到任务执行节点的通道带宽。
9.根据权利要求8所述的任务优化调度方法,其特征在于,所述任务执行过程中各任务的数据本地性程度表示为:
I ( S n , P n ) = Σ j = 1 J I ( n t j ) ;
I ( n t j ) = Σ l = 1 L t j i ( n l d t j , n t j )
其中,I(Sn,Pn)表示任务执行过程中各任务的数据本地性程度,Sn表示任务调度方案,Pn表示当前数据放置方案,J表示任务的数目,表示任务tj的调度决策的数据本地性程度,为任务tj的任务执行节点和数据放置节点关系的评价函数,表示任务tj的输入数据块的数目,分别表示机架r1、r2的节点集合,表示执行任务tj所需的数据放置节点集合。
10.根据权利要求9所述的任务优化调度方法,其特征在于,所述S5包括:
S51:比较当前次迭代所得的数据本地性程度I(Sn,Pn)是否大于等于上一次迭代所得的数据本地性程度I(Sn-1,Pn-1);若I(Sn,Pn)≥I(Sn-1,Pn-1),则执行步骤S52;否则,终止迭代;
S52:比较当前次迭代所得的数据迁移代价是否小于等于上一次迭代所得的数据迁移代价则重复执行S1至S4,当时,所得的Pn、Sn为最优解,其中,δ为预设的阈值;否则,当前得到的Pn、Sn为最优解。
CN201610622748.4A 2016-08-02 2016-08-02 一种任务优化调度方法 Active CN106250240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610622748.4A CN106250240B (zh) 2016-08-02 2016-08-02 一种任务优化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610622748.4A CN106250240B (zh) 2016-08-02 2016-08-02 一种任务优化调度方法

Publications (2)

Publication Number Publication Date
CN106250240A true CN106250240A (zh) 2016-12-21
CN106250240B CN106250240B (zh) 2019-03-15

Family

ID=57606528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610622748.4A Active CN106250240B (zh) 2016-08-02 2016-08-02 一种任务优化调度方法

Country Status (1)

Country Link
CN (1) CN106250240B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153585A (zh) * 2017-12-01 2018-06-12 北京大学 一种基于局部性表达函数优化MapReduce框架的运行效率的方法和装置
CN108268319A (zh) * 2016-12-31 2018-07-10 中国移动通信集团河北有限公司 任务调度方法、装置及系统
CN108268494A (zh) * 2016-12-30 2018-07-10 中移(苏州)软件技术有限公司 一种数据处理与控制逻辑分离的etl调度方法和装置
CN108347466A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种云存储系统的数据存储方法和装置
CN108614529A (zh) * 2018-04-03 2018-10-02 同济大学 一种非等周期的多台并行设备最小设计排风量调度方法
CN109388486A (zh) * 2018-10-09 2019-02-26 北京航空航天大学 一种针对异构内存与多类型应用混合部署场景的数据放置与迁移方法
CN110727505A (zh) * 2019-12-17 2020-01-24 杭州连银科技有限公司 一种可热加载的分布式任务调度与服务监控系统
CN115080203A (zh) * 2022-05-13 2022-09-20 广东工业大学 一种基于任务关联性的北斗测试任务调度方法和系统
CN116612207A (zh) * 2023-04-12 2023-08-18 北京龙软科技股份有限公司 一种露天矿区矢量图件空间点要素注记抽稀方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
CN103593452A (zh) * 2013-11-21 2014-02-19 北京科技大学 一种基于MapReduce机制的数据密集型成本优化方法
CN103595805A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于分布式集群的数据放置方法
US20140059310A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Virtualization-Aware Data Locality in Distributed Data Processing
CN104461748A (zh) * 2015-01-04 2015-03-25 电子科技大学 一种基于MapReduce的最优本地化任务调度方法
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831012A (zh) * 2011-06-16 2012-12-19 日立(中国)研究开发有限公司 多节点分布式系统中的任务调度装置和任务调度方法
US20140059310A1 (en) * 2012-08-24 2014-02-27 Vmware, Inc. Virtualization-Aware Data Locality in Distributed Data Processing
CN103593452A (zh) * 2013-11-21 2014-02-19 北京科技大学 一种基于MapReduce机制的数据密集型成本优化方法
CN103595805A (zh) * 2013-11-22 2014-02-19 浪潮电子信息产业股份有限公司 一种基于分布式集群的数据放置方法
CN104461748A (zh) * 2015-01-04 2015-03-25 电子科技大学 一种基于MapReduce的最优本地化任务调度方法
CN105740051A (zh) * 2016-01-27 2016-07-06 北京工业大学 基于改进的遗传算法的云计算资源调度实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
林常航 等: "基于Hadoop异构集群节点性能的数据分配策略", 《第二届中国互联网学术年会》 *
荀亚玲 等: "MapReduce集群环境下的数据放置策略", 《软件学报》 *
阳小龙 等: "用户兴趣感知的内容副本优化放置算法", 《通信学报》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268494A (zh) * 2016-12-30 2018-07-10 中移(苏州)软件技术有限公司 一种数据处理与控制逻辑分离的etl调度方法和装置
CN108268494B (zh) * 2016-12-30 2021-11-02 中移(苏州)软件技术有限公司 一种数据处理与控制逻辑分离的etl调度方法和装置
CN108268319A (zh) * 2016-12-31 2018-07-10 中国移动通信集团河北有限公司 任务调度方法、装置及系统
CN108347466A (zh) * 2017-01-24 2018-07-31 全球能源互联网研究院 一种云存储系统的数据存储方法和装置
CN108153585B (zh) * 2017-12-01 2021-08-20 北京大学 一种基于局部性表达函数优化MapReduce框架的运行效率的方法和装置
CN108153585A (zh) * 2017-12-01 2018-06-12 北京大学 一种基于局部性表达函数优化MapReduce框架的运行效率的方法和装置
CN108614529A (zh) * 2018-04-03 2018-10-02 同济大学 一种非等周期的多台并行设备最小设计排风量调度方法
CN109388486B (zh) * 2018-10-09 2021-08-24 北京航空航天大学 一种针对异构内存与多类型应用混合部署场景的数据放置与迁移方法
CN109388486A (zh) * 2018-10-09 2019-02-26 北京航空航天大学 一种针对异构内存与多类型应用混合部署场景的数据放置与迁移方法
CN110727505B (zh) * 2019-12-17 2020-04-10 杭州连银科技有限公司 一种可热加载的分布式任务调度与服务监控系统
CN110727505A (zh) * 2019-12-17 2020-01-24 杭州连银科技有限公司 一种可热加载的分布式任务调度与服务监控系统
CN115080203A (zh) * 2022-05-13 2022-09-20 广东工业大学 一种基于任务关联性的北斗测试任务调度方法和系统
CN115080203B (zh) * 2022-05-13 2024-04-19 广东工业大学 一种基于任务关联性的北斗测试任务调度方法和系统
CN116612207A (zh) * 2023-04-12 2023-08-18 北京龙软科技股份有限公司 一种露天矿区矢量图件空间点要素注记抽稀方法和系统
CN116612207B (zh) * 2023-04-12 2024-01-09 北京龙软科技股份有限公司 一种露天矿区矢量图件空间点要素注记抽稀方法和系统

Also Published As

Publication number Publication date
CN106250240B (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN106250240A (zh) 一种任务优化调度方法
Liu et al. Adaptive asynchronous federated learning in resource-constrained edge computing
CN105117286B (zh) MapReduce中任务的调度方法和流水化执行方法
Hu et al. Time-and cost-efficient task scheduling across geo-distributed data centers
CN108829494A (zh) 基于负载预测的容器云平台智能资源优化方法
CN110737529A (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
CN106844051A (zh) 一种边缘计算环境中功耗优化的负载任务迁移算法
CN108416465B (zh) 一种移动云环境下的工作流优化方法
CN102932279A (zh) 一种云环境数据中心多维资源调度系统及方法
CN107291550B (zh) 一种针对迭代应用的Spark平台资源动态分配方法及系统
CN103699433B (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
CN107357652A (zh) 一种基于分段排序及标准差调整因子的云计算任务调度方法
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN108446180A (zh) 一种基于数据迁移的数据中心动态任务调度方法
Wang et al. Dependency-aware network adaptive scheduling of data-intensive parallel jobs
Liu et al. An independent task scheduling algorithm in heterogeneous multi-core processor environment
Yang et al. Optimizing aggregation frequency for hierarchical model training in heterogeneous edge computing
CN103699448A (zh) 一种云计算环境下基于时间期限和预算的调度方法
CN107918676B (zh) 结构化查询的资源优化方法及数据库查询系统
CN108304253A (zh) 基于缓存感知和数据本地性的map任务调度方法
Lin et al. Latency-driven model placement for efficient edge intelligence service
CN110196879A (zh) 数据处理方法、装置、计算设备及存储介质
Wang et al. HTD: heterogeneous throughput-driven task scheduling algorithm in MapReduce
CN108228323A (zh) 基于数据本地性的Hadoop任务调度方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant