一种嵌入式虚拟机的实时调度系统技术方案

技术编号:7487442 阅读:218 留言:0更新日期:2012-07-09 22:07
本发明专利技术公开了嵌入式虚拟机的实时调度系统,包括位于各VM内的时间同步和预约模块、任务信息更新调度触发模块、任务资源监控调度触发模块、操作系统内部调度模块,负责在各个VM中收集信息并且实时触发VMM信息更新和调度进行;以及位于VMM内的计时器模块1S、任务信息收集模块、资源回收模块和任务调度模块,负责对各个VM的任务信息进行统计管理,并最终通过任务调度模块做出VMM层调度最终决策,并且监督各个VM操作系统内部的实时调度过程。该发明专利技术为开放实时系统提供低成本,高利用率的同时,保证了系统高实时性,并且利用可拆卸的服务器模块实现了可扩展性优化,充分利用虚拟化的安全和隔离特性,为整个实时系统带来了高可靠性,高吞吐率。

【技术实现步骤摘要】

本专利技术属于嵌入式虚拟化系统结构领域,具体涉及一种基于Xen ARM(Xen是剑桥大学的一个开源虚拟机项目,XenARM是其移植到ARM架构上的开源版本)的嵌入式虚拟机的实时调度系统,该系统不仅能够满足嵌入式虚拟化系统的丰富应用需求,而且还具有实时性特征。
技术介绍
当前嵌入式应用面临着新的需求,它在之前嵌入式系统满足基本实时性的基础上,还必须满足具有丰富的人机交互应用。传统的RTOS(实时操作系统)具有高实时、低延迟中断、高效进程通信的实时性特征,但是它缺少丰富的应用。而传统的GPOS(传统意义的通用操作系统、如Windows,Mac OS等)拥有丰富的UI、完整协议栈等应用接口,但是它缺少实时的调度。因此无论是传统的RTOS(实时操作系统,如RTLinux,Vxfforks等)还是传统的GPOS都无法独立满足最新的需求。当前嵌入式虚拟化技术中Xen ARM半虚拟化技术通过实现在一台嵌入式物理机器上同时运行多个虚拟机,分别运行不同类别的操作系统, 从而满足GPOS和RTOS整合的联合需求,部分解决了上述问题,并且一定程度上减少了嵌入式成本,提高资源利用率,简化嵌入式系统开发难度,让更加复杂的系统依赖于更少的硬件,但是其实时调度系统并不能满足实时系统的需求,经过实践调研发现,当前主要还存在以下几个问题1.VM计时器不同步由于Xen ARM定时器机制与调度系统未能很好的关联,导致原定时器机制无法保证当前未运行的VM(虚拟机)定时器立即激活并同步,因此在调度运行中可能会错过一些时间驱动的实时性任务。2.最坏执行时间需要在虚拟化的条件下修正调整。最坏执行时间分析与可调度性分析构成了实时系统调度可信的基础。最坏执行时间分析计算任务执行时间的上界,这些任务的上界用来分配正确的CPU时间给实时任务。 最坏执行时间是可调度分析工具的输入,可调度分析决定了一组任务在一个给定的目标系统下是否可调度。在非虚拟化情况下,原本采用对源程序、中间码的路径分析,对机器码的时间分析方法,但是,由于虚拟化情况下,其他VM调度的干扰以及虚拟资源的性能的影响 (如IO等),最坏执行时间必须进行修正才能做正确的可调度性分析。3. VMM无法感知VM中的任务信息在没有VMM(虚拟机管理器)的实时操作系统中,操作系统内部调度能够很清楚的知道系统中的任务情况,并根据这些实时任务的信息作出实时调度;但是嵌入式虚拟化情况下,VMM的出现,在利用硬件抽象性能隔离提高资源利用率的同时,也产生了新的问题, VMM无法感知到各VM中的任务的相关信息,由于信息的缺失VMM调度模块无法根据VM中的任务信息做出全局的正确调度。而此问题上原有的task-aware (任务感知)技术,由于嵌入式系统中MMU(内存管理单元)的是否使用无法确定,不具有普遍适用性,并且在实时系统中task-aware的准确度并不能满足精度要求,因此如何有效解决此问题是解决嵌入式虚拟化实时调度的基础。4.如何及时回收预估过剩的资源在实时操作系统中,由于时间分配通常是按照问题3中预估的最坏执行时间进行的,所以当一个任务提前完成时,我们必须及时回收多余的时间片,供其他任务使用,在虚拟化环境下这种需求显得特别的重要,因为在其他的虚拟域中可能有同样优先级的任务正在等待中,尽早的释放CPU时间,将会为系统带来更好的实时性。因此如何在虚拟化环境下,及时回收过剩的资源,并且及时的分配给急需的其他VM任务使用。5.如何协调VMM和VM内部的层级调度,使实时性能最优.在虚拟化环境下,任务需要经过两层调度,才能获得CPU时间运行,首先任务所在的VM必须首先获得CPU时间,这里通常为VM分配了 N个VCPU (虚拟CPU),通过对VCPU的调度,到达调度VM的效果,在VM获得时间片运行后,VM系统内部的进程调度则会成为第二层调度负责对VM内部的任务进行调度。因此在解决上面4个问题之后,我们需要利用这些信息,构建一个层级调度的模型,充分利用VMM对全局信息的掌握以及VM对内部资源的调控,实现对整个虚拟机系统的高实时性。
技术实现思路
本专利技术针对嵌入式互联网对于实时性和应用丰富的新需求,结合服务器虚拟化技术,针对当前实时性能不能满足需要的缺陷,提出一种嵌入式虚拟机的实时调度系统,该系统使上层VMM中的虚拟机调度器能够感知各VM中的实时任务,通过响应比优先与EDF算法的结合实现全局任务调度,一定程度上满足时间驱动任务和事件驱动任务的实时性要求。本专利技术提供的一种嵌入式虚拟机的实时调度系统,其特征在于,该系统包括位于各VM内的时间同步和预约模块、任务信息更新调度触发模块、任务资源监控调度触发模块、操作系统内部调度模块,它们负责在各个VM中收集信息并且实时触发VMM进行信息更新和调度;此外还包括位于VMM内的计时器模块、任务信息收集模块、资源回收模块和任务调度模块,它们分别对于各个VM中的4个客户端模块,对各个VM的任务信息进行统计管理,并最终通过任务调度模块做出VMM调度最终决策,并且监督各个VM操作系统内部的实时调度过程。本专利技术采用计时器同步与预约模块对处理实时系统中时间驱动任务,利用任务信息收集模块对实时收集VM中的任务信息,利用资源回收模块对来回收估计过剩的WCET时间提高CPU时间利用率,最后结合操作系统内部调度以及基于全局任务信息实现的响应比优先与EDF算法结合的VMM层调度建立一种满足实时性要求的嵌入式虚拟机实时调度系统,它解决了
技术介绍
中提到的5个关键问题。上述基于Xen-ARM的嵌入式虚拟化实时调度系统具有以下效果及优点(1)低成本,高利用率由于嵌入式虚拟化实时调度系统的实时性保障,原来需要多个独立设备才能运行的嵌入式系统,但是每一个设备的计算能力并没有充分的利用完,存在极大的资源浪费。现在可以通过虚拟化技术移植到同一台嵌入式设备上,在保证实时性能的同时,降低了设备上的开销,节约了成本,同时也达到了较高的资源利用率。(2)实时性高本专利技术一定程度上解决了上述嵌入式系统虚拟化中5个关键问题,其中对于计时器模块,任务信息收集模块的实现,解决了任务信息的正确性和实时性。此外资源回收模块在保证高实时性的同时,利用资源回收技术,充分缩短各个实时任务的等待时间,从而提高其实时响应速度,最后任务调度模块在全局任务信息的基础上保证了整个嵌入式虚拟化系统的实时性。(3)高安全,高隔离相比开放式实时系统环境下提出的双层调度模型,本调度系统借用虚拟化隔离性的优势,解决了之前在开放式实时环境下各种类应用处于同一执行环境相互影响的问题。 虚拟化技术的使用提供了高安全和高隔离的特点,使得开放式实时系统有了新的技术实现方式。(4)高吞吐率最早截止时间优先算法(EDF)已被证明是时间驱动情况下动态最优调度,处理机利用率最大可达100%。但是在VMM的全局任务信息中,除了时间驱动的情况,还存在普通的无确定DeadLine限制的任务,在EDF情况下,这些任务会由于没有明确截止时间而迟迟得不到响应。因此本系统基于全局任务信息的响应比优先和EDF算法结合实现,使得VMM 层能充分考虑各VM中任务优先级,进一步提高整个虚拟机系统的吞吐率。附图说明图1为基于XenARM的实时调度系统的结构示意图;图2为计时器模块示意图;图3为任务信息搜集模本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:金海谢夏曹杰曹文治柯西江王希斌岑文峰赵璐
申请(专利权)人:华中科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术