首页> 中国专利> 基于高速缓存着色的资源共享和隔离的混合关键实时系统

基于高速缓存着色的资源共享和隔离的混合关键实时系统

摘要

本发明公开了一种基于高速缓存着色的资源共享和隔离的混合关键实时系统,包括cache着色模块和EDF‑VD‑C调度模块;EDF‑VD‑C调度模块用于调用调度点检测函数获取当前进程的最差执行时间、截止时间和已运行时间,计算当前时间加上最差执行时间再减去已运行时间的差值,结合计算得到的差值与截止时间的大小判断结果以及当前进程的关键等级,对cache资源进行调度,使锁定的cache资源只能赋予给非最低关键等级的当前进程使用,并且将执行当前进程后的剩余时长调度给比当前进程低等级的其他进程使用。本发明能够重点保护关键进程,同时也能够最低限度的保证非关键服务。基于资源隔离的方案,提高了系统的可预测性。

著录项

  • 公开/公告号CN112799809A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN202110104237.4

  • 发明设计人 黄皓;王绪国;

    申请日2021-01-26

  • 分类号G06F9/48(20060101);G06F9/50(20060101);G06F9/54(20060101);G06T15/00(20110101);

  • 代理机构32252 南京钟山专利代理有限公司;

  • 代理人陈月菊

  • 地址 210093 江苏省南京市鼓楼区汉口路22号

  • 入库时间 2023-06-19 10:58:46

说明书

技术领域

本发明涉及实时系统进程调度技术领域,具体而言涉及一种基于高速缓存着色的资源共享和隔离的混合关键实时系统。

背景技术

目前很多安全攸关的行业,例如高铁车载系统、工业自动化设备、IOT安全类应用中,运行的系统通常都是实时系统,但是在该环境下,实时系统通常无法服务特定的场景,例如高铁系统,不仅仅需要提供轨交交通控制能力,同时还要提供报站服务等音影服务,这些进程与上述系统运行在统一个空间中,这大大增加了系统的复杂度,同时使其运行的系统不可预测,造成系统的不稳定,上述系统的不稳定,轻则资产损失,重则人员伤亡。

上述实时系统存在下列缺点

1、系统支持的能力有限,无法满足日益多样化的实时系统需求。

2、实时系统复杂度太高,可预测性太低,设计太困难。

3、实时系统各个服务之间隔离性太差,进程间互相强耦合,容易产生关联损失。

传统实时系统设备应用的场景对实时性、安全性要求都非常高,需要通过一些国际的实时和安全标准,才能投入使用,标准的通过流程非常苛刻,非常耗费人力物力。在这些设备中,目前没有很好的应对传统硬实时系统关键进程和非关键进程同时运行的解决方案,主要是传统的解决方案,会严重扰乱设备的实时性和自身安全性,如果这些特性受到干扰,则又需要重新去做标准认证,成本非常高,时间周期非常长。

目前针对上述实时系统设备的解决方案,大多数都是系统中只有实时进程,或者通过简单的优先级来伪划分实时进程和非实时进程,无法做到真正的混合关键系统那样,真正的实时进程和非实时进程之间协调的工作。

传统实时系统通过优先级或者只有所有进程都是实时进程的方案可以简单实现一个实时系统,但是系统的可预测性差,复杂度很高,已经落后这个时代的需求。

发明内容

本发明针对现有技术中的不足,提供一种基于高速缓存着色的资源共享和隔离的混合关键实时系统,重点保护关键进程,同时也能够最低限度的保证非关键服务。该系统基于资源隔离的方案,提高了系统的可预测性,这是实时系统最重要的特性,降低了系统的复杂度,简化设计。另外,资源隔离也为系统提供了多层次的保护。

为实现上述目的,本发明采用以下技术方案:

一种基于高速缓存着色的资源共享和隔离的混合关键实时系统,所述混合关键实时系统包括cache着色模块和EDF-VD-C调度模块;

所述cache着色模块用于在系统启动阶段,为每个way分配一个独特的颜色,通过锁定指定颜色的cache,使该cache只能释放给指定进程;

所述EDF-VD-C调度模块用于当时钟中断来临或者进程主动放弃CPU执行时进入调度点,调用调度点检测函数获取当前进程的最差执行时间、截止时间和已运行时间,计算当前时间加上最差执行时间再减去已运行时间的差值,结合计算得到的差值与截止时间的大小判断结果以及当前进程的关键等级,对cache资源进行调度,使锁定的cache资源只能赋予给非最低关键等级的当前进程使用,并且将执行当前进程后的剩余时长调度给比当前进程低等级的其他进程使用。

为优化上述技术方案,采取的具体措施还包括:

进一步地,所述进程的关键等级按关键度由高到低包括A、B和C三个等级。

