- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于自适应算法实时系统调度问题探究
基于自适应算法实时系统调度问题探究【摘要】本文提出了在单处理器环境下,可抢占式任务进行周期性调度的一种算法。仿真实验结果表明,这种算法在系统没有超载情况下对于单处理器、可抢占式的环境是比较理想的。在系统超载情况下,最早截止期最先算法(earliest deadline first,EDF)不能很好地工作,而基于蚁群的调度算法(ant colony optimization,ACO),会付出更多的执行时间,这是这两种算法的局限性。采用本文提出的基于蚁群的改进调度算法在正常负载下,执行时间几乎与最早截止期最先算法一样;在超载情况下跟其他算法比较具有更高的效率。
【关键词】实时系统;调度算法;蚁群优化算法;自适应算法
1.引言
实时系统的正确性不仅在于计算的逻辑结果,还在于产生结果的时间。实时系统具有意义明确的固定时间限制。也就是说,系统必须在规定的时间内完成处理,否则就失败了。根据对截止时间的要求,把实时系统划分为硬实时系统和软实时系统。硬实时系统满足任务对截止时间的要求,否则可能出现难以预测的结果,而软实时系统若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。
当考虑软实时系统时,实时任务调度程序的目标是保证系统内的任务尽可能在截止时间内完成。
为了完成这个目标,很多研究者给出了实时任务的调度算法。主要采用可抢占式和多任务处理。
实时调度技术因调度程序调度时间的不同分为静态调度算法的和动态调度算法。
前者是指在执行前,调度程序已经决定了优先顺序,并且在任务执行中始终保持优先权不变。
后者在执行中,由调度程序届时根据情况临时决定将哪一个任务投入运行。动态调度既可以用动态的优先权或动态优先权。比较经典的静态实时调度算法有单调速率调度(RM,Rate Monolithic)和单调截止期限调度(DM Deadline Monolithic)。比较经典的动态实时调度算法有最早截止期优先(Earliest Deadline First,EDF)调度算法和最低松弛度优先(Least Laxity First,LLF)调度算法。EDF和LLF算法在可抢占式任务,单处理器且没有过载情况下是理想的,但系统过载时,其性能会急剧下降。
蚁群算法(ACO)是集群智能的一个分支。其特点为:一种自组织的算法;较强的鲁棒性;本质上的并行性;可扩展性等。很多学者实验也证明了基于蚁群的调度算法在系统过载情况下发挥出了很好的性能。但跟最早截止期算法相比,它会使用更多的执行时间。
2.自适应算法
系统和任务模型:我们把组成整个工作的每个单元称作一个任务,由系统作为一个或一组作业进行调度和执行,完成系统的特定功能。所有的任务假定为周期性的。系统已知任务到达时间、周期、需要执行时间和最后期限。任务没有优先级别限制,一旦到达系统就准备执行。假定系统没有资源竞争问题。我们还假定抢占和调度算法没有额外开销。
在软实时系统中,每个任务都得到一个实际的价值。系统的目的是尽可能多的获得这些价值。
如果一个任务执行成功了,那么这个系统就会获得它的价值。如果失败了,系统从这个任务中获得的价值就较少,这个任务就错过的截止时间,但不会导致系统的灾难性崩溃。这样的系统被称为坚强实时系统(Firm Real-Time System)。在这里,我们假定讨论的算法是这种坚强软实时系统。任务的价值就在于它所需执行时间。
算法描述:自适应算法由EDF算法和ACO调度算法的结合。
EDF算法:每个任务的优先级由它的截止期限确定。截止时间越早,其优先级越高,越早被执行。在系统是抢占式的、正常负载、单处理器情况下,这种算法是非常理想的。
基于ACO的调度算法:是一种计算模型,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。
觅食规则:在每只蚂蚁能感知的范围内寻找是否有食物,如果有就直接过去。否则看是否有信息素,并且比较在能感知的范围内哪一点的信息素最多,这样,它就朝信息素多的地方走,并且每只蚂蚁多会以小概率犯错误,从而并不是往信息素最多的点移动。蚂蚁找窝的规则和上面一样,只不过它对窝的信息素做出反应,而对食物信息素没反应。
移动规则:每只蚂蚁都朝向信息素最多的方向移,并且,当周围没有信息素指引的时候,蚂蚁会按照自己原来运动的方向惯性的运动下去,并且,在运动的方向有一个随机的小的扰动。为了防止蚂蚁原地转圈,它会记住最近刚走过了哪些点,如果发现要走的下一点已经在最近走过了,它就会尽量避开。
基于蚁群算法的调度算法基本过程如下:
{构造不同蚂蚁的觅食路径;
分析蚂蚁旅途的结果;
更新信息素的值;
找出每个任务的选择概率,选择任务执行。
}
在基于蚁群调度算法中,每个可调度的任务都被当作一个结点,所有的蚂蚁从不同
原创力文档


文档评论(0)