一种基于改进的麻雀搜索的异构多核处理器任务调度方法技术

技术编号:34886657 阅读:29 留言:0更新日期:2022-09-10 13:44
本发明专利技术提出了一种基于改进的麻雀搜索的异构多核处理器任务调度方法。该方法以出口节点任务调度时间最短作为目标,首先使用二元组整数编码方式实现麻雀个体搜索空间到离散空间的映射,使ISSATS算法可以用来解决异构环境下任务调度问题。然后引入Tent映射和t分布对麻雀搜索算法进行改进,两种改进策略结合使麻雀搜索算法的搜索能力更强,解的质量更优。本发明专利技术的调度性能优异,能精确快速的获得最优调度序列,使得调度时间完成时间更短,能有效解决异构多核处理器任务调度算法存在调度性能差、调度效率不太好等问题。调度效率不太好等问题。调度效率不太好等问题。

【技术实现步骤摘要】
一种基于改进的麻雀搜索的异构多核处理器任务调度方法


[0001]本专利技术涉及操作系统领域,是一种利用群智能算法应用在异构多核处理器的任务调度领域上,具体为一种基于改进麻雀搜索的异构多核处理器任务调度方法。

技术介绍

[0002]近年来,异构多核处理器的发展非常迅猛,它有提升系统性能、有效降低系统能耗、敏捷配置系统资源、增强应用程序的并行性等优势,在多核处理器领域是比较前言的一个研究方向。其组成主要是不同计算性能的处理器,其关键问题是如何分配好每个处理器之间的任务。不同于同构多处理器,异构多核处理器的任务调度问题更加复杂,采用同构的调度算法是行不通的,异构的调度算法需要同时满足两个条件:总的任务完成时间最短和任务优先级之间的约束,所以关于异构多核处理器的任务调度算法是当前研究的热点问题。
[0003]关于异构多核处理器的任务调度问题,国内外学者都对此进行大量的研究。本专利技术基于静态任务调度算法的,静态任务调度主要分为两个部分:任务分配、任务调度。静态调度算法可以进一步分为表调度、聚簇、任务复制等。如NDCP(Node Duplication in Critical Path)调度算法,该算法主要是通过任务复制技术和关键路径合并技术来实现优先级的排序。基于复制的调度算法为了优化任务调度,通过确定前驱顺序进行复制和利用冗余策略进行优化,有效减少任务的调度时间。由于任务调度问题属于NP完全问题,现有的调度算法调度效率都不太好,所以,现在的很多学者都将群智能算法应用到异构环境下的调度领域中,结果证明这些智能算法的调度效率要比一般的调度算法效果要好很多。有基于遗传算法的处理器任务调度,通过将GA用于确定次优方案优先级,与表调度算法比较,该算法性能更好。有将粒子群算法应用在异构多处理器任务调度中,该算法结合了禁忌算法与遗传算法和最经典的min

min算法对比,结果表明粒子群算法性能更好。
[0004]由此可见,群智能算法在异构多核处理器的任务调度领域的作用非常大,本专利技术提出基于改进的麻雀搜索的异构多核处理器任务调度算法,其中麻雀搜索算法是在2020年提出的一种新颖的群智能算法,和其他智能算法相比,该算法在鲁棒性、收敛速度、寻优能力等方面都要更优异。本专利技术方法为了防止出现局部收敛的情况,引入Tent混沌映射和t分布,总体提升了系统的执行性能,有效缩短调度完成时间。结果表明,本专利技术方法在异构多核处理器任务调度领域的性能更好。

技术实现思路

