基于虚拟计算机的混合关键性系统调度算法研究
作者单位:电子科技大学
学位级别:硕士
导师姓名:白泰礼
授予年度:2020年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程]
主 题:混合关键性系统 半局部调度算法 QEMU EDF-VD
摘 要:随着嵌入式系统功能的日益复杂,以及计算机处理性能日益提升,嵌入式系统为了突破硬件尺寸、重量和功耗等各方面限制,将不同关键性等级的子系统集成于同一硬件平台。由于不同关键性等级的子系统对于整个系统而言的重要程度不同,从而造成了系统运行时鲁棒性无法保证的矛盾和静态认证中认证者与设计者对不同关键性等级任务最坏执行时间估计的矛盾。混合关键性系统调度算法的研究主要就是为了解决上述矛盾。目前,对多核平台上混合关键性系统调度算法的研究集中于全局调度算法与局部调度算法,但这两种方法均有一定的缺陷,并且在最终的算法验证阶段大部分采用算法仿真的方式,没有考虑真实操作系统调度过程中的额外开销。依据现有混合关键性系统调度算法研究理论,本文设计了一种基于EDF-VD(Earliest Deadline First with Virtual Deadline,EDF-VD)适用于同构多核平台上的混合关键性系统半局部调度算法,提出了固定任务和迁移任务的划分条件并加以论证,以弥补全局调度算法与局部调度算法的不足。使用算法仿真将设计出的半局部调度算法与同样基于EDF-VD的混合关键性系统全局调度算法和局部调度算法进行可调度率对比分析。考虑实际操作系统中的调度开销,通过在Linux实时内核中添加新的调度器类,从而在实际操作系统中实现设计出的半局部调度算法。进一步,基于QEMU搭建虚拟计算机,并在不同的虚拟硬件平台之上,加载实现了混合关键性系统半局部调度算法的Linux实时内核,完成对混合关键性系统调度算法在实际环境中的验证平台搭建。最后在验证平台上对混合关键性任务集进行调度,跟踪记录其在不同系统关键性等级下的任务属性与时间参数。在搭建完成的验证平台上进行可调度率测试,对设计出的半局部调度算法在不同虚拟硬件平台之间的可调度率差异进行对比,给出真实验证平台和算法仿真调度结果的对比结果,并统计本文混合关键性系统半局部调度算法的调度开销。算法仿真的实验结果表明,本文设计的混合关键性系统半局部调度算法相较于同样基于EDF-VD全局调度算法和局部调度算法有更高的算法可调度率。虚拟计算机验证平台上的实验结果表明,设计出的半局部调度算法在考虑了调度开销后,在不同的虚拟硬件平台上是可调度的,在真实操作系统环境中的实现是可行的。