掌桥专利:专业的专利平台
掌桥专利
首页

一种混合关键系统的自适应动态调度方法

文献发布时间:2024-04-18 19:54:45


一种混合关键系统的自适应动态调度方法

技术领域

本发明涉及任务调度技术领域,特别是涉及一种异构分布式平台混合关键系统的自适应动态调度方法。

背景技术

出于对空间、重量、功耗以及成本等方面的考虑,汽车电子电气架构从分布式电子电气架构向集中式电子电气架构转变成了当下趋势,使得原本单独部署在不同的处理单元上的功能将会运行在一个由有限个处理单元构成的统一平台上,且这些功能的关键级并不相同,这就衍生出了异构分布式平台混合关键系统。关键级表示功能的安全关键程度,揭示了功能未能及时执行后果的严重性,关键级越高的功能未能及时执行造成的后果越严重,比如自动驾驶汽车控制系统会同时运行高关键级的环境感知功能以及低关键级的通信功能,可以接受一定程度的网络丢包,但无法接受环境感知功能错过其截止时间,故需要对异构分布式平台混合关键系统上的多个功能进行合理调度。

且随着自动驾驶技术与车机技术的发展,汽车电子系统与外界驾驶环境以及驾驶员的交互越来越频繁,功能变的越来越复杂,规模与日俱增。同时这些功能有相当一部分是在特定场合才是需要的,比如自动驾驶相关的功能在有人驾驶模式下是不必要的,再如驾驶员与车机系统的语音交互功能也是在驾驶员主动进行语音交互的时候才需要,如果这些在特定场景才需要的功能还是按照传统方式无条件的周期性执行,势必带来不必要的能源消耗以及硬件资源浪费,目前更趋向于根据实际的使用场景动态的释放和删除正在运行的功能,并根据功能的硬件需求以及系统当前可用资源进行动态调度。但是传统的实时调度算法无法处理动态释放的不同关键级的功能调度问题,因此亟需建立高效的调度算法来实现对计算资源的最优分配。

发明内容

本发明的目的是提供一种混合关键系统的自适应动态调度方法,能够实现对计算资源的最优分配,既提高了系统资源利用率,又保障了车辆安全性。

为实现上述目的,本发明提供了如下方案:

一种混合关键系统的自适应动态调度方法,所述自适应动态调度方法包括:

获取待调度功能集;所述待调度功能集包括多个待调度功能,多个所述待调度功能按照功能的关键级和功能在正常模式下的调度松弛时间进行排序;每一所述待调度功能包括若干个计算任务;

根据混合关键系统的系统关键级选取所述待调度功能集的若干个所述待调度功能作为参与当前轮次调度的调度功能,并在每一所述调度功能对应的优先级序列中取出若干个计算任务组成系统就绪列表;

从所述系统就绪列表头部取出第一个计算任务作为调度任务,对所述调度任务进行调度,得到所述调度任务的调度结果,并将所述调度结果添加到系统调度列表中;所述调度结果包括执行所述调度任务的处理单元以及所述调度任务在所述处理单元上的开始时间和完成时间;

若所述调度任务所属功能处于正常模式,则判断所述调度任务是否错过所述调度任务在正常模式下的绝对截止时间下限,得到第一判断结果;若所述第一判断结果为是,则更新所述系统调度列表和所述系统就绪列表,更新所述调度任务所属功能处于降级模式,返回“从所述系统就绪列表头部取出第一个计算任务作为调度任务”的步骤;若所述第一判断结果为否,则跳转至轮次更新步骤;