[0005]为了提高异构环境下任务调度的性能和调度效率,本专利技术提出一种基于异构环境下的改进的麻雀搜索任务调度方法。通过融合t分布和Tent混沌算子得到改进的麻雀搜索算法,然后通过设计有效的编码方式,使其适用于解决离散的任务调度问题。
[0006]为了验证方法的可行性,本专利技术的技术方案为:
[0007]步骤1:进行二元组整数编码,将算法位置信息映射在离散求解空间;
[0008]步骤2:初始化麻雀算法的参数:麻雀数量、发现者与跟随者的数量比例、预警值R等参数;
[0009]步骤3:引用tent混沌映射函数产生具有随机性、多样性、其均匀分布的麻雀初始位置(混沌序列);
[0010]步骤4:计算每只麻雀的适应度值,确定最优适应度值和最差适应度值的麻雀位置并按照适应度值的优劣进行排序;
[0011]步骤5:依次更新发现者、跟随者、警戒者位置;
[0012]步骤6:再计算每只麻雀的适应度值,对比麻雀的适应度平均值,若优于,则进行t分布变异,使其成为更优的个体并更新,若更差,则进行tent混沌映射进行扰动,使其个体成为优异的个体并更新;
[0013]步骤7:如果达到最大迭代次数,则输出最优的麻雀位置,即找到最优解,否则转到步骤5继续进行迭代。
附图说明
[0014]图1为本专利技术异构多核处理器任务调度模型图;
[0015]图2为本专利技术具有8个节点的任务DAG模型图;
[0016]图3为本专利技术基于改进的麻雀搜索的异构多核处理器任务调度流程图;
[0017]图4本专利技术中8个任务的调度结果图。
具体实施方式
[0018]下面将结合附图、表和具体实例对本专利技术作进一步详细描述。
[0019]步骤1:设置任务模型DAG;
[0020]任务调度模型由四元组D=(N,E,W,C),其中N={n1,n2,

,n
m
}表示节点集合,每一个节点代表一个任务,n
m
表示在DAG中的第m个节点也就是第m个任务,m代表的是DAG中的任务总数。E={

,e
i,j
,

}表示DAG中有向边的集合,e
i,j
就表示任务n
i
与任务n
j
之间的一条有向边,n
i
是n
j
的前驱任务,记为Pre(n
i
),n
j
是n
i
的后继任务,记为Suc(n
j
)。表示任务在处理器上的执行开销的集合,表示任务n
i
在处理器p
j
上的执行开销。C={

,c
i,j
,

}代表了任务之间的通信开销集合,c
i,j
表示任务n
i
与任务n
j
之间的通信开销,也就是边上的权值,如果n
i
与n
j
分配在同一个处理器上,则c
i,j
=0。
[0021]任务之间的要求:一个任务只能在一个处理器上运行,不能同时运行在几个处理器。一个任务必须等待它的前驱任务调度完成之后才能被调度。为了更加清晰描述任务模型DAG,如图2所示:
[0022]图2中可以分解成8个独立的子任务,其任务集N={n1,n2,n3,n4,n5,n6,n7,n8},总共有12条有向边,有向边的集合为:
[0023]E={(e
1,2
,3),(e
1,3
,2),(e
1,4
,4),(e
1,5
,2),(e
2,6
,5),(e
2,7
,3),(e
3,6
,7),(e
4,6
,3),(e
4,7
,7),(e
5,7
,8),(e
6,8
,5),(e
7,8
,3)}
[0024]其中说明n1无前驱节点,代表DAG的入口任务,说明n8无后继节点,代表DAG的出口任务。
[0025]相关的定义:
[0026]EST(Earliest Start Time)表示在处理器上,任务被调度的最早开始时间,如式(1):
[0027]EST(n
i...

【技术保护点】

【技术特征摘要】
1.一种基于改进的麻雀搜索的异构多核处理器任务调度方法,通过改进的麻雀搜索算法来处理器来提高任务调度的性能,其特征步骤为:步骤1:进行二元组整数编码,将ISSA位置信息映射在离散求解空间;步骤2:初始化麻雀算法的参数:麻雀数量、发现者与跟随者的数量比例、预警值R等参数;步骤3:引用tent混沌映射函数产生具有随机性、多样性、其均匀分布的麻雀初始位置(混沌序列);步骤4:计算每只麻雀的适应度值,确...

【专利技术属性】
技术研发人员:程小辉罗源敏康燕萍
申请(专利权)人:桂林理工大学
类型:发明
国别省市:

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

1