掌桥专利:专业的专利平台
掌桥专利
首页

基于改进鲸鱼优化算法的异构多核任务调度方法及系统

文献发布时间:2024-01-17 01:23:17


基于改进鲸鱼优化算法的异构多核任务调度方法及系统

技术领域

本发明涉及计算机控制技术领域,尤其涉及一种基于改进鲸鱼优化算法的异构多核任务调度方法及系统。

背景技术

多核技术已开始广泛应用于计算机领域,多核处理器可以分为同构多核处理器和异构多核处理器。多核操作系统的主要问题包括内核间通信、共享缓存管理、内核间任务分配与调度、多核设备管理等。多核任务调度问题是当前多核操作系统的研究重点,其中异构多核计算系统中的任务调度更是计算机体系结构研究领域中的热点问题之一。如何合理地将任务分配给不同处理器,从而得到最短的完成时间,是任务调度需要解决的问题。

多核任务调度可以分为动态任务调度和静态任务调度,其中对静态任务调度的研究较多。静态任务调度在处理过程中,其计算资源并不会动态变化,同时任务也是静态的,在任务执行之前,就已经能静态地估算出任务的计算开销、数据传输开销,以及任务简单的通信需求等。而动态任务调度可以通过分析各个处理器的实时负载情况,将任务从重载处理器迁移到轻载处理器上执行,以消除各个处理器中负载分布的不均衡性。根据任务间是否存在依赖关系可以将多核任务调度划分为独立任务调度与依赖任务调度两类。在同构多处理器上安排多个独立任务,只需将完成时间最短的任务安排到处理器即可。异构多处理器上的代表性任务调度方案更为复杂,需要考虑总完成时间和执行效率等性能参数,但是现有的异构多核任务调度方式并未使得系统性能达到最佳。

发明内容

有鉴于此,本发明首先提供一种基于改进鲸鱼优化算法的异构多核任务调度方法,解决的技术问题在于:如何合理地将任务分配给不同处理器,使整个系统性能达到最佳。

为实现上述目的,本发明所采用的具体技术方案如下:

一种基于改进鲸鱼优化算法的异构多核任务调度方法,包括以下步骤:

S1、获取任务信息并建立任务调度系统模型;

S2:将鲸鱼个体与各个任务调度方法进行一一映射;

S3:基于改进鲸鱼优化算法求解最优鲸鱼个体,使得各个任务调度到不同处理器上并行执行的总执行时间最短;

S4:根据步骤S3所得最优鲸鱼个体得到与之对应的最优任务调度方法。