若所述调度任务所属功能处于降级模式,则判断所述调度任务是否错过所述调度任务在降级模式下的绝对截止时间下限,得到第二判断结果;若所述第二判断结果为是,则更新所述调度任务所属功能的功能超出预算标志位为所述调度任务所属功能的关键级,判断所述系统关键级是否低于所述调度任务所属功能的关键级,得到第三判断结果;若所述第三判断结果为是,则更新所述系统调度列表、所述系统就绪列表和所述优先级序列,更新所述系统关键级为所述调度任务所属功能的关键级,跳转至轮次更新步骤;若所述第三判断结果为否或者所述第二判断结果为否,则判断所述系统就绪列表中属于所述调度任务所属功能的计算任务是否均已完成调度且所述调度任务所属功能的功能超出预算标志位是否不为1,得到第四判断结果;若所述第四判断结果为是,则更新所述调度任务所属功能的功能超出预算标志位为1,判断所述调度任务所属功能的关键级是否大于所有功能的功能超出预算标志位的最大值,得到第五判断结果;若所述第五判断结果为是,则更新所述系统就绪列表和所述优先级序列,更新所述系统关键级为所有功能的功能超出预算标志位的最大值,跳转至轮次更新步骤;若所述第五判断结果为否或者所述第四判断结果为否,则跳转至轮次更新步骤;

其中,所述轮次更新步骤为:判断所述系统就绪列表中的计算任务是否均已完成调度,若是,则对所述待调度功能集进行重新排序,返回“根据混合关键系统的系统关键级选取所述待调度功能集的若干个所述待调度功能作为参与当前轮次调度的调度功能”的步骤;若否,则返回“从所述系统就绪列表头部取出第一个计算任务作为调度任务”的步骤。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明用于提供一种混合关键系统的自适应动态调度方法,在获取待调度功能集后,根据混合关键系统的系统关键级和功能对应的优先级序列确定系统就绪列表,从系统就绪列表头部取出第一个计算任务作为调度任务,对调度任务进行调度,以确定系统调度列表,基于功能的关键级、所处模式、系统关键级、系统就绪列表、系统调度列表和优先级序列对待调度功能集中的各个功能的计算任务进行自适应动态调度,保证高关键级功能的实时性需求,同时利用有限的计算资源尽可能的实现对低关键级功能的高效调度,提高混合关键系统的性能,同时能够实现对计算资源的最优分配,既提高了系统资源利用率,又保障了车辆安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1所提供的自适应动态调度方法的方法流程图;

图2为本发明实施例1所提供的异构处理平台的整体架构图;

图3为本发明实施例1所提供的自动驾驶控制功能的示意图;

图4为本发明实施例1所提供的通过DAG表示的自动驾驶控制功能的节点示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种混合关键系统的自适应动态调度方法,能够实现对计算资源的最优分配,既提高了系统资源利用率,又保障了车辆安全性。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

本实施例用于提供一种混合关键系统的自适应动态调度方法,所述自适应动态调度方法包括:

步骤1:获取待调度功能集;所述待调度功能集包括多个待调度功能,多个所述待调度功能按照功能的关键级和功能在正常模式下的调度松弛时间进行排序;每一所述待调度功能包括若干个计算任务;

步骤2:根据混合关键系统的系统关键级选取所述待调度功能集的若干个所述待调度功能作为参与当前轮次调度的调度功能,并在每一所述调度功能对应的优先级序列中取出若干个计算任务组成系统就绪列表;

步骤3:从所述系统就绪列表头部取出第一个计算任务作为调度任务,对所述调度任务进行调度,得到所述调度任务的调度结果,并将所述调度结果添加到系统调度列表中;所述调度结果包括执行所述调度任务的处理单元以及所述调度任务在所述处理单元上的开始时间和完成时间;

步骤4:若所述调度任务所属功能处于正常模式,则判断所述调度任务是否错过所述调度任务在正常模式下的绝对截止时间下限,得到第一判断结果;若所述第一判断结果为是,则更新所述系统调度列表和所述系统就绪列表,更新所述调度任务所属功能处于降级模式,返回“从所述系统就绪列表头部取出第一个计算任务作为调度任务”的步骤;若所述第一判断结果为否,则跳转至轮次更新步骤;

