一种分布式资源调度方法和系统技术方案

技术编号:18575700 阅读:34 留言:0更新日期:2018-08-01 10:42
本发明专利技术提供了一种分布式资源调度方法和系统,该方法包括按评定的新任务处理请求的优先级别,将任务分配到对应的优先级别等待队列;根据获得任务的优先级等待队列,选定当前调度队列;根据选定的调度队列,调用资源分配策略分配可用的分布式节点资源;该系统包括队列管理器、队列调度器、任务监视器和资源分配器;本发明专利技术提供的技术方案能根据用户需求有效地平衡了任务总完成时间和任务完成总成本,既提升了资源利用率,加快了任务执行效率,同时还保障了服务质量,提高了用户的满意度。

A distributed resource scheduling method and system

The present invention provides a distributed resource scheduling method and system, which includes the priority of processing requests according to the new task evaluated, assigns tasks to corresponding priority waiting queues, waiting queues according to the priority of obtaining tasks, selecting the current scheduling queue, calling the resource according to the selected scheduling queue. Distribution policy assigns available distributed node resources; the system includes queue manager, queue scheduler, task monitor and resource dispenser; the technical scheme provided by the invention can effectively balance the total time of task and the total cost of tasks according to the user's requirements, which not only improves the utilization of resources, but also speeds up the utilization of resources. It also ensures the quality of service and improves the satisfaction of users.

