一种分布式系统中的资源调度方法及装置与流程

文档序号:14624577发布日期:2018-06-08 07:26阅读:218来源:国知局

本发明涉及资源调度技术,更具体地,涉及一种分布式系统中的资源调度方法及装置。



背景技术:

针对目前大量的多任务计算以及大规模复杂计算的需求,廉价的、高扩展的分布式集群技术已经成为标准解决方案,各数据中心和云平台已经部署了大量的分布式设备。如果要实现最大化合理利用这些分布式集群,资源调度是个很重要的课题,因为一个不好的资源调度方法会造成昂贵投入的硬件资源被浪费,以及任务执行等待时间过长,降低了用户体验。针对越来越多的分布式计算任务,必须设计高效的资源调度方法,进行自适应分析来高效分配任务资源,提高任务处理效率,缩短项目开发周期。

因此,如何提高分布式节点资源处理复杂任务的节点利用率和任务执行效率,实现最大化合理利用节点资源,是目前迫切需要解决的问题。



技术实现要素:

本发明提供了一种分布式系统中的资源调度方法及装置,可以在有限的节点资源情况下,动态控制任务资源的调度,实现最大化合理利用节点资源。

为了解决上述问题,本发明公开了一种分布式系统中的资源调度方法,包括:

建立待处理任务资源的通用计算模型,方便后续对任务资源进行处理和管控。

对待处理任务资源进行多任务划分,并对划分后获得的子任务资源随机抽样获得子任务资源样本,计算所述子任务资源样本的哈希值,方便子任务资源处理完成后利用哈希值索引找到该子任务资源对应的计算结果。

将所述子任务资源样本运用数据映射聚合模型在分布式系统中的服务器节点上试运行,得到子任务资源样本的占用资源量和计算时间,将所耗计算时间大于所有所述子任务资源样本的计算时间的子任务资源样本,利用遗传算法或蚁群算法进行分治处理,用来提高服务器节点计算该任务资源的效率。同时依据所述通用计算模型和所述子任务资源样本的占用资源量预估所述待处理任务资源的占用资源量。

实时获取服务器节点资源余量,依据预估的所述待处理任务资源的占用资源量,对所述待处理任务资源和所述服务器节点资源余量依据阶梯型匹配原则进行动态匹配。阶梯型匹配原则就是按照占用资源量最大的待处理任务资源和剩余资源最多的服务器节点进行匹配,占用资源量最小的待处理任务资源和剩余资源最少的服务器节点进行匹配的原则,保证任务资源量小于节点资源量,而且节点资源的占用比达到最大。

依据动态匹配后的结果将所述待处理任务资源分配给所述节点资源余量进行处理,重复执行上述这些操作,直至所有任务资源被计算完成,然后根据任务资源的哈希值索引找到任务资源处理后的计算结果,将各任务资源的分片计算结果聚合得到最终的计算结果。

本发明还提供了一种分布式系统中的资源调度装置,包括:

资源建模仿真单元,用于建立待处理任务资源的通用计算模型。

任务资源抽样试运行单元,用于对所述待处理任务资源进行划分,并对划分后获得的子任务资源随机抽样获得子任务资源样本;采用数据映射聚合模型将所述子任务资源样本分配在所述服务器节点资源上试运行,获取所述子任务资源样本的占用资源量和计算时间,将所耗计算时间大于所有所述子任务资源样本的计算时间的子任务资源样本,利用遗传算法或蚁群算法进行分治处理;同时依据所述通用计算模型和所述子任务资源样本的占用资源量预估所述待处理任务资源的占用资源量。

节点余量监控单元,用于实时获取服务器节点资源余量。

资源匹配单元,用于依据预估的所述待处理任务资源的占用资源量,对所述待处理任务资源和所述服务器节点资源余量依据阶梯性匹配原则进行动态匹配。

任务资源分配单元,用于依据动态匹配后的结果将所述待处理任务资源分配给所述节点资源余量进行处理。

计算结果聚合单元,用于当所有待处理任务资源被计算完成时,然后根据所有的所述子任务资源的哈希值索引找到各个子任务资源处理后的分片计算结果,将所述子任务资源的分片计算结果聚合得到所述待处理任务资源的计算结果。

本发明的有益效果:

采用本发明提供的技术方案,通过对待处理任务资源建立通用计算模型并进行划分,对划分后的子任务资源随机抽样获得子任务资源样本,依据子任务资源样本计算出的占用资源量来预估任务资源需要消耗的资源,同时保持着对节点资源余量的监控状态,实时获取服务器节点资源余量,根据预估结果对待处理任务资源和剩余的服务器节点资源进行动态匹配,达到最大化合理利用服务器节点资源的目的,并有效减少任务资源等待执行的时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简要地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分布式系统中的资源调度方法的流程示意图;

图2为本发明实施例提供的一种分布式系统中的资源调度装置结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚明白,以下将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,它包括以下步骤:

S101,对待处理任务资源建立通用节点计算模型,并对分布式系统中的节点资源余量进行哈夫曼编码,以便后续计算过程中,可以快速查找不同的服务器节点资源余量对应的服务器节点资源。建立通用节点计算模型的具体过程如下:假设用户提交了一组任务集S={S1,S2,S3....S4},任务集里的所有任务各自相互独立,其中Si表示第i个子任务,通过一个多维元组定义一个子任务:Si={SIDi,TARi,DeadLinei,SLi,TStatei,Svaluei},其中SIDi表示当前任务Si的id号,TARi表示第i个任务的到达时间,DeadLinei表示第i个任务的计算完成时间,SLi表示第i个任务的计算工作量,TStatei,表示任务Si的当前状态,即等待、挂起、执行和完成状态,Svaluei表示任务Si完成处理后的结果。待处理任务资源的通用节点计算模型用来预估该任务资源占用的节点资源量,便于后续据此进行多任务划分。