进一步地,步骤S1中建立的任务调度系统模型表示为:M=(P,G,T,C);其中:P={P

进一步地,将m个任务编号为0~m-1,n个异构处理器编号为0~n-1,所述改进鲸鱼优化算法中初始产生含有N个鲸鱼个体的鲸鱼种群;鲸鱼个体表示为X

进一步地,所述改进鲸鱼优化算法包括步骤:

S31:初始化参数,设定最大迭代次数;

S32:初始化鲸鱼种群,随机产生初始解,表示各任务将被随机分配给不同的处理器;

S33:计算并比较各个鲸鱼个体的适应度值,得出当前最优鲸鱼个体;

S34:更新收敛因子

S35:判断捕食机制概率p的取值范围,当p≥0.5,则各个鲸鱼个体执行螺旋位置更新操作;当p<0.5,则进入判断系数向量

S36:检查是否有鲸鱼个体超出搜索范围,若有,对其进行修改,同时再次计算并比较所有鲸鱼个体的适应度值,更新当前最优鲸鱼个体;为增强鲸鱼优化算法的搜索能力,本发明对超出边界的值取小于等于处理器个数的正整数随机值;

S37:判断是否达到最大迭代次数,如达到,则将当前最优鲸鱼个体作为全局最优解输出;否则,返回步骤S34循环进行。

进一步地,步骤S34中按照a=2(1-n/M)更新收敛因子

进一步地,步骤S34中按照

进一步地,步骤S35中各个鲸鱼个体执行螺旋位置更新操作时按照:

更新鲸鱼个体的位置,其中:

进一步地,步骤S35中各个鲸鱼个体进行包围捕食操作时按照:

更新鲸鱼个体的位置,其中:

进一步地,步骤S35中各个鲸鱼个体随机搜索猎物,随机更新位置时按照:

更新鲸鱼个体的位置,其中:

基于上述方法,本发明还提供一种基于改进鲸鱼优化算法的异构多核任务调度系统,其关键在于:系统中设置有多个异构处理器,所述多个异构处理器按照前文所述的基于改进鲸鱼优化算法的异构多核任务调度方法进行任务调度。

本发明的显著效果是:

本发明提供的一种基于改进鲸鱼优化算法的异构多核任务调度方法及系统,通过改进的鲸鱼算法进行异构多核任务调度选择,通过建立了一个异构多核环境下经典的DAG任务调度模型,并采用改进的鲸鱼算法进行任务调度,使调度算法中的鲸鱼个体和任务调度中的调度方法一一对应,将鲸鱼个体的适应度函数的最大值作为多核任务调度的目标函数,依靠鲸鱼算法自身的良好性能,通过适应度函数比较获得最优的鲸鱼个体,即获得最优的任务调度方案,有效地避免在任务调度优化过程中陷入局部优化,提高了多核任务调度的效率,克服了异构多核任务调度中任务调度效率低、完成时间长的问题。

附图说明

图1是本发明实施例提供的一种基于改进鲸鱼优化算法的异构多核任务调度方法的流程图;

图2是本发明实施例提供的改进鲸鱼优化算法的流程图。

具体实施方式

下面结合附图具体阐明本发明的实施方式,实施例的给出仅仅是为了说明目的,并不能理解为对本发明的限定,包括附图仅供参考和说明使用,不构成对本发明专利保护范围的限制,因为在不脱离本发明精神和范围基础上,可以对本发明进行许多改变。

如图1所示,针对异构多核任务调度中任务调度效率低、完成时间长的问题,本实施例提供一种基于改进鲸鱼优化算法的异构多核任务调度方法,包括以下步骤:

S1、获取任务信息并建立任务调度系统模型;具体实施时,建立的任务调度系统模型表示为:M=(P,G,T,C);其中:P={P

独立的任务调度不考虑任务间的数据关联与优先约束关系。依赖的任务调度包括一组具有前后数据依赖约束与并行关系的多任务调度,一般采用有向无环图DAG任务图模型表示。DAG任务调度模型是异构多核环境下经典的任务调度模型。具体实施时可以采用DAG图来表示任务集合。DAG图的顶点表示任务,图的边表示任务间的数据依赖关系。为了提高系统效率,如何有效地将DAG任务图中的各个任务调度到不同处理器上并行执行,从而使总的执行时间最短,是DAG任务调度的目标。任务模型的描述可使用三元组G=(V,E,W)来描述。V表示任务节点集合(DAG中的节点集合),m表示待调度的所有任务的数量,v

本例中研究的任务调度问题的模型和假设说明如下:(1)是有依赖的任务调度,存在核间通信开销,同一个核上的开销为0;(2)是已知任务划分、依赖关系、通信开销的非抢占式静态任务调度;(3)划分好的任务相对独立,任务之间的通信只在任务执行完后进行。

S2:将鲸鱼个体与各个任务调度方法进行一一映射;

在该步骤S2中,鲸鱼优化算法对多核任务调度问题求解时,需要让算法中的鲸鱼个体和任务调度中的任务和处理器调度方案相对应,每个鲸鱼的位置代表一个可行解,调度算法中每一个鲸鱼个体对应一种调度方法,对鲸鱼个体采用实数编码方式,假设m个任务要在n个处理器上执行,将任务编号为0~m-1,处理器编号为0~n-1。鲸鱼优化算法初始时,产生一个含N个鲸鱼个体的鲸鱼种群WhalePopulation,初始鲸鱼种群可表示为:

其中,N为鲸鱼种群中的个体数量,X

因此,对于鲸鱼种群WhalePopulation中鲸鱼个体X

表1:鲸鱼个体X

S3:基于改进鲸鱼优化算法求解最优鲸鱼个体,使得各个任务调度到不同处理器上并行执行的总执行时间最短;

鲸鱼优化算法的目的是最优地将多个任务分配给不同的处理器,鲸鱼优化算法中每一个鲸鱼个体对应每一个任务调度方案,鲸鱼优化算法从一组随机解开始。最初,它假设当前的解决方案是最佳的解决方案,并基于当前的解决方案执行搜索过程。重复这个过程,直到达到最佳的解决方案。

在本实施例中,采用改进的鲸鱼优化算法求解出最优鲸鱼个体,如图2的所示的流程图,具体包括以下步骤:

S31:初始化参数,设定最大迭代次数;

S32:初始化鲸鱼种群,随机产生初始解,表示各任务将被随机分配给不同的处理器;

S33:计算并比较各个鲸鱼个体的适应度值,得出当前最优鲸鱼个体;

S34:更新收敛因子

S35:判断捕食机制概率p的取值范围,当p≥0.5,则各个鲸鱼个体执行螺旋位置更新操作;当p<0.5,则进入判断系数向量

S36:检查是否有鲸鱼个体超出搜索范围,若有,对其进行修改,同时再次计算并比较所有鲸鱼个体的适应度值,更新当前最优鲸鱼个体;

S37:判断是否达到最大迭代次数,如达到,则将当前最优鲸鱼个体作为全局最优解输出;否则,返回步骤S34循环进行。

在步骤S3中,鲸鱼优化算法是模仿座头鲸的狩猎行为进而提出的一种新型启发式优化算法。在海洋活动中,座头鲸有着一种特殊的狩猎方法,这种觅食行为称为气泡网觅食法。鲸鱼优化算法模拟了座头鲸特有的搜索方法和围捕机制,通过模拟螺旋气泡网进食策略达到优化的目的。鲸鱼优化算法主要包括:围捕猎物、气泡网捕食、搜索猎物三个重要阶段。鲸鱼优化算法中每个座头鲸的位置代表一个潜在解,通过在解空间中不断更新鲸鱼的位置,最终获得全局最优解。

基于鲸鱼优化算法的多核任务调度的目的是最优地将多个任务分配给不同的处理器,从而获得最小的makespan。makespan表示所有任务在处理器上的最后结束时间,即所有任务在处理器上的最后结束时间。鲸鱼优化算法中的每个鲸鱼个体对应每一种任务调度方案,求解出来的最优鲸鱼个体对应最佳任务调度方法。鲸鱼优化算法从一组随机解开始。最初,它假设当前的任务调度方案是最佳的解决方案,并基于当前的解决方案执行搜索过程。重复这个过程,直到找到最佳的解决方案。本发明中多核任务调度的目标函数是鲸鱼个体中适应度函数的最小值,即最优鲸鱼个体,即将最小任务完成时间作为优化目标。改进鲸鱼优化算法就是依靠鲸鱼算法自身的良好性能,通过适应度函数比较获得最优的鲸鱼个体,从而获得最优的调度方案。因此,本发明中改进鲸鱼算法的适应度函数为:fitness=makespan。

具体实施时,步骤S34中按照a=2(1-n/M)更新收敛因子

此外,在本实施例中,根据不同的情况设置有不同的更新方式,具体来说:各个鲸鱼个体执行螺旋位置更新操作时按照:

更新鲸鱼个体的位置,其中:

各个鲸鱼个体进行包围捕食操作时按照:

更新鲸鱼个体的位置,中间变量

各个鲸鱼个体随机搜索猎物,随机更新位置时按照:

更新鲸鱼个体的位置,其中:

S4:根据步骤S3所得最优鲸鱼个体得到与之对应的最优任务调度方法。

此外,本实施例还提供一种基于改进鲸鱼优化算法的异构多核任务调度系统,系统中设置有多个异构处理器,所述多个异构处理器按照上述实施例中的基于改进鲸鱼优化算法的异构多核任务调度方法进行任务调度。

可以看出,本发明提供的一种基于改进鲸鱼优化算法的异构多核任务调度方法及系统,其通过改进的鲸鱼算法进行异构多核任务调度方法的选择,具体是建立了一个异构多核环境下经典的DAG任务调度模型,并采用改进的鲸鱼算法进行任务调度,使调度算法中的鲸鱼个体和任务调度中的调度方法一一对应,将鲸鱼个体的适应度函数的最大值作为多核任务调度的目标函数,依靠鲸鱼算法自身的良好性能,通过适应度函数比较获得最优的鲸鱼个体,即获得最优的调任务度方案,有效地避免在任务调度优化过程中陷入局部优化,提高了多核任务调度的效率,克服了异构多核任务调度中任务调度效率低、完成时间长的问题。

最后需要说明的是,上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

相关技术
  • 一种基于改进的麻雀搜索的异构多核处理器任务调度方法
  • 基于改进遗传算法的异构多核节能任务调度方法
技术分类

06120116175217