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为正整数;在所述迭代过程达到设定条件时,停止迭代,从得到的基因序列中,选择一个基因序列作为任务调度方案。
【技术特征摘要】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。