进一步地,所述结合计算得到的差值与截止时间的大小判断结果以及当前进程的关键等级,对cache资源进行调度,使锁定的cache资源只能赋予给非最低关键等级的当前进程使用,并且将执行当前进程后的剩余时长调度给比当前进程低等级的其他进程使用的过程包括:

如果计算得到的差值大于截止时间,且进程不属于最低关键等级,进入紧急模式,调用cache着色模块以赋予该进程足以满足截止时间的cache资源;如果计算得到的差值小于截止时间,且进程不属于最低关键等级,调度当前进程到CPU执行,将完成进程后的剩余时间调度至下一级关键等级的进程使用,低一级的继承重复前述判断条件;如果进程属于最低关键等级,正常执行。

进一步地,所述混合关键实时系统还包括持续诊断模块;

所述持续诊断模块用于持续监控系统的健康状态,对每个进程的截止时间进行监控,当发现任意一个进程即将超出截止时间时,发送CPU间终端指令到指定CPU,使指定CPU调用EDF-VD-C调度模块,重新调度进程执行。

进一步地,所述持续诊断模块为随机选择的独立于其他CPU的辅助核心,只用于运行进程持续监控线程。

进一步地,所述混合关键实时系统还包括实时性检测模块;

所述实时性检测模块与持续诊断模块连接,接收持续诊断模块发送的监控数据,通过proc文件系统发送至用户态。

进一步地,所述混合关键实时系统还包括着色跟踪模块;

所述着色跟踪模块用于持续监控cache的着色状态。

本发明的有益效果是:

(1)重点保护关键进程,同时也能够最低限度的保证非关键服务。该系统基于资源隔离的方案,提高了系统的可预测性,这是实时系统最重要的特性,降低了系统的复杂度,简化设计。另外,资源隔离也为系统提供了多层次的保护。

(2)能够有效的指明进程使用的cache的行列,并且有效增加系统的可预测性。

(3)可以持续跟踪cache着色的使用情况,并且将情况反馈到调度系统,调度系统根据实时cache情况,做出调度判断。

(4)实时性检测模块可以检测混合关键系统的实时性,同时针对调度算法调度性做出检测。

附图说明

图1是本发明的基于高速缓存着色的资源共享和隔离的混合关键实时系统架构图。

图2是本发明的cache着色机制原理图。

图3是着色流程图。

图4是EDF-VD-C调度模块采用的EDF-VD-C调度算法示意图。

图5是CDM持续诊断示意图。

图6是实时性检测模块的工作原理图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。

需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

本发明提及一种基于高速缓存着色的资源共享和隔离的混合关键实时系统,所述混合关键实时系统包括cache着色模块和EDF-VD-C调度模块。

所述cache着色模块用于在系统启动阶段,为每个way分配一个独特的颜色,通过锁定指定颜色的cache,使该cache只能释放给指定进程。

所述EDF-VD-C调度模块用于当时钟中断来临或者进程主动放弃CPU执行时进入调度点,调用调度点检测函数获取当前进程的最差执行时间、截止时间和已运行时间,计算当前时间加上最差执行时间再减去已运行时间的差值,结合计算得到的差值与截止时间的大小判断结果以及当前进程的关键等级,对cache资源进行调度,使锁定的cache资源只能赋予给非最低关键等级的当前进程使用,并且将执行当前进程后的剩余时长调度给比当前进程低等级的其他进程使用。

图1是本发明的系统架构图。本发明是一个混合关键实时操作系统,该系统基于Linux内核改造,加入了cache隔离、EDF-VD-C调度算法,并且加入持续追踪模块,保证混合关键系统能够既有硬实时特性,又能够保持可预测性和较低的复杂度。

本发明由多个模块组成,包括cache着色模块,EDF-VD-C调度模块、着色跟踪和持续诊断模块,实时性检测模块。通过上述模块构建了一个可预测性强复杂度低的混合关键系统。

本发明通过硬件提供的cache隔离使用的机制,在操作系统中,设计一款着色算法、一款调度算法,一套调度检测算法、一套着色检测算法,通过该系列算法构建了一个混合关键系统,使实时系统的关键进程和飞关键进程能够非常和谐的协同工作,提高了系统功能的可预测性,同时降低了系统设计的复杂性。

该解决方案由以下几个部分组成:

(1)具有cache锁定能力的硬件系统,如ARM CoreTex-A9系列的产品IMX6。该平台架构提供了cache锁定机制,通过该机制,可以设定cache在多个进程之间共享和隔离使用。

(2)硬件cache着色机制实现模块,该操作系统模块是本专利的核心模块,该模块利用了cache锁定的机制,但是该算法并非硬件自己就可以完成,需要大量的实现工作。通过该模块我们构建了该混合关键系统的基础设施。