【技术实现步骤摘要】
一种分布式资源调度方法和系统
本专利技术属于分布式计算机软件领域,具体讲涉及一种分布式资源调度方法和系统。
技术介绍
作为信息领域研究热点的新型商业计算模式的分布式计算,主要是通过计算机网络或互联网连接大量的计算资源,并统一管理和调度,为不同的用户提供存储、计算等各种服务。分布式计算面对的计算任务庞大,任务调度和资源分配问题成为分布式计算效率的关键,并且用户对分布式计算平台的不同任务需求,要求分布式计算服务提供商能够定制合适的服务策略。因此,将众多不同的任务请求进行合理有效地调度,让有限的分布式节点资源发挥最大的效能,满足用户对服务质量的需求是整个分布式计算领域亟待解决的难题,也是科研人员关注的焦点。针对分布式计算环境下的任务调度和资源分配的众多研究中启发式智能化方法的兴起为解决NP问题提供了技术手段,也为并行资源调度技术提供了新方向。在已有的研究中,大部分任务调度和资源分配的研究无法根据用户需求调整影响因素的权重因子,在选择执行任务时也没有将任务优先级和任务等待时间平衡,导致任务调度和资源分配的结果不尽人意。因此,研究高效率高质量的分布式资源调度系统提高资源利用率,加快任务执行效率,保障服务质量,具有重要的意义。为提高资源利用率,保证任务执行效率和服务质量,需要提供一种高效率高质量的分布式资源调度方法。
技术实现思路
为满足现有技术发展的需要,本专利技术提供了一种分布式资源调度方法和调度系统。本专利技术提供的分布式资源调度方法,其改进之处在于,所述方法包括按评定的新任务处理请求的优先级别,将任务分配到对应的优先级等待队列;根据获得任务的优先级等待队列,选定当前调度队列;根据选定的调度队列,调用预先生成的资源分配策略为新任务请求分配可用的分布式节点资源。进一步的,所述等待队列包括优先级别从高到低n个优先级别等待队列q1、q2、…、qn和具有最高优先级qtop的等待队列Q;所述将任务分配到对应优先级等待队列包括:将评定的优先级pi的新任务处理请求分配到优先级qi的等待队列i,并记录任务进入队列i的时间;将需立即执行的新任务分配至等待队列Q。进一步的,所述选定当前调度队列包括:若pi=qtop,且等待队列Q为当前调度队列,则当有可用的分布式节点资源剩余或空闲时,调用资源分配策略;否则继续等待至有可用的分布式节点空闲时调用资源分配策略;若等待队列Q不是当前调度队列,则保存当前调度队列包含任务的完成情况,抢占可用的分布式节点资源,调度资源分配策略为等待队列Q分配可用的分布式节点资源。进一步的,所述选定当前调度队列包括:若pi=qi,且等待队列i为当前调度队列j,则当有可用的分布式节点资源剩余或空闲,调用资源分配策略;否则继续等待至有可用的分布式节点空闲时调用资源分配策略;若等待队列i不是当前调度队列,则在等待队列i被选定为调度队列后调用资源分配策略。进一步的,所述等待队列被选定为当前调度队列包括:(1)按下式计算当前队列i的队列评价函数fi:fi=αiqi+βt′ij式中,αi:为当前调度队列i的权重系数;qi:当前调度队列i的优先级;β:任务等待时间的权重系数;t′ij:当前等待队列i中最早进入队列的任务j的等待时间,t′ij=tc-tij,tij:为当前调度队列i中最早进入队列的任务j的进入队列时间;tc:为当前时间;(2)按下式计算等待队列k的队列评价函数fk:fk=αkqk+βt′kj′式中,αk:为当前调度队列k的权重系数;qk:当前调度队列k的优先级;t′kj′:等待队列k中最早进入队列的任务j′的等待时间,其t′kj′=tc-tkj′,tkj′:为当前调度队列k中最早进入队列的任务j的进入队列时间;(3)比较队列评价函数fi和队列评价函数fk:若fk>fi,则保存当前调度队列i的任务处理情况,终止当前任务执行,并回收分布式节点资源,为等待队列k分配资源;若fk≤fi,则继续执行调度队列i中待处理任务,直至满足fk>fi时作为新的调度队列,保存并终止当前调度队列i的任务,回收分布式节点资源,为等待队列k分配资源。进一步的,所述分配可用的分布式节点资源包括:构建下式所示的时间和成本的适应度函数F1和节点资源负载均衡度的适应度函数F2:式中,表示所有执行任务的节点资源运行时间的最大值;Time(r,e)表示编号为r的节点资源执行挂载其上的任务e所需的执行时间;w:为分配给节点资源r执行的任务个数;R为分布式资源调度系统中可用的分布式节点资源总数;T为调度队列所包含的待处理任务的总数;表示所有可用节点资源执行任务花费成本总和;Cost(r)表示编号为r的节点资源单位时间执行任务所花费的成本;σ1、σ2:用户偏好因子;节点资源r的负载均衡率;ability(r):表示编号为r的节点资源上所有任务实际所需的能力;total_ability(r):表示编号为r的节点资源自身的执行能力;ω为常数。进一步的,所述资源分配策略的生成包括:(1)初始化控制参数和种群;所述控制参数包括:当前可用的分布式节点资源总数R、调度队列中包含的待处理任务总数T、适应度选择因子P、用户偏好因子σ1和σ2、交叉概率Pc、变异概率Pm、最大进化代数G以及当前进化代数t;(2)以适应度选择因子P选择F1作为当前的适应度函数,以适应度选择因子(1-P)选择F2作为当前适应度函数;使用轮赌法随机选择种群中的两个个体,并以概率Pc进行染色体交叉操作,形成新个体;(3)用适应度函数评价新个体:若选择的适应度函数为F1,且新个体的适应度f′>上一代个体的适应度f,则直接接受新个体,否则,随机产生概率Pt,以概率Pt去接受新个体;若选择的适应度函数为F2,且|f′|<|f|,则直接接受新个体,否则,随机产生概率Pt,以概率Pt去接受新个体;(4)以概率Pm对新个体进行变异操作,并按适应度函数方法判断是否接受新个体,然后修改当前种群的进化代数,即t=t+1;如果t≤G,则重复执行(2),否则找出种群中适应度最大的个体,生成资源分配方案。进一步的,所述选定当前调度队列和所述分配可用的分布式节点资源时,需要监控任务运行情况:若等待队列Q无新任务到达,且有部分任务已完成,则可结合队列调度策略,为下一个调度队列实施资源分配策略,执行相应任务至等待队列Q的任务全部完成;若当前调度队列i无新任务到达,且有部分任务已完成,则可结合队列调度策略,为下一个等待队列实施资源分配策略,执行相应任务直至选定等待队列l(l≠i)作为当前调度队列。一种分布式资源调度系统,所述系统包括:队列管理器:用于匹配任务等待队列;记录任务进入调度队列的时间;更新任务信息;提供用户操纵队列接口;队列调度器,用于综合考虑任务优先级和任务等待时间,根据用户需求,权衡评价因子,并根据队列评价函数F确定当前调度队列;任务监视器,用于响应记录任务完成情况请求,实时监控任务执行情况,并将监视结果反馈给资源分配器;资源分配器,用于结合队列调度器的调度结果与任务监视器的反馈结果调整分布式节点资源的分配。进一步的,所述队列管理器中包括:匹配任务等待队列模块,用于对评定任务优先级的任务请求分配至对应的优先级等待队列;若任务请求须立即执行,需要将任务分配至等待队列Q;记录模块,用于记录任务进入调度队列本文档来自技高网...

