当前位置: 首页 > 专利查询>东南大学专利>正文

一种最小化作业完工时间的Spark任务分配方法组成比例

技术编号:21605031 阅读:18 留言:0更新日期:2019-07-13 18:03
本发明专利技术公开了一种最小化作业完工时间的Spark任务分配方法,先计算调度阶段优先级,再添加已就绪调度阶段到就绪调度阶段队列中,按优先级给就绪队列中的调度阶段分配资源,直至资源不够或就绪队列为空,若就绪队列为空则继续添加就绪调度阶段,若资源不够则等待有调度阶段完成并释放资源,重复上述操作直至所有作业完工,综合考虑了调度阶段所处的作业优先级和调度阶段是否处于关键路径上,在调度阶段内任务的资源分配方面,本方法考虑了数据传输时间和处理时间,使任务被放置在能最早完工的节点上执行。

A Spark Task Assignment Method for Minimizing Job Completion Time

【技术实现步骤摘要】
一种最小化作业完工时间的Spark任务分配方法
本专利技术属于云计算资源调度
,具体涉及一种最小化作业完工时间的Spark任务分配方法。
技术介绍
作为一种基于DAG的分布式计算框架,Spark被广泛用于电商和物联网用于复杂的大数据处理,每个Spark作业可以表示成一个DAG图,图上每个节点表示一个调度阶段,每个调度阶段由一组并行的任务构成,其中,Spark任务调度是影响大数据分析性能的关键因素,主要包括调度阶段优先级的确定和调度阶段内任务的资源分配。在确定调度阶段优先级方面,对于处于属于不同作业的调度阶段,Spark框架比较各调度阶段所在的作业的优先级,对于属于同一作业的调度阶段,Spark框架仅根据调度阶段之间的偏序关系来确定优先级。然而对于同一作业的调度来说,Spark框架没有考虑到关键路径上的调度阶段分配资源对作业完工时间的影响。在调度阶段内任务的资源分配方面,由于任务的完工时间由输入数据的传输时间和数据处理时间决定,基于同构集群,所有节点的处理能力一致,Spark框架仅考虑数据本地化来缩短任务所需的输入数据的传输时间。然而,随着高性能机器的引入,原有的数据中心已经变成由异构节点构成,任务在不同的节点上运行时处理速度不同,仅考虑数据本地化并不能得到任务的最早完工时间,因而存在很大的缺陷。
技术实现思路
本专利技术正是针对现有技术中的问题,提供了一种最小化作业完工时间的Spark任务分配方法,先计算调度阶段优先级,再添加已就绪调度阶段到就绪调度阶段队列中,按优先级给就绪队列中的调度阶段分配资源,直至资源不够或就绪队列为空,若就绪队列为空则继续添加就绪调度阶段,若资源不够则等待有调度阶段完成并释放资源,重复上述操作直至所有作业完工,综合考虑了调度阶段所处的作业优先级和调度阶段是否处于关键路径上,在调度阶段内任务的资源分配方面,本方法考虑了数据传输时间和处理时间,使任务被放置在能最早完工的节点上执行。为了实现上述目的,本专利技术采用的技术方案是:一种最小化作业完工时间的Spark任务分配方法,包括以下步骤:S1,计算所有待处理作业集合中所有作业的各调度阶段的优先级;S2,判断待处理作业集合中是否还有未完成资源分配的作业,若有,继续步骤S3;否则,方法结束;S3,从所有作业中选择所有尚未完成资源分配且入度为0的调度阶段,将其插入到就绪调度阶段队列中,且保持该队列按作业及调度阶段优先级从高到低的顺序排列,所述队列中队首为优先级最高的作业中拥有最高优先级的待分配资源的调度阶段;S4,判断就绪调度阶段队列是否不为空且服务资源充足,若是,继续步骤S5;若否,转入步骤S7;S5,按照优先级依次为队列中的调度阶段分配资源,直至队列为空或者服务资源不够;S6,将已分配资源的调度阶段从就绪调度阶段队列中删除;S7,等待有调度阶段执行完,释放占用的资源,将执行完的调度阶段从该调度阶段所属的作业中删除,返回步骤S2。作为本专利技术的一种改进,所述步骤S1进一步包括:S11,对作业内调度阶段的拓扑进行排序;S12,将拓扑序列中最后一个调度阶段的优先级初始化为0,按照拓扑的逆序,依次求得各调度阶段的优先级。作为本专利技术的另一种改进,所述各调度阶段优先级的计算方法为:分别求所有后继调度阶段优先级与执行时间之和,取最大值。作为本专利技术的更进一步改进,所述步骤S3进一步包括:S31,将调度阶段中的任务按照各个任务待处理数据量降序排序;S32,从调度阶段中未分配资源的任务中选择待处理数据量最大的任务,将该任务分配在能使其获得最早完工时间的节点上执行;S33,重复步骤S32,直到调度阶段中所有任务完成资源分配。与现有技术相比,本专利技术方法尽可能的让关键路径上的调度阶段先完成,同时考虑Spark集群的异构性将调度阶段内的任务分配在能最早完工的节点上执行,缩短了作业的完工时间。附图说明图1为本专利技术实现Spark任务分配的结构图;图2为本专利技术最小化作业完工时间的Spark任务分配方法的步骤流程图。具体实施方式以下将结合附图和实施例,对本专利技术进行较为详细的说明。实施例1本专利技术一种异构Spark集群下的最小化作业完工时间的Spark任务分配方法,每个Spark作业可以表示成一个DAG图,图上每个节点表示一个调度阶段,每个调度阶段由一组并行的任务构成,如图1所示,待处理作业集合J={J_1,J_2,…,J_m}表示m个待处理作业,每个作业可以表示成一个由一系列调度阶段构成的DAG图,每个调度阶段由一组并行的任务构成,可分配的资源集合N={N_1,N_2,…,N_n}表示n个处理能力不同的节点,各节点可能来自不同的数据中心。一种最小化作业完工时间的Spark任务分配方法,如图2所示,具体的步骤如下:步骤S201,初始化作业序号i=1;步骤S202,判断作业序号是否小于等于待处理作业数量m,如果是,转步骤S203;如果否,转步骤S205;步骤S203,对第i个作业的调度阶段进行拓扑排序;步骤S204,初始化拓扑序列的最后一个调度阶段的优先级为0,依拓扑逆序依次求得各调度阶段的优先级,调度阶段的优先级计算方式为:分别求所有后继调度阶段的优先级与执行时间之和,再取最大值;步骤S205,判断待处理作业中是否有作业,如果是,转步骤S206;如果否,则方法结束;步骤S206,从所有作业中选择所有尚未完成资源分配且入度为0的调度阶段,并将这些调度阶段插入到就绪调度阶段队列中,且保持该队列按作业及调度阶段优先级从高到低排列,队首为优先级最高的作业中拥有最高优先级的待分配资源的调度阶段;步骤S207,判断是否满足就绪调度阶段队列不为空且服务资源充足,如果是,转步骤S208;如果否,转步骤S214;步骤S208,对队首调度阶段中的任务按照各个任务待处理数据量降序排序;步骤S209,判断队首调度阶段是否有任务未分配资源,如果是,转步骤S210;如果否,转步骤S213;步骤S210,从队首调度阶段选择未分配资源的输入数据量最大的任务;步骤S211,计算步骤s210所选任务在所有节点上执行的完工时间,任务的完工时间等于任务的输入数据的传输时间和处理时间之和;步骤S212,将步骤S210所选任务分配在能使其获得最早完工时间的节点上执行;步骤S213,从就绪调度阶段队列中删除队首调度阶段;步骤S214,等待有调度阶段完成,调度阶段的完工时刻等于该调度阶段中最晚完成的任务的完工时刻;步骤S215,将步骤S214中完工的调度阶段从其所属作业的DAG图中删除,若删除后作业中没有调度阶段,则将该作业从待处理作业集合中删除。以上显示和描述了本专利技术的基本原理、主要特征和本专利技术的优点。本行业的技术人员应该了解,本专利技术不受上述实例的限制,上述实例和说明书中描述的只是说明本专利技术的原理,在不脱离本专利技术精神和范围的前提下本专利技术还会有各种变化和改进,这些变化和改进都落入要求保护的本专利技术范围内。本专利技术要求保护范围由所附的权利要求书及其等同物界定。本文档来自技高网...