若所述调度任务所属功能处于降级模式,则判断所述调度任务是否错过所述调度任务在降级模式下的绝对截止时间下限,得到第二判断结果;若所述第二判断结果为是,则更新所述调度任务所属功能的功能超出预算标志位为所述调度任务所属功能的关键级,判断所述系统关键级是否低于所述调度任务所属功能的关键级,得到第三判断结果;若所述第三判断结果为是,则更新所述系统调度列表、所述系统就绪列表和所述优先级序列,更新所述系统关键级为所述调度任务所属功能的关键级,跳转至轮次更新步骤;若所述第三判断结果为否或者所述第二判断结果为否,则判断所述系统就绪列表中属于所述调度任务所属功能的计算任务是否均已完成调度且所述调度任务所属功能的功能超出预算标志位是否不为1,得到第四判断结果;若所述第四判断结果为是,则更新所述调度任务所属功能的功能超出预算标志位为1,判断所述调度任务所属功能的关键级是否大于所有功能的功能超出预算标志位的最大值,得到第五判断结果;若所述第五判断结果为是,则更新所述系统就绪列表和所述优先级序列,更新所述系统关键级为所有功能的功能超出预算标志位的最大值,跳转至轮次更新步骤;若所述第五判断结果为否或者所述第四判断结果为否,则跳转至轮次更新步骤;

其中,所述轮次更新步骤为:判断所述系统就绪列表中的计算任务是否均已完成调度,若是,则对所述待调度功能集进行重新排序,返回“根据混合关键系统的系统关键级选取所述待调度功能集的若干个所述待调度功能作为参与当前轮次调度的调度功能”的步骤;若否,则返回“从所述系统就绪列表头部取出第一个计算任务作为调度任务”的步骤。

本实施例的混合关键系统是指汽车异构分布式平台混合关键系统,异构分布式平台混合关键系统是指将多个异构的处理单元分布式布置在同一个异构处理平台上,多个处理单元之间相互通信连接,互相配合用于执行具有不同关键级的多个功能中每一功能所包括的多个计算任务。异构的处理单元是指各个处理单元的执行任务和执行时间不同。

如图1所示,本实施例所提供的一种异构分布式平台混合关键系统的自适应动态调度方法包括:(一)混合关键系统抽象建模;(二)混合关键系统初始化;(三)混合关键系统功能预处理;(四)确定系统就绪列表;(五)任务调度;(六)截止时间检测;(七)系统现场恢复;(八)更新系统优先级;(九)中断服务程序。

在此,本实施例按照上述九个步骤对本实施例的自适应动态调度方法进行进一步的介绍:

(一)混合关键系统抽象建模:

(1.1)对异构分布式平台混合关键系统的异构处理平台进行抽象建模,得到处理单元集。

处理单元集为:

其中,P为处理单元集,其包括多个通信连接的处理单元,处理单元具体通过异构处理平台中的车载网络进行通信连接;P

如图2所示,其为异构分布式平台混合关键系统的异构处理平台的示意图,该异构处理平台采用集中式电子电气架构,图2中的Zonal ECU(区域控制器)1、Zonal ECU2、ZonalECU3、Zonal ECU4、HPC(高性能计算机)1、HPC2和HPC3即为图2所示的异构处理平台所包括的7个异构的处理单元,7个异构的处理单元通过车载网络相互通信,车载网络包括图2中的CANFD(也可为CAN)和ETH/TSH。特别指出,由于图2中通过车载网络与其他处理单元通信连接的Normal ECU(传统ECU)只能实现特定的功能,不参与整个系统级别的任务调度,故其不在本实施例的考虑范围之内,即不属于本实施例所述的处理单元。

(1.2)对异构分布式平台混合关键系统的异构处理平台需执行的功能进行抽象建模,即对运行在异构处理平台的功能进行抽象建模,得到功能集。

功能集为:

其中,F为功能集,其包括具有不同关键级的多个功能;F

