基于蚁群算法的多核系统实时任务调度的优化方法技术方案

技术编号:14504343 阅读:139 留言:0更新日期:2017-01-31 12:18
基于蚁群算法的多核系统实时任务调度的优化方法,其特征在于:该方法在两方面做出改进;一是在选择任务和为任务选择处理核的概率选择公式的设计上;二是信息素变量的更新;最初所有元素有相同的较小值;然后执行迭代的蚁群算法,本发明专利技术针对多核系统的实时性,考虑了任务的到达时间、就绪时间和截止期。再结合多核系统的复杂环境,研究的是异构多核系统,算法考虑了各内核不同的运行速率和内核间不同的通信带宽。实验结果表明,该算法与基本蚁群算法相比在收敛速度和计算最优解方面都有了改进。

【技术实现步骤摘要】

:本专利技术涉及多核系统实时任务调度的方法,具体是使用改进的蚁群算法实现多核系统的实时任务调度。
技术介绍
:如今人们对计算机处理性能的要求越来越高,如果像从前一样只靠提高单核处理器的时钟频率来提高计算机的运行速度,不但会产生过多热量,而且并不能带来相应的性能改善。就是说单纯的主频提升,已经无法明显提升系统整体性能。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。并且传统的单核处理器的处理能力己经无法满足某些具体的应用需求,例如,在处理具有严格时间限制的计算密集型实时应用时,单核处理器己经显得力不从心,人们把提高计算机处理性能的需求通过采用多核处理器来实现,多核处理器正是在这样的环境下应运而生。随着程序的时间复杂性的增加和硬件成本的减少,多核系统的利用已经越来越多。同时,实时系统领域的实时控制要求也在日益增加,因而提高系统的实时性能变得至关重要。
技术实现思路
:专利技术目的:本专利技术提供一种基于蚁群算法的多核系统实时任务调度的优化方法,其目的是解决以往所存在的问题。技术方案:一种基于蚁群算法的多核系统实时任务调度的优化方法,其特征在于:该方法在两方面做出改进;一是在选择任务和为任务选择处理核的概率选择公式的设计上;二是信息素变量的更新;最初所有元素有相同的较小值;然后执行迭代的蚁群算法:(1)生成蚁群;(2)设置初始化信息;(3)每只蚂蚁循环(直到完成调度任务)——根据信息素变量选择下一个就绪任务,为该任务选择处理器;(4)记录信息素变量;信息素变量的更新。在第一阶段,只是创建一个长度为n的列表;在第二阶段,每只蚂蚁从准备列表中选择一个任务,并为该任务选择一个处理核,直到完成任务调度;在每次迭代中,N只蚂蚁就会得到N组可行解;选择一组任务调度长度最短的解作为一次迭代的最优解;对于蚂蚁k,通过使用概率选择公式(1)(2)为任务i选择下一个任务j;pi,jk=τα(i,j)ηβ(i,j)Στα(i,j)ηβ(i,j)---(1)]]>η(i,j)=1DjlnMjlnei,j+1---(2)]]>公式的设计考虑几个因素:(1)Dj是任务j的截止期;优先选择较早截止的任务,尽量不让任务错过截止期,从而提高实时系统的调度成功率;(2)Mj是任务j的估计运算量;优先选择运算量较小的任务,其运行时间较短,从而尽量降低系统的任务调度长度;(3)ei,j是任务i和j之间的估计通信量;在为任务选择处理器时,根据概率选择公式(1)(3)进行选择;η(j,p)=sp(rj,p+1)(tp+1)---(3)]]>考虑几个因素:(1)sp是处理核p的处理速率;(2)rj,p是任务j的在处理核p上准备就绪的时间;(3)tp是处理核p的最早可用时间;然后生成一个随机数,选择与所生成的数相对应的作为下一个任务;显然,有较大信息素值的任务,有更大的机会被选择;选定的任务被添加到禁忌表中,从允许被选择的列表中删除,被选择任务的子任务,现在可以执行,增加到准备列表中;这些操作是重复的,直到完成所有任务的调度;在第三阶段中,根据k组可行解的情况,对路径上的信息素变量进行更新,调整策略如公式(4)(5)(6)所示τ(i,j)=(1-ρ)τ(i,j)+Δτ(i,j)(4)Δτ(i,j)=Σk=1NΔτ(i,j)---(5)]]>Δτ(i,j)=QLk---(6)]]>Lk表示第k只蚂蚁求得的任务调度长度,Q在基本蚁群算法中是常数,但通过实验发现,有时某条路径上的信息量在迭代次数还不多的情况下就已远远超过了其他路径上的信息量,会导致搜索停滞,为避免这种情况的发生,本专利技术对Q作出两点改变来解决;一是限定信息素变量的最大值和最小值,若超出这个设定范围,就取临近的边界值;二是根据迭代次数对Q值进行调整;最后阶段,选择所有迭代结束后得到的调度时间最短的解作为最优的解决方案;n是给定的任务图的任务数,处理器的个数为m;τ(i,j)是指有向边i,j上的信息素变量,η(i,j)是指任务i后会选择任务j的期望程度。优点及效果:本专利技术提供一种基于蚁群算法的多核系统实时任务调度的优化方法,实时任务调度和非实时任务调度最本质的区别在于,前者需要满足处理核与时间分配之间的关系。非实时系统中任务调度的主要目标是尽量缩短系统的平均响应时间,有效提高系统的资源利用率;而实时系统中任务调度的主要目标则是满足所有任务的时限要求,给予外部请求及时的响应。本专利技术大大提高了多核系统的调度效率,更好地解决多核系统实时任务调度问题。本专利技术针对基本蚁群算法求解最短路径过程中容易陷入局部最优的情况,对基本蚁群算法做出了改进。改进算法根据系统的实际情况,对概率选择公式做出调整,同时根据相应策略对信息素进行调整,有效地缩小了信息素之间的差距,有利于跳出局部最优状态。与基本蚁群算法相比在收敛速度和计算最优解方面都有了改进。为了提高多核系统的调度效率,针对蚁群算法的缺点,在两方面做出改进。一是在选择任务和为任务选择处理核的概率选择公式的设计上;二是信息素变量的更新。综上所述,本专利技术针对多核系统的实时性,考虑了任务的到达时间、就绪时间和截止期。再结合多核系统的复杂环境,研究的是异构多核系统,算法考虑了各内核不同的运行速率和内核间不同的通信带宽。实验结果表明,该算法与基本蚁群算法相比在收敛速度和计算最优解方面都有了改进。附图说明图1为程序的任务图;图2为改进蚁群算法的流程图。具体实施方式:下面对本专利技术做进一步说明:一种基于蚁群算法的多核系统实时任务调度的优化方法,该方法在两方面做出改进;一是在选择任务和为任务选择处理核的概率选择公式的设计上;二是信息素变量的更新;最初所有元素有相同的较小值;然后执行迭代的蚁群算法:(5)生成蚁群;(6)设置初始化信息;(7)每只蚂蚁循环(直到完成调度任务)——根据信息素变量选择下一个就绪任务,为该任务选择处理器;(8)记录信息素变量;信息素变量的更新。在第一阶段,只是创建一个长度为n的列表;在第二阶段,每只蚂蚁从准备列表中选择一个任务,并为该任务选择一个处理核,直到完成任务调度;在每次迭代中,N只蚂蚁就会得到N组可行解;选择一组任务调度长度最短的解作为一次迭代的最优解;对于蚂蚁k,通过使用概率选择公式(1)(2)为任务i选择下一个任务j;pi,jk=τα(i,j)ηβ(i,j)Στα(i,j)ηβ(i,j)---(1)]]>η(i,j)=1DjlnMjlnei,j+1---(2)]]>公式的设计考虑几个因素:(1)Dj是任务j的截止期;优先选择较早截止的任本文档来自技高网...

