摇 摇 文章编号: 1673鄄5196(2013)04鄄0110鄄04
基于桶排序的 EDF 调度算法优化
于国龙, 张明富
(毕节学院 数学与计算机科学学院, 贵州 毕节摇 551700)
摘要: EDF 调度算法在系统过载的情况下,就不能有效地实时调度系统中的所有任务,使任务的截止期错失率非
常高. 利用桶排序算法,将实时系统中任务按不同优先级等级分组排序,使得高优先级等级任务组中的任务优先被
调度执行;对于其他低优先级等级任务组中的任务,根据资源利用率动态调整它们的优先级等级,从而降低实时系
统的任务截止期错失率. 仿真实验表明,优化后的 EDF 调度算法的截止期错失率,明显比优化前低,说明基于桶排
序的 EDF 调度算法的实时任务截止期错失率比 EDF 调度算法低.
关键词: 嵌入式系统; 桶排序; 调度算法; 优先级; 错失率
中图分类号: TP316. 2摇 摇 文献标识码: A
Optimization of EDF scheduling algorithm based on bucket sort
YU Guo鄄long, ZHANG Ming鄄fu
(College of Mathematic and Computer Science, Bijie University, Bijie摇 551700, China)
Abstract:
EDF scheduling algorithm can not schedule all the tasks effectively in real鄄time system is when the sys鄄
tem is overloaded, so that the task deadline miss ratio is very high. Utilizing bucket sort algorithm to sort the tasks
in real鄄time system according to their different priority level, the high priority level task group will be scheduled and
executed. And the priority level of other low priority level task group will be adjusted dynamically according to the
resource utilization. By using such method, the task deadline miss ratio of real鄄time systems can be reduced. Simu鄄
lation experiments showed that the deadline miss ratio of the optimized EDF scheduling algorithm was significantly
lower than that of algorithm before optimization, illustrating that the real鄄time task deadline miss ratio of EDF
scheduling with bucket sort was lower than EDF scheduling.
Key words:
embedded system; bucket sort; scheduling algorithm; priority; miss ratio
摇 摇 随着电子技术的发展,嵌入式设备被广泛地应
用于国防、工业控制、交通等领域,这些嵌入式系统
通常都是实时系统,Donald Gillies 提出一个对实时
系统更为通俗的定义,即:一个实时系统是指计算的
正确性不仅取决于程序的逻辑正确性,也取决于结
果产生的时间,如果系统的时间约束条件得不到满
足,将会发生系统出错
[1鄄2]
,可见实时操作系统的首
要任务是调动一切可利用的资源来完成对任务的实
时控制.
实时系统的这种实时性在很大程度上取决于实
时任务的调度,如何使任务集内各任务满足各自的
时限,使系统得以正常、高效率工作的任务调度算法
摇 摇 收稿日期: 2013鄄04鄄12
摇 摇 作者简介: 于国龙(1981鄄),男,贵州毕节人,硕士,助教.
一直是实时系统领域内研究的重点. 常见的实时调
度算法有速率单调算法( rate monotonic,RM)、最早
时限优先调度算法( earliest deadline first,EDF)、最
小空闲 时 间 优 先 调 度 算 法 ( least laxity first, LLF)
等
[2]
. 其中 EDF 调度算法是动态优先级策略中的最
优算法.
最早时限优先调度算法(EDF)是一种采用动态
调度的优先级调度算法,任务的优先级根据任务的
绝对时限来确定. 任务的绝对时限越近,任务的优先
级越高;任务的绝对时限越远,任务的优先级越低.
该算法的 CPU 资源利用率高,任务调度效率也较其
他算法高,且容易计算和推断;但它的系统开销大,
很难诊断出即将过载的可能性,也没有针对过载的
有效处理方法
[2鄄4]
. 文献[3] 研究应用 SLAD 算法和
BACK鄄SLASH 算法来降低 EDF 调度算法在过载情
况下的截止期错失率,但系统的复杂性较高.
第 39 卷 第 4 期
2013 年 8 月
兰摇 州摇 理摇 工摇 大摇 学摇 学摇 报
Journal of Lanzhou University of Technology
Vol. 39 No. 4
Aug. 2013