(1.3)对单个功能进行抽象建模。

对于单个功能,如图3和图4所示,图3为自动驾驶控制这一单个功能的示意图,可见单个功能包括多个计算任务,某些计算任务之间存在数据传输过程(比如对摄像头的数据采集这一计算任务的结果需要传输至传感器融合这一计算任务),本实施例定义存在数据传输过程的两个计算任务之间存在数据依赖关系,且定义没有数据输入的计算任务为入口任务,没有数据输出的计算任务为出口任务,一个功能可能存在多个入口任务以及多个出口任务,具体的,若存在由计算任务A指向计算任务B的有向边,则代表计算任务A为计算任务B的前驱任务,计算任务B为计算任务A的后继任务,没有前驱任务的计算任务为入口任务,没有后继任务的计算任务为出口任务。将图3所示的单个功能抽象为DAG(有向无环图),即可得到图4,图4为将图3所示的单个功能的每个计算任务均抽象为一个节点(比如对摄像头的数据采集这一计算任务被抽象为节点n1),将计算任务之间的数据依赖关系抽象为有向边所得到的单个功能的节点示意图,其中节点代表计算任务,有向边代表计算任务之间的数据依赖关系。

第m个功能F

其中,

本实施例所提出的混合关键系统抽象建模无需车辆详细的电子电气架构,对车载计算单元的具体形式与布置方案没有要求,功能抽象建模综合考虑了混合关键系统的异构性、并行性以及功能的关键级。

(二)混合关键系统初始化:

(2.1)系统关键级SYS.Criticality初始化为1,本实施例的混合关键系统可共有[1,2,3,4]四个关键级,在混合关键系统的运行过程中动态调整系统关键级。

(2.2)待调度功能集初始化,此时的待调度功能集包括系统上电初始化时就释放的功能,其根据汽车的实际情况而定。

(2.3)功能超出预算标志F_OverRun初始化为1

(2.4)功能模式标志F_Mode初始化为0

(三)混合关键系统功能预处理:

(3.1)计算功能F

;(1)

式(1)中,

(3.2)计算功能F

根据计算得到的等级对功能F

(3.3)根据HEFT算法计算功能F

按照功能F

功能F

; (2)

式(2)中,

; (3)

式(3)中,

如果

; (4)

式(4)中,

若满足,则

;(5)

如果

;(6)

式(6)中,

若满足,则

;(7)

功能F

; (8)

式(8)中,

(3.4)计算功能F

功能F

; (9)

式(9)中,

功能F

; (10)

式(10)中,

(3.5)计算功能F

; (11)

式(11)中,

(3.6)计算功能F

功能的绝对截止时间下限的计算方法包括:计算功能的释放时间和功能的相对截止时间的和,得到功能的绝对截止时间下限,其计算公式如下:

; (12)

式(12)中,

; (13)

式(13)中,

利用上述(3.3)-(3.6),本实施例即可确定功能F

基于上述(二)和(三),本实施例即可完成步骤1,具体的,获取待调度功能集可以包括:将初始释放的功能作为待调度功能,初始释放的功能是指混合关键系统上电初始化时便释放的功能;按照功能的关键级对待调度功能进行降序排列,并按照功能在正常模式下的调度松弛时间对关键级相同的待调度功能进行升序排列,得到待调度功能集。其中,待调度功能在正常模式下的调度松弛时间可以利用(3.3)-(3.5)计算得到,即调度松弛时间的计算方法包括:计算功能的每一出口任务的实际完成时间,选取实际完成时间的最大值作为功能的下边界,根据功能的下边界计算功能的调度松弛时间,其中,实际完成时间为出口任务在每一处理单元上的最早完成时间的最小值。需要说明的是,本实施例可以重复(三)完成对待调度功能集中所有待调度功能的预处理。

本实施例所提出的(三)中基于HEFT算法获取功能的调度松弛时间及其计算任务的绝对截止时间下限,配合(六)中的截止时间检测机制,能显著降低功能的截止时间错失几率。