定义Pij表示节点资源余量占总的节点资源量的比重,即资源余量比:

其中,stendij表示任务Si的预估计算时间与实际计算时间的比例,SLi表示第i个任务的计算工作量,Hptask表示在Si执行过程中到达并抢占当前节点的优先级相对更高的任务,∑eij为处于执行状态下各个子任务所耗线程资源的集合,PtdAll为该运行节点在该任务处理起止时间段所能服务的最大任务资源量,在后续对划分后的任务抽样试运行期间,得到每次样本处理结束后的资源余量比Pij,然后对其进行t检验,当每组检验后的Pij值大于0.05,说明假设成立,然后取Pij与该任务处理时间轴形成的闪点图的中心坐标点,该点纵坐标的值为处理该类任务最稳定的资源余量比。

S102,对待处理任务资源进行多任务划分,并对划分后产生的子任务资源随机抽样获得子任务资源样本,计算子任务资源样本的哈希值,以便后续可以快速查找不同的子任务资源对应的计算结果,并快速聚合得到总任务资源对应的计算结果;将子任务资源样本采用数据映射聚合模型分配在服务器节点资源上试运行,获得子任务资源样本的占用资源量和计算时间。即对子任务资源样本的大量数据记录或元素中的同种类型任务进行重复处理后获取中间结果信息,然后对中间结果进行排序和整理,收集中间结果生成最终的结果输出。

根据子任务资源样本试运行得到的计算时间,如果某个子任务资源样本的计算时间大于所有子任务资源样本的计算时间的平均值,就采用遗传算法或者蚁群算法对该子任务资源样本对应的子任务资源进行分治处理,用来提高服务器节点计算该子任务资源样本对应的子任务资源的效率。

S103,依据试运行得到的计算结果和阶梯性匹配原则,对待处理任务资源和节点资源余量进行动态匹配,具体过程就是,依据试运行得到的计算结果,预估子任务资源样本对应的任务资源的占用资源量,然后按照此预估的占用资源量与相适应的节点资源余量进行匹配。

S104,控制资源调度器依据动态匹配后的结果将待处理任务资源分配给节点资源余量进行处理,其中资源调度器是对分布式集群中各个节点资源进行管理调度的程序组合,可以有效管理节点资源的处理过程,监控任务资源的状态和节点负载情况,调度分配任务资源到不同的节点按不同的过程处理。

S105,控制节点资源余量监控器对节点资源余量进行监控,并实时反馈节点资源余量到资源调度器中。

S106,将划分后的子任务资源计算获得的结果进行聚合处理。

S107,将聚合后得到的计算结果输出。

请参阅图2,为本发明实施例提供的一种分布式系统中的资源调度装置结构示意图,该装置包括:

资源建模仿真单元201,用于建立待处理任务资源的通用计算模型,对分布式系统中的服务器节点资源进行哈夫曼编码。

任务资源抽样试运行单元202,用于对待处理任务资源进行多任务划分,并对划分后产生的子任务资源随机抽样获得子任务资源样本,计算子任务资源样本的哈希值;将子任务资源样本采用数据映射聚合模型分配在所述服务器节点资源上试运行,得到子任务资源样本的占用资源量和计算时间。

根据子任务资源样本试运行得到的计算时间,如果某个子任务资源样本的计算时间大于所有子任务资源样本的计算时间的平均值,就采用遗传算法或者蚁群算法对该子任务资源样本对应的子任务资源进行分治处理,用来提高服务器节点计算该子任务资源样本对应的子任务资源的效率。

节点余量监控单元203,用于监控服务器节点资源余量,实时反馈服务器节点资源余量到资源调度器中,并对服务器节点资源余量进行哈夫曼编码。

资源匹配单元204,依据试运行得到的计算结果和阶梯性匹配原则,对待处理任务资源和所述节点资源余量进行动态匹配。

任务资源分配单元205,控制资源调度器依据动态匹配后的结果将待处理任务资源分配给节点资源余量进行处理。

计算结果聚合单元206,用于重复执行抽样试运行、资源匹配以及任务资源分配操作,直至所有任务资源被计算完成,然后根据子任务资源的哈希值索引找到子任务资源处理后的计算结果,将子任务资源的分片计算结果聚合得到待处理任务资源的计算结果。

本发明提供了一种分布式系统中的资源调度技术方案,解决了面对大规模多任务计算需求时,任务调度效率低以及服务器节点资源利用率低的问题。该方案通过对待处理任务资源进行多任务划分,将划分后的子任务资源在服务器节点资源上试运行,依据子任务资源计算出的占用资源大小和消耗时间来预估任务资源需要消耗的资源,同时资源余量监控器保持着对节点资源余量的监控状态,然后根据预估结果对待处理任务资源和节点资源余量进行动态匹配,降低了各个任务资源互相等待处理的时间,达到了最大化合理利用服务器资源的目的。该方法能帮助用户分析并预估各个任务的处理时间,便于用户对项目进行科学的开发周期规划。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1