一种基于遗传算法的任务调度方法及装置制造方法及图纸

技术编号:15077956 阅读:54 留言:0更新日期:2017-04-07 11:01
本发明专利技术公开了一种基于遗传算法的任务调度方法及装置,用于解决如何选择最优的任务与处理器之间调度方案的问题,包括:输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。由于多组基因序列同时进行迭代处理,缩短了处理时间,提高了处理效率。

Task scheduling method and device based on genetic algorithm

The invention discloses a device and a task scheduling method based on genetic algorithm is used to solve how to choose the optimal scheduling scheme between the task and the processor of the problem, including: a first input N gene sequence, respectively from the N gene sequence of the first set, choose the suitable value is greater than or equal to the first the gene sequence set using a threshold, the selected gene sequence is divided into a sequence of M second gene sets for each of the second gene sequence, arbitrary sequences of second genes of the collection of two gene sequences of gene cross processing, gene sequence obtained after gene cross processing as the iterative process the next input, stop the iteration reaches a set condition in the iterative process, and from the gene sequence in the gene sequence as a Task scheduling scheme. Due to the simultaneous iterative processing, the processing time is shortened and the processing efficiency is improved.

【技术实现步骤摘要】

本专利技术涉及数据处理
,尤其涉及一种基于遗传算法的任务调度方法及装置
技术介绍
随着信息社会发展带来的计算任务的增长,导致大量待计算的任务等待,同时,计算资源一般为处理器性能不同的硬件,不同的任务在不同的硬件设备上的计算开销是不同的,因此,为了提高硬件设备的利用率、降低整体的计算开销,任务调度方案的优化问题极为重要。由达尔文物种进化理论可知,每个种群中的基因将以一定概率被遗传给下一代,从而保持该种群的特征不会发生大的改变,且根据优胜劣汰的原理,优良的基因会被更多地保留;如此经过若干代的进化以后,整个种群中的基因会向适应值好的方向发展,最终整个种群达到最好的基因库。遗传算法是根据进化论与遗传变异理论为基础求解全局最优解的仿生型算法。目前常用的遗传算法为串行遗传算法,串行遗传算法依次包括如下步骤:确定阈值;计算基因序列集合中的每个基因序列的适应值;从基因序列集合中选择出适应值大于阈值的基因序列;将选择出的基因序列进行基因交叉;以及基因变异等,得到新的基因序列集合。其中,所述基因变异是指基因序列中的某个基因值发生变化;例如:任意基因序列A(1253654)中的第N个基因变异,假如N为3,若序列A中的第3个基因值由5随机变成3,则所述基因序列A变异为A(1233654)。由于基因序列集合中包含大量的基因序列,采用串行遗传算法的处理周期长,处理效率低,无法满足实时任务的要求,因此,如何选择最优的任务与处理器之间的调度方案是目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种基于遗传算法的任务调度方法及装置,以解决如何选择最优的任务与处理器之间的调度方案的问题。本专利技术的目的是通过以下技术方案实现的:一种基于遗传算法的任务调度方法,包括:输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,其中,所述第一基因序列集合使用的阈值是根据所述第一基因序列集合包含的基因序列的适应值确定的,所述基因序列用于表征需要处理的任务与处理所述任务的处理器之间的对应关系,所述适应值用于表征基因序列在任务调度中处理任务的能力,N为大于或等于2的正整数;将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,M为正整数;在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。基于与方法同样的专利技术构思,本专利技术实施例还提供一种基于遗传算法的任务调度装置,包括:第一模块,用于输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,其中,所述第一基因序列集合使用的阈值是根据所述第一基因序列集合包含的基因序列的适应值确定的,所述基因序列用于表征需要处理的任务与处理所述任务的处理器之间的对应关系,所述适应值用于表征基因序列在任务调度中处理任务的能力,N为大于或等于2的正整数;第二模块,用于将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,M为正整数;第三模块,用于在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。本专利技术实施例提供的一种基于遗传算法的任务调度方法及装置中,首先输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,然后将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。由于多组基因序列同时进行迭代处理,缩短了处理时间,提高了处理效率。附图说明图1为本专利技术实施例提供的一种基于遗传算法的任务调度方法的流程图;图2为本专利技术实施例提供的一种并行遗传算法的示意图;图3为本专利技术实施例提供的一种CPU端和高性能硬件设备端数据传输示意图;图4为本专利技术实施例提供的又一种基于遗传算法的任务调度方法的流程图;图5为本专利技术实施例提供的一种基于遗传算法的任务调度装置的示意图。具体实施方式下面将结合附图,对本专利技术实施例提供的技术方案进行详细说明。本专利技术实施例提供了一种基于遗传算法的任务调度方法,如图1所示,包括如下操作:步骤100、输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,其中,所述第一基因序列集合使用的阈值是根据所述第一基因序列集合包含的基因序列的适应值确定的,所述基因序列用于表征需要处理的任务与处理所述任务的处理器之间的对应关系,所述适应值用于表征基因序列在任务调度中处理任务的能力,N为大于或等于2的正整数。在本专利技术实施例中,适应值用于表征基因序列在任务调度中处理任务的能力,基因序列的适应值可以通过所述需要处理的任务在所述处理器上的运行开销以及所述需要处理的任务的实时要求系数计算得到的;其中,所述运行开销是指基因序列中每个任务通过处理器处理的时间;所述实时要求系数是指需要处理的任务对响应时间的要求程度。可选的,第一基因序列集合中包含的基因序列的数量可以相同也可以不同,本专利技术实施例中对其不作限定。步骤110、将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,M为正整数。可选的,第二基因序列集合中包含的基因序列的数量可以相同也可以不同,本专利技术实施例中对其不作限定。可选的,M的值可以等于N的值,也可以小于N的值,本专利技术实施例中对其不作限定。本步骤中,在进行基因交叉时,所选择的第二基因序列集合中的任一基因序列均可以与自身以外的其他基因序列进行基因交叉,从而能有效的避免出现局部最优基因序列,得到更合适的的最优基因序列。并且,本步骤中根据基因交叉后得到的基因序列确定下一次迭代过程中使用的阈值,每次迭代后下一次使用的阈值逐渐提高,因为将每一次基因交叉得到基因序列的适应值的平均值做为下一次迭代过程中使用的阈值,通过该阈值去掉适应值小于该阈值的基因序列,下一次进行交叉的基因序列的适应值都是大于等于该阈值的基因序列,因此每次迭代后下一次使用的阈值比上一次提高了,加快了最优基因序列的搜索速度。步骤120、在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。本专利技术实施例提供的一种基于遗传算法的任务调度方法,首先输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,然后将选择出的基因序列划分成M个第二基因序列集合,对本文档来自技高网...

