论文部分内容阅读
以航空、汽车领域为代表的现代嵌入式实时系统,高安全标准的软件功能与其它非安全关键的软件功能共享一个嵌入式平台,以解决软件功能多样化、复杂化的需求与硬件平台受限SWa P(size weight and price)需求的冲突。此类系统的实时调度需同时满足两个目标:一是在相对保守的时间属性设定下,满足认证标准对涉及安全关键功能的验证要求;同时在较乐观的时间属性设定下,满足高效利用计算资源的设计要求。这类混合关键级系统的调度问题,无法使用传统的实时调度算法解决。混合关键级调度问题已成为嵌入式领域极富挑战的课题之一。本文基于混合关键级调度对安全关键与非安全关键任务的不同调度需求,以及高效利用资源的目标,分别研究了针对高、低关键级任务的不同调度策略。主要研究工作与成果如下:(1)基于事件触发系统关键级提升的实际情况,分析了高关键级任务的可调度性,得到了关键级提升期,高关键级任务可调度的充分条件。指出系统关键级提升的触发源于系统外部事件,基于响应时间分析技术,研究了关键级提升时刻对满足高关键级任务截止时限的影响;并据此,在关键级提升期,提出了一个有条件的优先级交换算法,可确保更多高关键级任务得到正确调度。仿真实验显示了可调度条件以及优先级交换算法的有效性。(2)提出了一种适合以截止时限为关键参数的混合关键级任务调度算法。定义了截止时限依赖于关键级的混合关键级任务模型,分析了关键级提升期低关键级任务对高关键级任务调度可能产生的干扰,以预先提升关键级的方式,牺牲有限的低关键任务,可始终满足高关键级任务随系统关键级动态变化的截止时限。仿真实验验证了预关键级提升算法适合以截止时限为关键参数的任务调度,且不受高关键级任务比率和截止时限变化程度的影响。(3)提出了一种适合同构多处理器平台上调度混合关键级任务的半局部调度算法。兼顾高关键任务利用率和低关键级任务可调度性,将全部高关键级任务和大部分低关键级任务固定在既定处理器上执行,仅有数量不超过处理器数目的低关键级任务成为迁移任务,能且仅能在相邻的两个处理器上发生迁移,并同步执行。以有限的迁移换取对处理器资源的高效利用,并总能满足高关键级任务的截止时限。仿真实验结果表明该半局部调度算法,相较于局部调度混合关键级任务的方法,将可调度任务比率提升了近10%。(4)提出了一种积极处理低关键任务的策略。对于符合标准认证的混合关键级系统,在关键级提升之后,回收多处理平台上执行中的空闲时段,以全局分配的方式匹配到被抛弃的低关键级任务,既不干扰局部调度的高关键级任务,又能让尽可能多的任务获得正确调度,以提升资源利用率。仿真实验与既有的TA、CD、CD-A算法比较,积极处理低关键级任务策略在系统可接受任务数目和抛弃任务比率上,均有明显优势。(5)提出了一种自适应回落系统关键级的闭环机制。基于实时任务在不同执行模式下实际执行时间的分布特性,监测高关键级任务的实际执行时间,预测高关键级任务利用率变化趋势与执行模式,可及时恢复调度此前关键级提升时被抛弃的低关键任务,且不影响高关键级任务的正确执行,实现安全降低系统关键级。仿真实验结果显示了自适应关键级回落算法优于至今被认为最优的BP方法。