(四)确定系统就绪列表SYS_ReadyList:

本实施例基于混合关键系统当前的系统关键级、功能的固有参数及其执行情况自适应的确定系统就绪列表,先按照待调度功能集中待调度功能的顺序依次确定每个待调度功能进入当前轮次调度的计算任务的数量。

(4.1)如果功能F

(4.2)计算功能F

; (14)

式(14)中,

(4.3)从功能F

需要说明的是,本实施例所指的取出是将其从原先的地方拿出,原先的地方不再包括该内容,比如从功能F

(4.4)如果完成对待调度功能集中所有功能的处理,则继续执行,即执行(五);否则跳转到(4.1)开始执行。

基于(四),本实施例可完成步骤2。具体的,根据混合关键系统的系统关键级选取待调度功能集的若干个待调度功能作为参与当前轮次调度的调度功能,并在每一调度功能对应的优先级序列中取出若干个计算任务组成系统就绪列表可以包括:对于待调度功能集的每一待调度功能,判断待调度功能的关键级是否低于混合关键系统的系统关键级,若否,则选取该待调度功能作为参与当前轮次调度的调度功能;对于每一调度功能,根据系统关键级和调度功能的关键级确定该调度功能中参与当前轮次调度的计算任务的数量,并从调度功能对应的优先级序列中取出前N个计算任务,其中,N为调度功能中参与当前轮次调度的计算任务的数量;按照调度功能在待调度功能集中的顺序对调度功能进行排序,并按照计算任务在调度功能对应的优先级序列中的顺序对每一调度功能所取出的计算任务进行排序,得到系统就绪列表。其中,优先级序列的确定方法包括:计算功能的每一个计算任务的等级,按照等级对功能的所有计算任务进行降序排列,得到功能对应的优先级序列,具体可按照(3.1)-(3.2)确定该优先级序列。

本实施例的(四)提出的每一轮次系统就绪列表的确定方式,积极主动的考虑了功能的关键级、系统关键级以及功能的执行情况,差异化的为不同功能提供计算资源,保障了不同功能的实时性需求。

(五)任务调度:

(5.1)从系统就绪列表的头部取出一个计算任务,假设取出的计算任务为F

(5.2)计算F

利用式(2)-式(7)计算该最早开始时间,特别指出,此时功能F

(5.3)计算F

利用式(8)计算该最早完成时间。

(5.4)将F

基于(五),本实施例即可完成步骤3,具体的,对调度任务进行调度,得到调度任务的调度结果可以包括:计算调度任务在每一处理单元上的最早开始时间和最早完成时间,将调度任务分配至最早完成时间最小的处理单元,以调度任务在其所分配的处理单元上的最早开始时间作为调度任务在处理单元上的开始时间,以调度任务在其所分配的处理单元上的最早完成时间作为调度任务在处理单元上的完成时间,得到调度任务的调度结果。

(六)截止时间检测:

(6.1)如果F

(6.2)如果F

(6.3)取消系统调度列表SYS_ScheduleList中当前轮次调度的属于功能F

(6.4)将全部取消的计算任务Cancel_task_set按原先的顺序放回系统就绪列表SYS_ReadyList。

(6.5)将F_Mode(Fm)设为1,跳转到(五)开始执行。

(6.6)如果F

(6.7)将功能F

(6.8)如果系统关键级SYS.Criticality小于功能F

(6.9)取消系统调度列表SYS_ScheduleList中当前轮次调度和上一轮次调度的尚未执行的计算任务,将其暂存于Cancel_task_set。

(6.10)取消系统就绪列表SYS_ReadyList中未调度的计算任务,将其暂存于Cancel_task_set。

(6.11)将全部取消的计算任务Cancel_task_set按原先的顺序放回其原来对应的优先级序列

(6.12)将系统关键级SYS.Criticality设为功能F