【技术保护点】
1.一种分布式资源调度方法,其特征在于,所述方法包括:按评定的新任务处理请求的优先级别,将任务分配到对应的优先级等待队列;根据获得任务的优先级等待队列,选定当前调度队列;根据选定的调度队列,调用预先生成的资源分配策略为新任务请求分配可用的分布式节点资源。

【技术特征摘要】
1.一种分布式资源调度方法,其特征在于,所述方法包括:按评定的新任务处理请求的优先级别,将任务分配到对应的优先级等待队列;根据获得任务的优先级等待队列,选定当前调度队列;根据选定的调度队列,调用预先生成的资源分配策略为新任务请求分配可用的分布式节点资源。2.如权利要求1所述的方法,其特征在于,所述等待队列包括优先级别从高到低n个优先级别等待队列q1、q2、…、qn和具有最高优先级qtop的等待队列Q;所述将任务分配到对应优先级等待队列包括:将评定的优先级pi的新任务处理请求分配到优先级qi的等待队列i,并记录任务进入队列i的时间;将需立即执行的新任务分配至等待队列Q。3.如权利要求2所述的方法,其特征在于,所述选定当前调度队列包括:若pi=qtop,且等待队列Q为当前调度队列,则当有可用的分布式节点资源剩余或空闲时,调用资源分配策略;否则继续等待至有可用的分布式节点空闲时调用资源分配策略;若等待队列Q不是当前调度队列,则保存当前调度队列包含任务的完成情况,抢占可用的分布式节点资源,调度资源分配策略为等待队列Q分配可用的分布式节点资源。4.如权利要求2所述的方法,其特征在于,所述选定当前调度队列包括:若pi=qi,且等待队列i为当前调度队列j,则当有可用的分布式节点资源剩余或空闲,调用资源分配策略;否则继续等待至有可用的分布式节点空闲时调用资源分配策略;若等待队列i不是当前调度队列,则在等待队列i被选定为调度队列后调用资源分配策略。5.如权利要求4所述的方法,其特征在于,所述等待队列被选定为当前调度队列包括:(1)按下式计算当前队列i的队列评价函数fi:fi=αiqi+βt′ij式中,αi:为当前调度队列i的权重系数;qi:当前调度队列i的优先级;β:任务等待时间的权重系数;t′ij:当前等待队列i中最早进入队列的任务j的等待时间,t′ij=tc-tij,tij:为当前调度队列i中最早进入队列的任务j的进入队列时间;tc:为当前时间;(2)按下式计算等待队列k的队列评价函数fk:fk=αkqk+βt′kj′式中,αk:为当前调度队列k的权重系数;qk:当前调度队列k的优先级;t′kj′:等待队列k中最早进入队列的任务j′的等待时间,其t′kj′=tc-tkj′,tkj′:为当前调度队列k中最早进入队列的任务j的进入队列时间;(3)比较队列评价函数fi和队列评价函数fk:若fk>fi,则保存当前调度队列i的任务处理情况,终止当前任务执行,并回收分布式节点资源,为等待队列k分配资源;若fk≤fi,则继续执行调度队列i中待处理任务,直至满足fk>fi时作为新的调度队列,保存并终止当前调度队列i的任务,回收分布式节点资源,为等待队列k分配资源。6.如权利要求1所述的方法,其特征在于,所述分配可用的分布式节点资源包括:构建下式所示的时间和成本的适应度函数F1和节点资源负载均衡度的适应度函数F2:式中,表示所有执行任务的节点资源运行时间的最大值;Time(r,e)表示编号为r的节点资源执行挂载其上的任务e所需的执行时间;w:为分配给节点资源r执行的任务个数;R为分布式资源调度系统中可用的分布式节点资源总数;T为调度队列所包含的待处理任务的总数;表示所有可用节点资源执行任务花费成本总和;Cost(r)表...

【专利技术属性】
技术研发人员:饶玮朱力鹏胡斌黄太贵李端超王松吴舜来骥
申请(专利权)人:全球能源互联网研究院国网安徽省电力公司国网冀北电力有限公司国家电网公司
类型:发明
国别省市:北京,11

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

1