【技术保护点】
1.一种最小化作业完工时间的Spark任务分配方法,其特征在于,包括以下步骤:S1, 计算所有待处理作业集合中所有作业的各调度阶段的优先级;S2,判断待处理作业集合中是否还有未完成资源分配的作业,若有,继续步骤S3;否则,方法结束;S3,从所有作业中选择所有尚未完成资源分配且入度为0的调度阶段,将其插入到就绪调度阶段队列中,且保持该队列按作业及调度阶段优先级从高到低的顺序排列,所述队列中队首为优先级最高的作业中拥有最高优先级的待分配资源的调度阶段;S4,判断就绪调度阶段队列是否不为空且服务资源充足,若是,继续步骤S5;若否,转入步骤S7;S5,按照优先级依次为队列中的调度阶段分配资源,直至队列为空或者服务资源不够;S6,将已分配资源的调度阶段从就绪调度阶段队列中删除;S7,等待有调度阶段执行完,释放占用的资源,将执行完的调度阶段从该调度阶段所属的作业中删除,返回步骤S2。

【技术特征摘要】
1.一种最小化作业完工时间的Spark任务分配方法,其特征在于,包括以下步骤:S1,计算所有待处理作业集合中所有作业的各调度阶段的优先级;S2,判断待处理作业集合中是否还有未完成资源分配的作业,若有,继续步骤S3;否则,方法结束;S3,从所有作业中选择所有尚未完成资源分配且入度为0的调度阶段,将其插入到就绪调度阶段队列中,且保持该队列按作业及调度阶段优先级从高到低的顺序排列,所述队列中队首为优先级最高的作业中拥有最高优先级的待分配资源的调度阶段;S4,判断就绪调度阶段队列是否不为空且服务资源充足,若是,继续步骤S5;若否,转入步骤S7;S5,按照优先级依次为队列中的调度阶段分配资源,直至队列为空或者服务资源不够;S6,将已分配资源的调度阶段从就绪调度阶段队列中删除;S7,等待有调度阶段执行完,释放占用的资源,将执行完的调度阶段从该调度阶段所属的作业中删除,返...

【专利技术属性】
技术研发人员:李小平徐威朱夏陈龙李文政
申请(专利权)人:东南大学
类型:发明
国别省市:江苏,32

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

1