本实施例的(六)提出的功能降级模式通过较少的计算资源提供可接受的计算结果,可以显著降低该功能错过截止时间的几率。相较于计算精读,安全性更加重要,在实际应用中安全性也是第一位的。

(七)系统现场恢复:

(7.1)如果功能F

(7.2)将功能F

(7.3)如果功能F

(7.4)取消系统就绪列表SYS_ReadyList中未调度的计算任务,将其暂存于Cancel_task_set。

(7.5)将全部取消的计算任务Cancel_task_set按原先的顺序放回其原来对应的优先级序列

(7.6)将系统关键级SYS.Criticality设为功能超出预算标志的最大值max(F_OverRun),跳转到(八)开始执行。

本实施例的(六)提出的系统关键级升级机制与(七)中系统现场恢复机制充分考虑了系统关键级、触发升级降级切换功能的关键级以及整个系统功能的执行情况,自适应的调整系统关键级,尽可能的保障高关键级功能的实时性需求,同时又避免大规模的重复调度工作,降低了算法的时间复杂性。

(八)更新系统优先级:

(8.1)如果系统就绪列表SYS_ReadyList中所有计算任务均已完成调度,继续执行;否则跳转到(五)开始执行。

(8.2)轮流计算待调度功能集中每个功能的实际调度松弛时间,假定待调度功能集中功能F

;(15)

式(15)中,

;(16)

式(16)中,

特别指出,

(8.3)对待调度功能集中的功能根据功能的关键级降序排列,关键级相同的功能根据其实际调度松弛时间升序排列,得到新的待调度功能集,跳转到(四)开始执行。

基于(六)-(八),本实施例即可完成步骤4。具体的,步骤4中,调度任务在正常模式下的绝对截止时间下限的计算方法包括:计算调度任务所属功能的释放时间、调度任务在正常模式下的下边界和调度任务所属功能在正常模式下的调度松弛时间的和,得到调度任务在正常模式下的绝对截止时间下限。调度任务在降级模式下的绝对截止时间下限的计算方法包括:计算调度任务所属功能的释放时间、调度任务在降级模式下的下边界和调度任务所属功能在降级模式下的调度松弛时间的和,得到调度任务在降级模式下的绝对截止时间下限。更新系统调度列表和系统就绪列表可以包括:取出系统调度列表中当前轮次调度的属于调度任务所属功能的计算任务,得到新的系统调度列表;将取出的所有计算任务添加到系统就绪列表中,得到新的系统就绪列表。更新系统调度列表、系统就绪列表和优先级序列可以包括:取出系统调度列表中当前轮次调度和上一轮次调度的未执行的计算任务,得到新的系统调度列表;取出系统就绪列表中未调度的计算任务,得到新的系统就绪列表;将取出的所有计算任务添加到优先级序列中,得到新的优先级序列。更新系统就绪列表和优先级序列可以包括:取出系统就绪列表中未调度的计算任务,得到新的系统就绪列表;将取出的所有计算任务添加到优先级序列中,得到新的优先级序列。对待调度功能集进行重新排序可以包括:计算待调度功能集的每一待调度功能的实际调度松弛时间;按照功能的关键级对待调度功能进行降序排列,并按照实际调度松弛时间对关键级相同的待调度功能进行升序排列;其中,实际调度松弛时间的计算方法为:若待调度功能在当前时刻处于正常模式,则计算检测任务在正常模式下的绝对截止时间下限与检测任务的实际完成时间的差值,得到待调度功能的实际调度松弛时间;若待调度功能在当前时刻处于降级模式,则计算检测任务在降级模式下的绝对截止时间下限与检测任务的实际完成时间的差值,得到待调度功能的实际调度松弛时间;检测任务为待调度功能在当前时刻对应的最后一个完成调度的计算任务。

本实施例的(八)提出的完成每个轮次调度后对不同功能优先级顺序进行更新,能显著降低高关键级功能以及系统整体截止时间错失率,同时也提高系统时间效率。

