CN105677461A - 基于关键度的混合关键任务调度方法 - Google Patents
基于关键度的混合关键任务调度方法 Download PDFInfo
- Publication number
- CN105677461A CN105677461A CN201511022781.5A CN201511022781A CN105677461A CN 105677461 A CN105677461 A CN 105677461A CN 201511022781 A CN201511022781 A CN 201511022781A CN 105677461 A CN105677461 A CN 105677461A
- Authority
- CN
- China
- Prior art keywords
- task
- safety
- critical
- criticality
- crucial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于关键度的混合关键任务调度方法,该方法为:根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,再根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,最后依次对优先顺序中的安全关键任务进行调度。本发明使得当前混合关键任务的调度方法更加简便,减少了不必要的任务切换开销和关键级别反转的现象。
Description
技术领域
本发明属于嵌入式系统多核技术领域,具体涉及一种基于关键度的混合关键任务调度方法。
背景技术
在单处理器环境下的嵌入式实时系统中,如果关键任务不能可靠、及时地执行,将会导致严重的后果。目前,随着多核的出现,嵌入式实时系统设计者为了降低系统功耗、减少资源的浪费,将更多的安全关键任务集成在同一个平台上,这种系统称之为混合关键系统(Mixed-CriticalitySystem)。在该系统中的安全关键任务称之为混合关键任务(Mixed-CriticalityTasks)。这种集成方式造成了不同关键级别任务之间的干扰,容易引起关键任务执行失效。例如,汽车的一个ABS(Anti-lockBrakeSystem)刹车系统任务和一个导航系统任务在同一个多核平台上运行,如果后者不及时释放处理器,那么将会引起刹车失灵。这种系统在不同时刻,任务将处于不同的安全关键级别。要想让各项任务都能够根据自己的安全关键级别合理、顺利地得到执行,就必须对各安全关键级别下的所有任务进行统一的调度。因此,混合关键任务的调度(MixedCriticalitySchedulable,MCS)问题已经成为业界非常关注的焦点问题。如美国空军研究实验室(USAirForceResearchLaboratory)正在积极推出的“混合关键体系结构需求MCAR(Mixed-CriticalityArchitectureRequirements)”项目,并成立相关组织研究如何安全构建这些混合关键系统。这些组织包括空军研究实验室,国家科学基金委员会,国内安全组织以及国内航空空间宇航局等。目标是为了使安全关键的嵌入式系统的认证过程流程化、标准化。这带动了工业界、学院和标准化组织来寻找更多先进的和有效的认证方法。目前国内外对混合关键任务调度算法大致分为三大类:1)基于优先级的任务调度方法。该方法系统利用率不高,且并不能防止关键级别反转现象;2)基于资源任务划分的调度算法。该算法实现起来比较繁琐,且在满足任务时限不丢失的情况下,对核处理速度要求很高;3)基于slack-aware的调度算法,该算法要求对每一个任务的slack时间进行多次推算,计算过程很繁琐,时间复杂度高且zero-slack方法只能调度一小部分的任务集。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于关键度的混合关键任务调度方法。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供一种基于关键度的混合关键任务调度方法,该方法为:根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,再根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,最后依次对优先顺序中的安全关键任务进行调度。
上述方案中,所述根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,具体为:设有n个不同关键级别的安全关键任务,每个安全关键任务Ji都有四个参数分别为发布时间Ai、时限Di、关键级别Xi和不同关键级别下的最坏执行时间Ci(K);
首先,根据Xi的值确定K级别下的n个安全关键任务的相对关键度
其次,根据当前所处的关键级别k确定每个安全关键任务的关键额度
再次,根据所述安全关键任务的时限Di确定每个安全关键任务的时限紧急度
最后,根据确定相对关键度、关键额度、时限紧急度确定K个关键级别下的n个任务的关键度
上述方案中,所述根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,具体为:将安全关键任务按照发布时间Ai的顺序进行排序放入到任务队列中,从任务列表中依次选择Ai最小的任务放入到调度队列中,如果就绪队列为空,则直接放入该安全关键任务;如果就绪队列不空,则根据不同的关键级别,按照CDBP算法比较该安全关键任务与调度队列中其他任务的优先关系,按照优先次序放入到就绪队列中并将该任务从任务列表中删除,最后按照所述就绪队列中的次序按依次进行调度。
上述方案中,依次对优先顺序中的安全关键任务进行调度,具体为:
首先,比较两个安全关键任务的关键度大小,关键度大的任务优先级高;
其次,如果两个安全关键任务的关键度相同,比较两个安全关键任务的关键级别,关键级别高的任务优先级高;
最后,如果两个安全关键任务的关键级别一致,则比较两个安全关键任务的时限,时限小的优先级高。
与现有技术相比,本发明的有益效果:
本发明使得当前混合关键任务的调度方法更加简便,减少了不必要的任务切换开销和关键级别反转的现象。
附图说明
图1为本发明实施例提供一种基于关键度的混合关键任务调度方法的流程图;
图2为本发明实施例中CDBP算法优先级分配流程图;
图3为本发明实施例中混合关键任务和一般实时任务调度示意图;
图4为本发明实施例中低关键级别调度示意图;
图5为本发明实施例中高关键级别调度示意图;
图6为本发明实施例中基于CDBP的任务调度表。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明针对安全关键不同级别的任务提出一种基于关键度的(CriticalityDegreeBasedPriority,CDBP)混合关键任务调度方法,该方法全面考虑了任务的关键级别和紧急程度,且调度表的创建不会因为找不到最低优先级任务而终止。所述混合关键任务具有四个重要属性——发布时间、时限、关键级别和最坏执行时间。其中最坏执行时间是一个多维向量,向量值与任务的关键级别相关,各元素表示任务在各个级别下的最坏执行时间。如在K个关键级别的安全关键系统中,关键级别最低为1,最高为K,安全关键任务表示为Ji,则有:
Ji=(Xi,Ai,Di,Ci)
其中,Xi表示任务Ji的关键级别;Ai表示任务的发布时间;Di表示任务的时限;Ci表示任务的最坏执行时间,Ci是一个向量:
Ci=(Ci(1),Ci(2),...,Ci(K))
Ci(1)表示任务Ji在关键级别为1时的最坏执行时间,Ci(2)表示任务Ji在关键级别为2时的最坏执行时间,Ci(K)表示任务Ji在关键级别为K时的最坏执行时间。若K>Xi时,有Ci(K)=Ci(Xi)。
定义1相对关键度ρi——是指在具有n个任务的系统I中,任务Ji相对于其他任务的关键级别的重要程度。用来表示,其中xi和xj是各任务在系统某个统一时刻的关键级别。
定义2关键额度δi——是指在具有K个关键级别的系统I中,Ji当前所处级别在当前系统的关键级别k下所具有的关键份数。用来表示,其中xi是任务的当前关键级别。
定义3时限紧急度di——是指任务时限的先后对任务的紧急程度的影响,用来表示。在同等情况下,时限更早到来的任务应该具有更高的优先级。
定义4K关键级别下的关键度——是指在K关键级别下,任务Ji的一次执行相对于其他任务的一次执行在所处关键级别的重要程度以及利用率的一种度量。用来表示。
从关键度的定义可以看出,它充分体现了任务Ji的关键级别相对于其他任务的重要程度和它在系统处于某一关键级别时在整个系统中的关键程度,以及该任务的时限对紧急程度的影响。以它为基础来为系统处于某一关键级别时的各任务分配优先级,能充分体现出任务优先级的特点,在系统处于低关键级别时,也减少了不必要的任务切换,提高了系统利用率。
本发明实施例提供一种基于关键度的混合关键任务调度方法,该方法为:根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,再根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,最后依次对优先顺序中的安全关键任务进行调度。
所述根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,具体为:设有n个不同关键级别的安全关键任务,每个安全关键任务Ji都有四个参数分别为发布时间Ai、时限Di、关键级别Xi和不同关键级别下的最坏执行时间Ci(K);
首先,根据Xi的值确定K级别下的n个安全关键任务的相对关键度例如假设2级别关键系统中有4个任务,关键级别分别为1,2,1,2,在系统关键级别为1的情况下,则ρi分别在系统关键级别为2的情况下,则ρi分别为
其次,根据当前所处的关键级别k确定每个安全关键任务的关键额度例如假设系统中有两个任务J1和J2,其中X1=1,X2=2,则K=2。当系统关键级别k=1时,任务J1和J2的当前关键级别x1和x2也都是1,则δ1=δ2=1;当系统关键级别k=2时,x1=1和x2=2,则δ2=1;
再次,根据所述安全关键任务的时限Di确定每个安全关键任务的时限紧急度
最后,根据确定相对关键度、关键额度、时限紧急度确定K个关键级别下的n个任务的关键度
所述根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,具体为:将安全关键任务按照Ai的顺序进行排序放入到任务队列中,从任务列表中依次选择Ai最小的任务放入到调度队列中,如果就绪队列为空,则直接放入该安全关键任务;如果就绪队列不空,则根据不同的关键级别,按照CDBP算法比较该安全关键任务与调度队列中其他任务的优先关系,按照优先次序放入到就绪队列中并将该任务从任务列表中删除,最后按照所述就绪队列中的次序按依次进行调度,如图1所示。
如图2所示,所述依次对优先顺序中的安全关键任务进行调度,具体为:
首先,比较两个安全关键任务的关键度大小,关键度大的任务优先级高;
其次,如果两个安全关键任务的关键度相同,比较两个安全关键任务的关键级别,关键级别高的任务优先级高;
最后,如果两个安全关键任务的关键级别一致,则比较两个安全关键任务的时限,时限小的优先级高。
实施例:
任务集包括了3个一般任务的ET任务和4个时间触发的混合安全关键TT任务,调度结果如图3所示,其中TT任务ttTask2和ttTask4是高安全关键级别任务,ttTask1和ttTask3是低关键级别任务。图4和图5显示了往ttTask2添加额外负载前后的运行情况对比,从图中可看出,开始的时候,ttTask2能够在低关键级别下的1个单位的最坏时间内执行完毕,添加额外负载后,ttTask2无法按时完成,这时为了保证ttTask2能正常执行完,系统提升关键级别,ttTask1和ttTask3的执行不再得到保证,最终系统保证ttTask2和ttTask4顺利执行完毕。该实验说明实现的多级调度表达到了设计要求,调度表成功切换,为高关键级别任务提供了保障。
安全关键任务调度实例:对于一个2级关键级别的系统如表1所示。采用CDBP的调度方法计算出的关键度值如表2所示。根据通过关键度分配优先级的规则可知,在系统关键级别为1时,任务间的优先级关系为;系统关键级别为2时,任务间的优先级关系为。以此优先级为基础创建的调度表如图6所示。
表1示例任务属性表
表2两级别下的任务关键度
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (4)
1.一种基于关键度的混合关键任务调度方法,其特征在于,该方法为:根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,再根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,最后依次对优先顺序中的安全关键任务进行调度。
2.根据权利要求1所述的基于关键度的混合关键任务调度方法,其特征在于,所述根据每个安全关键任务的不同关键级别以及相应的实时参数确定对应的关键度,具体为:设有n个不同关键级别的安全关键任务,每个安全关键任务Ji都有四个参数分别为发布时间Ai、时限Di、关键级别Xi和不同关键级别下的最坏执行时间Ci(K);
首先,根据Xi的值确定K级别下的n个安全关键任务的相对关键度
其次,根据当前所处的关键级别k确定每个安全关键任务的关键额度
再次,根据所述安全关键任务的时限Di确定每个安全关键任务的时限紧急度
最后,根据确定相对关键度、关键额度、时限紧急度确定K个关键级别下的n个任务的关键度
3.根据权利要求1或2所述的基于关键度的混合关键任务调度方法,其特征在于,所述根据不同安全关键任务的关键度确定每个安全关键任务的优先顺序,具体为:将安全关键任务按照发布时间Ai的顺序进行排序放入到任务队列中,从任务列表中依次选择Ai最小的任务放入到调度队列中,如果就绪队列为空,则直接放入该安全关键任务;如果就绪队列不空,则根据不同的关键级别,按照CDBP算法比较该安全关键任务与调度队列中其他任务的优先关系,按照优先次序放入到就绪队列中并将该任务从任务列表中删除,最后按照所述就绪队列中的次序按依次进行调度。
4.根据权利要求3所述的基于关键度的混合关键任务调度方法,其特征在于,依次对优先顺序中的安全关键任务进行调度,具体为:
首先,比较两个安全关键任务的关键度大小,关键度大的任务优先级高;
其次,如果两个安全关键任务的关键度相同,比较两个安全关键任务的关键级别,关键级别高的任务优先级高;
最后,如果两个安全关键任务的关键级别一致,则比较两个安全关键任务的时限,时限小的优先级高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511022781.5A CN105677461B (zh) | 2015-12-30 | 2015-12-30 | 基于关键度的混合关键任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511022781.5A CN105677461B (zh) | 2015-12-30 | 2015-12-30 | 基于关键度的混合关键任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677461A true CN105677461A (zh) | 2016-06-15 |
CN105677461B CN105677461B (zh) | 2019-03-01 |
Family
ID=56298124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511022781.5A Expired - Fee Related CN105677461B (zh) | 2015-12-30 | 2015-12-30 | 基于关键度的混合关键任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677461B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106125901A (zh) * | 2016-08-16 | 2016-11-16 | 华中科技大学 | 一种基于区间划分的动态节能实时调度方法 |
CN106293003A (zh) * | 2016-08-05 | 2017-01-04 | 广东工业大学 | 一种基于aov网关键路径查询的异构系统动态功耗优化方法 |
CN106445673A (zh) * | 2016-10-14 | 2017-02-22 | 苏州光蓝信息技术有限公司 | 一种面向混合关键性实时系统的容错性任务调度方法 |
CN109582448A (zh) * | 2018-10-17 | 2019-04-05 | 中国电子科技集团公司第二十八研究所 | 一种面向关键度和时效性的边缘计算任务调度方法 |
CN109918185A (zh) * | 2019-03-06 | 2019-06-21 | 华侨大学 | 基于虚拟任务固定优先级混合关键系统调度方法 |
CN111984405A (zh) * | 2020-08-07 | 2020-11-24 | 华侨大学 | 一种汽车控制系统安全调度方法 |
CN112633589A (zh) * | 2020-12-30 | 2021-04-09 | 华侨大学 | 一种基于概率模型混合关键任务能耗优化调度方法 |
CN115858048A (zh) * | 2023-03-03 | 2023-03-28 | 成都信息工程大学 | 一种面向混合关键级任务动态到达边缘卸载方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620550A (zh) * | 2009-05-27 | 2010-01-06 | 西华师范大学 | 一种基于任务模糊多特征的嵌入式实时调度方法 |
CN101887383A (zh) * | 2010-06-30 | 2010-11-17 | 中山大学 | 一种进程实时调度方法 |
-
2015
- 2015-12-30 CN CN201511022781.5A patent/CN105677461B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620550A (zh) * | 2009-05-27 | 2010-01-06 | 西华师范大学 | 一种基于任务模糊多特征的嵌入式实时调度方法 |
CN101887383A (zh) * | 2010-06-30 | 2010-11-17 | 中山大学 | 一种进程实时调度方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293003A (zh) * | 2016-08-05 | 2017-01-04 | 广东工业大学 | 一种基于aov网关键路径查询的异构系统动态功耗优化方法 |
CN106125901A (zh) * | 2016-08-16 | 2016-11-16 | 华中科技大学 | 一种基于区间划分的动态节能实时调度方法 |
CN106445673A (zh) * | 2016-10-14 | 2017-02-22 | 苏州光蓝信息技术有限公司 | 一种面向混合关键性实时系统的容错性任务调度方法 |
CN106445673B (zh) * | 2016-10-14 | 2020-01-10 | 苏州光蓝信息技术有限公司 | 一种面向混合关键性实时系统的容错性任务调度方法 |
CN109582448A (zh) * | 2018-10-17 | 2019-04-05 | 中国电子科技集团公司第二十八研究所 | 一种面向关键度和时效性的边缘计算任务调度方法 |
CN109582448B (zh) * | 2018-10-17 | 2021-03-16 | 中国电子科技集团公司第二十八研究所 | 一种面向关键度和时效性的边缘计算任务调度方法 |
CN109918185B (zh) * | 2019-03-06 | 2022-11-01 | 华侨大学 | 基于虚拟任务固定优先级混合关键系统调度方法 |
CN109918185A (zh) * | 2019-03-06 | 2019-06-21 | 华侨大学 | 基于虚拟任务固定优先级混合关键系统调度方法 |
CN111984405A (zh) * | 2020-08-07 | 2020-11-24 | 华侨大学 | 一种汽车控制系统安全调度方法 |
CN111984405B (zh) * | 2020-08-07 | 2023-05-26 | 华侨大学 | 一种汽车控制系统安全调度方法 |
CN112633589B (zh) * | 2020-12-30 | 2022-07-29 | 华侨大学 | 一种基于概率模型混合关键任务能耗优化调度方法 |
CN112633589A (zh) * | 2020-12-30 | 2021-04-09 | 华侨大学 | 一种基于概率模型混合关键任务能耗优化调度方法 |
CN115858048A (zh) * | 2023-03-03 | 2023-03-28 | 成都信息工程大学 | 一种面向混合关键级任务动态到达边缘卸载方法 |
CN115858048B (zh) * | 2023-03-03 | 2023-04-25 | 成都信息工程大学 | 一种面向混合关键级任务动态到达边缘卸载方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105677461B (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105677461A (zh) | 基于关键度的混合关键任务调度方法 | |
Baruah et al. | Towards the design of certifiable mixed-criticality systems | |
Zhao et al. | PT-AMC: Integrating preemption thresholds into mixed-criticality scheduling | |
Baruah et al. | Mixed-criticality Scheduling: Improved Resource-augmentation Results. | |
WO2013126415A3 (en) | Method and system for scheduling requests in a portable computing device | |
CN103942102A (zh) | 基于双优先级的实时任务调度方法 | |
Saha et al. | Scheduling dynamic hard real-time task sets on fully and partially reconfigurable platforms | |
Biondi et al. | Feasibility analysis of engine control tasks under EDF scheduling | |
Zhao et al. | HLC-PCP: A resource synchronization protocol for certifiable mixed criticality scheduling | |
CN109918185B (zh) | 基于虚拟任务固定优先级混合关键系统调度方法 | |
CN102567120B (zh) | 一种节点调度优先级确定方法及装置 | |
Lyons et al. | Mixed-criticality support in a high-assurance, general-purpose microkernel | |
Wang et al. | Reliability optimization of a series-parallel system with fuzzy random lifetimes | |
CN112905330A (zh) | 一种固定优先级混合关键偶发任务能耗感知方法 | |
CN105320564B (zh) | 一种基于卫星能量变化的任务规划方法 | |
Jin et al. | Temporal partitioning for mixed-criticality systems | |
Schwiegelshohn et al. | The power of migration for online slack scheduling | |
Balasubramaniam et al. | A MILP formulation for utility scale optimal demand side response | |
US20210026701A1 (en) | Computer-implemented method and apparatus for planning resources | |
Völp et al. | Towards an interpretation of mixed criticality for optimistic scheduling | |
Guo et al. | Research on emergency mission planning of earth observation satellites | |
Kim et al. | Multicore ECU task-load distribution (balancing) and dynamic scheduling | |
Senobary et al. | SS-DRM: Semi-partitioned scheduling based on delayed rate monotonic on multiprocessor platforms | |
Easwaran | Efficiently Safe: Decoding the Dichotomy in Mixed-Criticality Systems | |
Gu et al. | Optimal speedup bound for 2-level mixed-criticality arbitrary deadline systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190301 Termination date: 20191230 |
|
CF01 | Termination of patent right due to non-payment of annual fee |