一种面向多核处理器的任务调度分配方法组成比例

技术编号:20025099 阅读:20 留言:0更新日期:2019-01-06 04:12
本发明专利技术涉及处理器任务分配领域,具体涉及一种面向多核处理器的任务调度分配方法。当任务到达任务队列时,当前多核处理器的所有可利用核转换为分发状态,从任务队列领取任务;领取任务后,执行一种任务调度选择算法,选择一个可调度核;将领取的任务放入被选择的可调度核所对应的任务队列中;当任务到达任务队列时,当前多核处理器的所有可利用核转换为计算状态,从任务队列中取任务并进行计算。本发明专利技术可使多核处理器所有核的利用率最大程度的均衡,而没有调度核和计算核能力的不均衡带来的浪费;通过使多核处理器所有核心运行着两个模式,调度模式与计算模式,提高任务调度成功率、减少自旋损失。

【技术实现步骤摘要】
一种面向多核处理器的任务调度分配方法
本专利技术涉及处理器任务分配领域,具体涉及一种面向多核处理器的任务调度分配方法。
技术介绍
由于现有的多核处理器调度分配模型一般分为两种:第一种为全局调度,即整个系统中只维护一个全局的任务队列,动态的分配任务,并且允许任务在核间进行迁移。第二种为局部调度,系统会为每一个核维护一个局部任务队列,一般来说,局部调度中的任务就不允许进行任务的迁移。对于全局调度来,一般多个计算核争抢任务队列中的任务,更容易做到负载均衡,使各核心满载。但对于支持全局调度的调度器来说,计算开销明显过大,并且任务频繁的迁移会导致Cache命中的效率降低。对于局部调度来说,负载均衡是一个严重的问题,如何改进均衡策略是局部调度的一个研究重点。目前使用最多的模型是将两种方式结合起来,使用一个核专门作为调度核,其余的核作为计算核,整个系统不但有全局任务队列,每个计算核还有自己的任务队列。任务到达系统中的时候,先进入全局任务队列,由调度核选择任务调度到一个计算核的任务队列上去。但是这种模式也存在一个问题,就是调度核利用率与计算核利用率的不均等,容易产生其中一方空闲,计算资源却无法得到利用的情况。集中式调度从本质上来说将所有核分为两部分,调度核与计算核。调度核只负责调度,计算核只负责对任务进行处理。在之前使用集中式调度模型的算法中,研究点都是对于任务如何选择核进行调度,对核的利用率都是只对计算核进行计算,没有考虑过调度核的处理能力的问题。但在实验研究中,会有这样的事情发生:调度核与计算核的计算能力并不能够均衡。具体体现的现象就是任务队列中的任务不断在堆积。如果调度核计算能力不足,那么全局任务队列会不断堆积任务导致太多的任务无法处理,而任务核又无法进行任务的处理;如果计算核计算能力不足,那么会导致计算能力不足的核对应的任务队列积压任务,而全局任务队列没有任务,调度核处于空闲当中。这两种情况都会导致任务调度成功率的下降、自旋损失的增加。本专利技术根据这两个问题对现有任务调度分配方法进行改进。
技术实现思路
本专利技术的目的在于提供具有更高的性能并且可以提高多核处理器整体的处理能力的一种面向多核处理器的任务调度分配方法。本专利技术的目的是这样实现的:本专利技术实施例提供一种面向多核处理器的任务调度分配方法,包括:步骤一:定义多核处理器的核拥有两种状态,分别为:分发状态与计算状态;步骤二:当任务到达主任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为分发状态,多核处理器的所有可利用核从任务队列领取任务;步骤三:多核处理器的所有可利用核领取任务后,执行一种任务调度选择算法,选择一个可调度核;步骤四:将多核处理器的所有可利用核领取的任务放入被选择的可调度核所对应的任务队列中;步骤五:当任务到达被选择的可调度核的任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为计算状态,多核处理器的所有可利用核从任务队列中取任务并进行计算;步骤六:循环执行步骤二~步骤五,直至所有任务完成,运算结束。所述步骤一,包括:定义多核处理器的核拥有两种状态,分别为:分发状态与计算状态;其中,本方法取消核的分类,加入运行模式概念,处理器的所有核心均运行两个模式,调度模式与计算模式,在调度模式下进行调度,在计算模式下对任务进行处理。所述步骤二~步骤五,包括:当任务到达主任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为分发状态,多核处理器的所有可利用核从任务队列领取任务;多核处理器的所有可利用核领取任务后,执行一种任务调度选择算法,选择一个可调度核;将多核处理器的所有可利用核领取的任务放入被选择的可调度核所对应的任务队列中;当任务到达被选择的可调度核的任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为计算状态,多核处理器的所有可利用核从任务队列中取任务并进行计算;其中,所述执行顺序调动多核处理器全部核的处理能力,处理核在没有任务处理时取全局队列中的任务进行调度,没有任务调度时去局部任务队列的任务进行处理,所有核的利用率最大程度的均衡。本专利技术的有益效果在于:1.本专利技术使多核处理器所有核的利用率最大程度的均衡,而没有调度核和计算核能力的不均衡带来的浪费;2.通过使多核处理器所有核心运行着两个模式,调度模式与计算模式,提高任务调度成功率、减少自旋损失;3.通过本专利技术使调度核利用率与计算核利用率达到均等,不会产生其中一方空闲,计算资源却无法得到利用的情况;附图说明图1为一种面向多核处理器的任务调度分配方法的任务流动趋势图;图2为本专利技术与现有的调度模型核利用率对比图;具体实施方式下面结合附图对本专利技术做进一步描述:图1为一种一种面向多核处理器的任务调度分配方法的任务流动趋势图;图2为本专利技术与现有的调度模型核利用率对比图;本专利技术的技术方案是这样实现的:1.附图1是本专利技术的任务流动趋势图,该图表明了任务的流动趋势。2.当任务到达任务队列的时候,处于调度模式的核开始收取任务3.收取任务后,对任务做正常的调度选择,并将结果记录下来。4.而后将当前处理的任务发送到记录的核对应的任务队列上去,无论此时核处于什么状态。5.相应的核若处于计算状态则直接从任务队列中收包,若处于调度状态,则在当前一次调度完成后查看局部队列是否有任务,如果有则立刻转换为计算状态来运行当前任务队列中的任务。本文档来自技高网
...