本实施例的混合关键系统在运行过程中,根据驾驶员的实际操作可能会产生新释放的功能,此时需要将新释放的功能添加到待调度功能集,再次进行调度,故本实施例的自适应动态调度方法还包括:

(九)中断服务程序,用于处理新释放的功能FNew:

(9.1)取消系统就绪列表SYS_ReadyList中关键级低于FNew的计算任务,将其暂存于Cancel_task_set。

(9.2)取消系统就绪列表SYS_ReadyList中关键级与FNew相同且其所属功能未错过其绝对截止时间下限的计算任务,将其暂存于Cancel_task_set。

(9.3)取消系统调度列表SYS_ScheduleList中未执行的关键级低于FNew的计算任务,将其暂存于Cancel_task_set。

(9.4)取消系统调度列表SYS_ScheduleList中未执行的关键级与FNew相同且其所属功能未错过其绝对截止时间下限的计算任务,将其暂存于Cancel_task_set。

(9.5)将全部取消的计算任务Cancel_task_set按原先的顺序放回其原来对应的优先级序列

(9.6)因取消部分功能放回优先级序列,功能的实际调度松弛时间发生改变,故更新所有功能的调度松弛时间。

利用式(15)和式(16)计算功能的实际调度松弛时间。

(9.7)将FNew加入待调度功能集,按照(三)完成对功能FNew的预处理。

(9.8)对待调度功能集中的功能根据功能的关键级降序排列,关键级相同的功能根据实际调度松弛时间升序排列。特别指出,新功能的实际调度松弛时间即为新功能在正常模式下的调度松弛时间。

(9.9)返回主程序,跳转至(四)继续执行。

基于(九),若存在新释放的功能,则本实施例的自适应动态调度方法还包括:取出系统就绪列表中关键级低于新释放的功能的关键级的调度功能的计算任务以及关键级与新释放的功能的关键级相同且未错过功能的绝对截止时间下限的调度功能的计算任务,得到新的系统就绪列表;取出系统调度列表中关键级低于新释放的功能的关键级的调度功能的未执行的计算任务以及关键级与新释放的功能的关键级相同且未错过功能的绝对截止时间下限的调度功能的未执行的计算任务,得到新的系统调度列表;将取出的所有计算任务添加到优先级序列中,得到新的优先级序列;计算待调度功能集的每一待调度功能的实际调度松弛时间,以新释放的功能在正常模式下的调度松弛时间作为新释放的功能的实际调度松弛时间,将新释放的功能添加到待调度功能集,按照功能的关键级对待调度功能集中的多个待调度功能进行降序排列,并按照实际调度松弛时间对关键级相同的待调度功能进行升序排列,得到新的待调度功能集,返回“根据混合关键系统的系统关键级选取待调度功能集的若干个待调度功能作为参与当前轮次调度的调度功能”的步骤。

本实施例(九)提出的中断服务程序,随系统运行动态更新待调度功能集,能自适应的处理已调度的未执行的计算任务与随机动态释放的功能,兼顾调度策略的性能与时间效率。

本实施例所提供的一种混合关键系统的自适应动态调度方法,在调度过程中积极主动地考虑功能的关键级,融合功能的降级模式,采用系统中断服务处理随机动态释放的功能,结合高效的取消再调度机制,保证各个关键级功能的有序执行,提高车辆总体安全性以及计算资源的利用效率。针对混合关键系统,本实施例的自适应动态调度方法的优点是能够实现对车辆整个控制系统计算资源的最优分配,既提高了系统资源利用率,又保障了车辆安全性。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种适用于实时系统混合任务的自适应调度方法
  • 一种数据驱动的系统关键性能指标自适应调节方法
  • 一种针对异构存储系统的自适应数据动态调度方法和系统
  • 一种针对异构存储系统的自适应数据动态调度方法和系统
技术分类

06120116381152