【技术保护点】
一种基于遗传算法的任务调度方法,其特征在于,包括:输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,其中,所述第一基因序列集合使用的阈值是根据所述第一基因序列集合包含的基因序列的适应值确定的,所述基因序列用于表征需要处理的任务与处理所述任务的处理器之间的对应关系,所述适应值用于表征基因序列在任务调度中处理任务的能力,N为大于或等于2的正整数;将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,M为正整数;在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。

【技术特征摘要】
1.一种基于遗传算法的任务调度方法,其特征在于,包括:输入N个第一基因序列集合,分别从所述N个第一基因序列集合中,选择出适应值大于或等于所述第一基因序列集合使用的阈值的基因序列,其中,所述第一基因序列集合使用的阈值是根据所述第一基因序列集合包含的基因序列的适应值确定的,所述基因序列用于表征需要处理的任务与处理所述任务的处理器之间的对应关系,所述适应值用于表征基因序列在任务调度中处理任务的能力,N为大于或等于2的正整数;将选择出的基因序列划分成M个第二基因序列集合,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,将基因交叉处理后得到的基因序列作为下一次迭代过程的输入,M为正整数;在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。2.根据权利要求1所述的方法,其特征在于,对于每个第二基因序列集合,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理之后,该方法还包括:从基因交叉处理前的基因序列和基因交叉处理后得到的基因序列中,选择R个基因序列,并将得到的R个基因序列作为下一次迭代过程的输入,R为正整数。3.根据权利要求2所述的方法,其特征在于,从基因交叉处理前的基因序列和基因交叉处理后得到的基因序列中,选择R个基因序列,包括:将基因交叉处理前的基因序列和基因交叉处理后得到的基因序列,按照适应值从大到小进行排序,选择前R个基因序列。4.根据权利要求1所述的方法,其特征在于,所述设定条件包括:迭代次数达到设定次数;或者任一次迭代过程后得到的基因序列的数量为一个。5.根据权利要求1所述的方法,其特征在于,将所述第二基因序列集合中的任意两个基因序列进行基因交叉处理,包括:将所述任意两个基因序列中的一个基因序列包含的Q个基因,与另一个基因序列中同一位置的Q个基因进行对调,其中,Q为大于或等于1的整数,且Q小于所述任意两个基因序列包含的基因的个数的最小值。6.根据权利要求1~5中任一项所述的方法,其特征在于,从得到的基因序列中,选择一个基因序列作为任务调度方案,包括:从所述得到的基因序列中,选择任务的运行开销最小的基因序列,作为任务调度方案;或从所述得到的基因序列中,选择不同处理器的使用数量最高的基...

【专利技术属性】
技术研发人员:易娟高雪松李海涛马琳涛
申请(专利权)人:海信集团有限公司
类型:发明
国别省市:山东;37

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

1