【技术保护点】
1.一种面向多核处理器的任务调度分配方法,其特征在于,包括:步骤一:定义多核处理器的核拥有两种状态,分别为:分发状态与计算状态;步骤二:当任务到达主任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为分发状态,多核处理器的所有可利用核从任务队列领取任务;步骤三:多核处理器的所有可利用核领取任务后,执行一种任务调度选择算法,选择一个可调度核;步骤四:将多核处理器的所有可利用核领取的任务放入被选择的可调度核所对应的任务队列中;步骤五:当任务到达被选择的可调度核的任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为计算状态,多核处理器的所有可利用核从任务队列中取任务并进行计算;步骤六:循环执行步骤二~步骤五,直至所有任务完成,运算结束。

【技术特征摘要】
1.一种面向多核处理器的任务调度分配方法,其特征在于,包括:步骤一:定义多核处理器的核拥有两种状态,分别为:分发状态与计算状态;步骤二:当任务到达主任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为分发状态,多核处理器的所有可利用核从任务队列领取任务;步骤三:多核处理器的所有可利用核领取任务后,执行一种任务调度选择算法,选择一个可调度核;步骤四:将多核处理器的所有可利用核领取的任务放入被选择的可调度核所对应的任务队列中;步骤五:当任务到达被选择的可调度核的任务队列时,执行转换命令,当前多核处理器的所有可利用核转换为计算状态,多核处理器的所有可利用核从任务队列中取任务并进行计算;步骤六:循环执行步骤二~步骤五,直至所有任务完成,运算结束。2.根据权利要求1所述的一种面向多核处理器的任务调度分配方法,其特征在于:所述步骤一,包括:定义多核处理器的核拥有两种状态,分别为:分发状态与计算状态;其中,本方法取消核的分类...

【专利技术属性】
技术研发人员:苘大鹏杨武王巍玄世昌吕继光路泽亚
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江,23

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

1