(3)调度算法模块。通用系统或者其他实时系统的调度算法不能满足本专利系统的使用场景,该调度算法不仅根据执行时间,同时也根据任务的关键等级,同时还有考虑任务的优先级,根据上述参数,给予高关键等级进程更多的cache使用,通过该使用量来保证指定进程在截止时间之前完成,给予低关键等级的进程更少的cache使用,来满足高关键进程的实时性要求。

上述(2),(3)模块的检测模块,保证上述模块的正常运作。

(4)实时性检测模块,用以评估混合关键系统的实时性能状况。

系统功能模块包括

一、cache着色模块

图2是本发明的cache着色机制原理图。cache着色机制在系统启动阶段,为每一个way分配一个独特的颜色,该颜色是一种区分机制,通过锁定指定颜色的cache,锁定后,其他人就无法使用该cache,当调度到该进程的时候,释放该cache,则当前进程就可以使用该cache了,通过这样的机制提高实时系统的确定性。

本模块被设计为内核原生模块,在系统启动的第一阶段被执行,当该模块被唤醒后,首先扫描硬件cache的架构,然后根据不同的策略,为cache分配颜色,本专利的策略是,为每个set内的way分配不同的颜色,set之间同way的颜色一致。分配完颜色后,启用API接口,设定函数指针的实体函数,设定完毕,结束初始化。到此cache着色机制完成。图3是着色流程图。通过cache着色机制,使指定进程获得更多的cache,降低WCET,增加系统的可预测性。

二、EDF-VD-C调度模块

图4是EDF-VD-C调度模块采用的EDF-VD-C调度算法示意图。该调度算法是连接cache着色和任务运行时间的关键点,该调度算法有两个创新点,第一点是调度的依据不仅仅是进程的执行时间和deadline之间的差值,同时考虑通过cache容量来降低进程的执行时间。第二点是对调度剩余时间的利用,该利用不是给到同等级的进程使用,而是给到低一级的进程使用,通过这种方式来提高混合关键系统非关键任务的响应时间和吞吐量。

实现方案:

当时钟中断来临或者进程主动放弃CPU执行,则进入调度点,该调度点检测函数首先获取该进程的最差执行时间,同时获取该周期性进程的Deadline时间和进程已经运行的时间,如果当前时间加上最差执行时间减去已经运行时间的差值大于Deadline,则进入紧急模式,在紧急模式下,调度算法会调用调用cache着色机制算法,赋予该进程更多的cache使用量,通过这种方式来降低WCET(最差执行时间),满足进程的Deadline。如果在调度函数中,发现当前进程按照当前进度是可以完成调度,则调度该进程到CPU执行。当该进程执行完毕,让出CPU的时候,如果距离本个时间片还有剩余时间,则调度低一级的进程执行,低一级的进程重复本次判断条件,但是C级任务不会赋予其更多的cache,因为该任务非关键任务,仅仅需要保证其能够执行完毕即可。

该调度算法是一种抢占式调度,每个调度周期和每个调度点,它会检测该进程的截止时间,同时还会检测该进程所属的关键等级,如果是A级任务,则锁定cache给该进程使用,保证该进程一定能够截止时间完成任务,如果是B级任务,那么会给予其尽量在截止时间完成任务的cache容量,如果是C级任务,则不修改cache的使用策略。

本调度方案结合了cache着色算法,保证混合关键系统中关键进程和非关键进程能够共存,构成一个真正的混合关键实时系统。

三、CDM算法(持续诊断模块)

图5是CDM持续诊断示意图。持续诊断是一个单独隔离出来的CPU运行的模块,主要是为了不对混合关键系统产生影响,而且CDM自身也不会受到其他系统的影响,当CDM发现进程会超出deadline后,会发送IPI(CPU间中断)到指定的CPU,那么指定CPU则进入调度函数,重新调度进程执行,通过这种方式,能够保证每个等级的进程一定能够按时完成。

实现方案:

当操作系统接管了整个系统后,首先启动主核心,接下来会随机选择一个辅助核心,该辅助核心不运行其他进程,只运行一个CDM线程,持续监控系统的健康状态,通过完全隔离的监控模块,既不影响原系统,同时也能够在检测到不稳定后,发送高效的IPI到指定CPU,使系统能够再次稳定执行。

该模块被安排在一个独立的CPU中执行,不被干扰同时也不会干扰其他CPU的进程,牺牲了一个CPU,同时解决系统的不确定性。

4、实时性检测模块

图6是实时性检测模块的工作原理图。从图6可以看出,实时性检测模块是依赖CDM来完成,只是改CDM会将数据通过proc文件系统送到用户态,用户态采集这些数据,分析系统的实时性。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号