自适应嵌入式多核实时系统调度算法解析
1. 实时系统任务调度背景和传统算法
在实时系统中,所有任务都有一定的紧迫性,需要在特定的截止时间前完成。任务的正确性不仅取决于执行结果,还与是否能在截止时间内完成有关。实时任务可分为软实时任务和硬实时任务:
- 软实时任务 :允许错过截止时间。例如在嵌入式系统中,打电话时用户需立即按键建立连接,但可容忍轻微延迟。
- 硬实时任务 :不允许错过截止时间。如自动发动机控制单元,必须在截止时间前完成计算和处理,否则发动机将无法正常工作。
传统的实时系统调度算法主要有 EDF(最早截止时间优先调度)和 H - EDF(分层 EDF)算法:
- EDF 算法 :在单核心系统中是最优调度算法,属于动态优先级调度算法,任务优先级根据绝对截止时间的接近程度动态变化。若任务集总利用率不大于 1,该任务集可在单核心系统中由 EDF 算法成功调度,公式如下:
[
1 \leq \sum_{i = 1}^{m} \frac{C_i}{T_i} = U
]
其中,任务 (n_i) 的计算时间为 (C_i),周期为 (T_i)。不过,EDF 算法在多核平台上不一定能发挥良好作用,因为多核系统的最优调度是 NP - 难问题。
- H - EDF 算法 :是一种简单的分层调度架构,类似于 EDF 算法。在第一层,根据任务类别对任务进行分类;在第二层,根据任务优先级进行调度,以确保硬实时任务不受软实时任务影响,避免错过截止时间。但该算法常忽略软实时任务的需求,导致系统性能下
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