【技术保护点】
一种基于蚁群算法的多核系统实时任务调度的优化方法,其特征在于:该方法在两方面做出改进;一是在选择任务和为任务选择处理核的概率选择公式的设计上;二是信息素变量的更新;最初所有元素有相同的较小值;然后执行迭代的蚁群算法:(1)生成蚁群;(2)设置初始化信息;(3)每只蚂蚁循环(直到完成调度任务)——根据信息素变量选择下一个就绪任务,为该任务选择处理器;(4)记录信息素变量;信息素变量的更新。

【技术特征摘要】
1.一种基于蚁群算法的多核系统实时任务调度的优化方法,其特征在于:该
方法在两方面做出改进;一是在选择任务和为任务选择处理核的概率选择公式
的设计上;二是信息素变量的更新;最初所有元素有相同的较小值;然后执行
迭代的蚁群算法:
(1)生成蚁群;
(2)设置初始化信息;
(3)每只蚂蚁循环(直到完成调度任务)——根据信息素变量选择下一个
就绪任务,为该任务选择处理器;
(4)记录信息素变量;
信息素变量的更新。
2.根据权利要求1所述的基于蚁群算法的多核系统实时任务调度的优化方
法,其特征在于:在第一阶段,只是创建一个长度为n的列表;在第二阶段,每
只蚂蚁从准备列表中选择一个任务,并为该任务选择一个处理核,直到完成任
务调度;在每次迭代中,N只蚂蚁就会得到N组可行解;选择一组任务调度长度
最短的解作为一次迭代的最优解;对于蚂蚁k,通过使用概率选择公式(1)(2)
为任务i选择下一个任务j;
pi,jk=τα(i,j)ηβ(i,j)Στα(i,j)ηβ(i,j)---(1)]]>η(i,j)=1DjlnMjlnei,j+1---(2)]]>公式的设计考虑几个因素:(1)Dj是任务j的截止期;优先选择较早截止
的任务,尽量不让任务错过截止期,从而提高实时系统的调度成功率;(2)Mj是
任务j的估计运算量;优先选择运算量较小的任务,其运行时间较短,从而尽
量降低系统的任务调度长度;(3)ei,j是任务i和j之间的估计通信量;
在为任务选择处理器时,根据概率选择公式(1)(3)...

【专利技术属性】
技术研发人员:关沫佟彤
申请(专利权)人:沈阳工业大学
类型:发明
国别省市:辽宁;21

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

1