CN115619002A - 一种灵活动态混合关键系统调度方法 - Google Patents

一种灵活动态混合关键系统调度方法 Download PDF

Info

Publication number
CN115619002A
CN115619002A CN202211150040.5A CN202211150040A CN115619002A CN 115619002 A CN115619002 A CN 115619002A CN 202211150040 A CN202211150040 A CN 202211150040A CN 115619002 A CN115619002 A CN 115619002A
Authority
CN
China
Prior art keywords
key
mode
low
task
critical
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.)
Pending
Application number
CN202211150040.5A
Other languages
English (en)
Inventor
蒋小文
黄凯
沙天薏
陈晨
郑丹丹
刘智力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202211150040.5A priority Critical patent/CN115619002A/zh
Publication of CN115619002A publication Critical patent/CN115619002A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy or water supply

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于嵌入式实时系统技术领域,公开了一种灵活动态混合关键系统调度方法,包括如下步骤:步骤1:建立任务模型、定义K级高关键模式、服务级别和K级最大执行资源预算上限;步骤2:建立执行框架;步骤3:建立调度算法;步骤4:建立最大执行预算分配策略。本发明能根据高关键任务在低关键模式下的实际执行情况进行资源的动态分配,减少因悲观处理带来的不必要的资源浪费。高关键任务在低关键模式下会根据其运行的实际执行时间需求动态分配系统资源,高关键任务在低关键模式下切换到高关键模式的条件是根据所有在低关键模式下的高关键任务的实际运行情况动态计算给出。在任务的可调度性与系统切换代价上本方法有明显优化效果。

Description

一种灵活动态混合关键系统调度方法
技术领域
本发明属于嵌入式实时系统技术领域,尤其涉及一种灵活动态混合关键系统调度方法。
背景技术
集成电路工艺水平的不断突破使得嵌入式系统的规模与性能得到大幅提升。近年来,混合关键系统(MCS)在汽车电子、工业电子、电力、航空航天等实时嵌入式领域有了越来越多的应用。例如,在智能电网领域中有由电机控制、图像采集等不同安全需求功能计算任务组成的电力巡检无人机混合关键系统。电机控制功能计算任务能否安全可靠的调度会直接关系到巡检无人机的飞行,一旦不能及时执行这类高安全需求计算任务,对巡检无人机系统造成的影响是严重的甚至是致命的。而像拍摄采集相片这种低安全需求功能计算任务,不能及时执行更多的是影响电网人员获取故障巡检照片的质量,对巡检无人机系统造成的影响较小。
在混合关键系统中,安全关键性不同的功能子系统计算任务通过不同关键级别进行表示,任务根据安全需求高低划分成高关键(HC)任务和低关键(LC)任务。为确保高关键任务的可调度性,现有工作主要包含以下3个方面:
(1)确保高关键任务及时执行方式:直接放弃所有低关键任务的执行,这会导致低关键任务的服务质量遭到突然及显著的削减,大大影响用户对于低安全需求功能的整体体验。
(2)模式切换依赖触发方式:当一个高关键任务超支时,所有其他的高关键任务都会发生模式切换至高关键模式的策略,将产生大量不必要的资源预售情况,导致系统资源浪费。
(3)静态预算分配方式:高关键任务在低关键模式下的执行资源开销在任务开始调度前就已确定好,直接按照高关键任务在低关键模式下的执行时间估计分配其执行资源。
目前混合关键系统任务调度常用的模型中,对于高关键任务超支后,低关键任务是否需要通过减少自身的执行时间去平衡整个系统资源是通过考虑了所有高关键任务都会超支的情况下等比例分配系统空闲资源方式进行的补偿需求计算。整体上,该方法采用的是静态预算分配方式,即高关键任务在低关键模式下的执行资源开销直接按照高关键任务在低关键模式下的执行时间估计分配,而没有考虑高关键任务的实际运行情况。当高关键任务实际执行时间远小于其执行时间估计时则会存在大量冗余资源支出,导致系统资源浪费,低关键任务的执行性能下降。
发明内容
本发明目的在于提供一种灵活动态混合关键系统调度方法,以解决上述的技术问题。
为解决上述技术问题,本发明的一种灵活动态混合关键系统调度方法的具体技术方案如下:
一种灵活动态混合关键系统调度方法,包括如下步骤:
步骤1:建立任务模型、定义K级高关键模式、服务级别和K级最大执行资源预算上限;
步骤2:建立执行框架;初始状态下,所有任务处于低关键模式,在调度执行过程中,一旦任何一个高关键作业出现超支情况,则会触发其自身切换至高关键模式,同时系统高关键模式级别也会提高一级,若调度过程中返回至低关键模式条件成立,所有任务又会回到低关键模式,如此反复直至调度结束;
步骤3:建立调度算法;
在调度开始前,判断系统是否需要切换到高关键模式的指标;
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡;计算在新高关键模式下最大执行资源预算;在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
步骤4:建立最大执行预算分配策略;
若高关键任务在低关键模式下调度执行所需要的实际时间大于由最大执行预算分配策略计算得到所能分配到的最大执行预算,那么此时该高关键任务立即切换至高关键模式,其他高关键任务仍保持原有模式不变。
进一步地,所述步骤1的建立任务模型包括:考虑N个Γ={τ12,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ12,...,τn},其中任意任务τi的特征可被表示为
Figure BDA0003856662390000031
其中Li表示任务的关键级别,考虑双关键系统的情况,即Li={LO,HI},Ti表示任务的周期,截止时间等于其周期,
Figure BDA0003856662390000032
表示任务τi在高关键模式下的最差执行时间WCET,
Figure BDA0003856662390000033
表示任务τi在低关键模式下的最差执行时间WCET,低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
Figure BDA0003856662390000041
混合关键系统任务集的利用率可由以下公式计算
Figure BDA0003856662390000042
Figure BDA0003856662390000043
Figure BDA0003856662390000044
Figure BDA0003856662390000045
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
Figure BDA0003856662390000046
k代表高关键任务进入高关键模式的任务数量,τik代表在k个高关键任务进入高关键模式的情况下低关键任务τik的利用率。
进一步地,所述步骤1定义K级高关键模式包括:
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式,所有高关键任务都处于低关键模式时,认为系统处于0级高关键模式。
进一步地,所述步骤1定义服务级别包括:
服务级别是用来指定高关键任务进行模式切换后低关键任务服务质量的一个标志量,记为
Figure BDA0003856662390000047
系统每进行一次模式切换的同时更新当前服务级别
Figure BDA0003856662390000048
确定模式切换后低关键任务新的服务质量,假设初始状态
Figure BDA0003856662390000049
Figure BDA00038566623900000410
若系统此时经历了第kth次模式转换,那低关键任务τi新的服务质量为
Figure BDA00038566623900000411
即低关键任务的执行频率从原来
Figure BDA00038566623900000412
调整为
Figure BDA00038566623900000413
进一步地,所述步骤1定义K级最大执行资源预算上限包括:
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,记为
Figure BDA0003856662390000051
假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,对于整个任务集而言,0级最大执行资源预算上限为:
Figure BDA0003856662390000052
k级最大执行资源预算上限通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到,当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级,所有k级最大执行资源预算为:
Figure BDA0003856662390000053
这里uis指的是高关键任务τi在切换至高关键模式前在低关键模式下所占的执行资源,
Figure BDA0003856662390000054
指的是处于高关键模式下的高关键任务集。
进一步地,所述步骤1包括利用率的计算,具体包括:
高关键任务在低关键模式下资源利用率:
Figure BDA0003856662390000055
高关键任务在高关键模式下资源利用率:
Figure BDA0003856662390000056
低关键任务资源利用率:
Figure BDA0003856662390000061
低关键任务在第kth次独立模式转换后资源利用率:
Figure BDA0003856662390000062
对于整个任务集而言,
高关键任务在高关键模式下资源利用率:
Figure BDA0003856662390000067
高关键任务在低关键模式下资源利用率:
Figure BDA0003856662390000068
低关键任务资源利用率:
Figure BDA0003856662390000069
低关键任务在第kth次独立模式转换后利用率:
Figure BDA0003856662390000063
低关键任务最低服务质量下的利用率:
Figure BDA0003856662390000064
其中
Figure BDA0003856662390000065
是由用户指定的最低服务级别。
进一步地,所述步骤2的执行框架包括:
低关键模式:初始状态下,所有任务均处于低关键模式,只要不超过最大执行预算
Figure BDA0003856662390000066
那么系统一直保持在低关键模式下进行任务调度;
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度,当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级;
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别
Figure BDA0003856662390000071
低关键任务执行频率由原来
Figure BDA0003856662390000072
调整为
Figure BDA0003856662390000073
的变化是由高关键任务具体的超支情况动态进行调整的,在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度;
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti
进一步地,所述步骤3包括如下具体步骤:
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性,计算所有高关键任务能保持在低关键模式下运行的最大资源花销
Figure BDA0003856662390000074
用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标;
Figure BDA0003856662390000075
Figure BDA0003856662390000076
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡,根据公式7计算在新高关键模式下最大执行资源预算,在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
Figure BDA0003856662390000081
进一步地,所述步骤4分为四个环节,包括计算、切换、更新和恢复;
计算:当从待调度任务队列中选择当前调度指派的作业为高关键作业时,根据公式19计算本次调度作业τi,j在低关键模式下可分配到的最大执行时间预算bi,j,后续用作是否触发切换至高关键模式的指标,当从待调度任务队列中选择当前调度指派的作业为低关键作业时,则无需进行该计算环节;
切换:当高关键作业τi,j在其最大执行时间预算bi,j内没能完成,则触发模式切换这个环节,高关键任务立即从低关键模式切换至高关键模式,高关键模式级别k提高一级,此任务的超支不会触发其他高关键任务进入高关键模式,所有其他高关键任务保持原来的模式不变,在新的高关键模式级别下,系统根据高关键任务的超支情况,重新确定低关键任务的执行频率,以平衡由高关键任务超支引起的资源需求,低关键任务执行时间预算不变,按照新的截止时间进行调度,同时需要重新确定在该新的高关键模式级别下剩余未切换至高关键模式下的高关键任务仍能保持在低关键模式下运行的最大执行资源,用以后续计算;
更新:由公式19可知,计算高关键作业可分配到的最大执行时间预算bi,j与其他高关键作业τn,j实际执行总时长
Figure BDA0003856662390000082
有关,因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新
Figure BDA0003856662390000091
环节,将当次调度运行的时长ei,j累加进
Figure BDA0003856662390000092
恢复:当系统检测到空闲状态,即无更多待调度任务时,就触发系统恢复环节,所有任务恢复回低关键模式,
Figure BDA0003856662390000093
清零,低关键任务的执行频率恢复回原始执行频率,
Figure BDA0003856662390000094
模式切换条件,假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换,
Figure BDA0003856662390000095
表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
Figure BDA0003856662390000096
Figure BDA0003856662390000097
本发明的一种灵活动态混合关键系统调度方法具有以下优点:本发明能根据高关键任务在低关键模式下的实际执行情况进行资源的动态分配,减少因悲观处理带来的不必要的资源浪费。高关键任务在低关键模式下会根据其运行的实际执行时间需求动态分配系统资源,不再按调度前已分配好的执行时间预算估计进行静态分配;高关键任务在低关键模式下切换到高关键模式的条件也不再是以其执行时间预算估计为指标,而是会根据所有在低关键模式下的高关键任务的实际运行情况动态计算给出。在任务的可调度性与系统切换代价上较现有最先进方案相比,本方法有明显优化效果。
附图说明
图1为本发明的灵活动态混合关键系统调度执行框架示意图;
图2为本发明的灵活动态混合关键系统调度算法框架示意图;
图3为本发明的灵活动态混合关键系统调度的最大执行预算分配策略示意图;
图4a为本发明的静态执行预算分配下的调度结果示意图;
图4b为本发明的动态执行预算分配下的调度结果示意图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种灵活动态混合关键系统调度方法做进一步详细的描述。
本发明的一种灵活动态混合关键系统调度方法,包括如下步骤:
步骤1:建立任务模型、定义高关键模式级别、服务级别和每级最大执行资源预算上限。
任务模型:本发明考虑N个Γ={τ12,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ12,...,τn},其中任意任务τi的特征可被表示为
Figure BDA0003856662390000101
其中Li表示任务的关键级别,本发明考虑双关键系统的情况,即Li={LO,HI}。Ti表示任务的周期,截止时间等于其周期。
Figure BDA0003856662390000102
表示任务τi在高关键模式下的最差执行时间(WCET)。
Figure BDA0003856662390000103
表示任务τi在低关键模式下的最差执行时间(WCET)。低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
Figure BDA0003856662390000104
混合关键系统任务集的利用率可由以下公式计算
Figure BDA0003856662390000105
Figure BDA0003856662390000111
Figure BDA0003856662390000112
Figure BDA0003856662390000113
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
Figure BDA0003856662390000114
k代表高关键任务进入高关键模式的任务数量,τik代表在k个高关键任务进入高关键模式的情况下低关键任务τik的利用率。
为了更好的表征低关键任务在高关键模式下的执行预算情况,以下定义:
定义一:k级高关键模式
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式。所有高关键任务都处于低关键模式时,可以认为系统处于0级高关键模式。
定义二:服务级别
服务级别是用来指定高关键任务进行模式切换后低关键任务服务质量的一个标志量,这里记为
Figure BDA0003856662390000115
系统每进行一次模式切换的同时也会更新当前服务级别
Figure BDA0003856662390000116
确定模式切换后低关键任务新的服务质量。假设初始状态
Figure BDA0003856662390000117
Figure BDA0003856662390000118
若系统此时经历了第kth次模式转换,那低关键任务τi新的服务质量为
Figure BDA0003856662390000119
即低关键任务的执行频率从原来
Figure BDA00038566623900001110
调整为
Figure BDA00038566623900001111
定义三:k级最大执行资源预算上限
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,这里记为
Figure BDA0003856662390000121
假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,因此对于整个任务集而言,0级最大执行资源预算上限为:
Figure BDA0003856662390000122
k级最大执行资源预算上限可以通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到。当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则会触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级。所有k级最大执行资源预算为:
Figure BDA0003856662390000123
这里uis指的是高关键任务τi在切换至高关键模式前在低关键模式下所占的执行资源。
Figure BDA0003856662390000124
指的是处于高关键模式下的高关键任务集。
除此之外,其他相关利用率的计算公式如下。
高关键任务在低关键模式下资源利用率:
Figure BDA0003856662390000125
高关键任务在高关键模式下资源利用率:
Figure BDA0003856662390000126
低关键任务资源利用率:
Figure BDA0003856662390000131
低关键任务在第kth次独立模式转换后资源利用率:
Figure BDA0003856662390000132
对于整个任务集而言,
高关键任务在高关键模式下资源利用率:
Figure BDA0003856662390000137
高关键任务在低关键模式下资源利用率:
Figure BDA0003856662390000136
低关键任务资源利用率:
Figure BDA0003856662390000138
低关键任务在第kth次独立模式转换后利用率:
Figure BDA0003856662390000133
低关键任务最低服务质量下的利用率:
Figure BDA0003856662390000134
其中
Figure BDA0003856662390000135
是由用户指定的最低服务级别。
步骤2:建立执行框架。
初始状态下,所有任务处于低关键模式。在调度执行过程中,一旦任何一个高关键作业出现超支情况,则会触发其自身切换至高关键模式,同时系统高关键模式级别也会提高一级。若调度过程中返回至低关键模式条件成立,所有任务又会回到低关键模式,如此反复直至调度结束。执行框架如图1所示。
低关键模式:初始状态下,所有任务均处于低关键模式,只要不超过最大执行预算
Figure BDA0003856662390000141
那么系统可以一直保持在低关键模式下进行任务调度。
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度。当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级。
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别
Figure BDA0003856662390000142
低关键任务执行频率由原来
Figure BDA0003856662390000143
调整为
Figure BDA0003856662390000144
的变化是由高关键任务具体的超支情况动态进行调整的。在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度。
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti
步骤3:建立调度算法。
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性。计算所有高关键任务能保持在低关键模式下运行的最大资源花销
Figure BDA0003856662390000145
用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标。
Figure BDA0003856662390000146
Figure BDA0003856662390000147
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度。同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡。根据公式7计算在新高关键模式下最大执行资源预算。在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束。
Figure BDA0003856662390000151
算法实现框架如图2所示。第1-2行是调度开始前的离线计算过程,首先根据公式12-公式14、公式6分别计算利用率uhl、uhh
Figure BDA0003856662390000152
并通过计算得到高关键任务在低关键模式下的虚拟截止时间因子x。在满足该任务集在可调度性条件下方可进入在线调度阶段,否则需要重新生成新的任务集,直至满足公式16。第3-12行是在线调度的过程。所有任务的初始状态为低关键模式(第3行)。在低关键模式下,高关键任务根据其虚拟截止时间进行调度。系统从待调度任务队列中选择离截止时间最近的任务进行调度(第5行)。一旦任一高关键作业τi,j在根据所有在低关键模式下的高关键任务的实际运行情况动态计算得出bi,j时间内没有完成(第6行),该任务状态立即从低关键模式切换到高关键模式,给予一个更大的执行时间预算,其他高关键任务保持原来模式不变,通过公式17计算高关键任务超支的情况,然后通过公式18更新低关键任务新的服务质量以平衡资源需求,还需要根据公式7计算在新高关键模式下的最大执行资源总预算,用以后续调度计算,调度继续进行,跳转回第5行进行下一个作业的调度(第7行)。当指派的作业调度完毕且待调度任务队列无更多作业时(即系统检测到空闲),计算并更新所有低关键任务的完成情况,所有任务恢复回低关键模式,跳转回第5行,等待待调度作业释放插入待调度队列中继续进行调度(第10-11行)否则调度直接继续进行,跳转回第5行进行下一个作业的调度(第8-9行)。当调度结束后计算PFJ(PFJ表示低关键任务在截止时间前成功完成率)和切换代价并输出最终结果(第13行)。
步骤4:建立最大执行预算分配策略。
在本发明中,高关键任务在低关键模式下的执行时间开销会根据其运行的实际执行时间进行动态分配。这样动态分配执行时间开销的方式更能切实考虑到任务调度的实际情况,减少不必要的资源浪费还能延缓系统模式切换的频率,确保高关键任务可调度性的同时低关键任务的执行性能更佳。最大执行预算分配策略的提出就是确保高关键任务在低关键模式下能够根据其调度执行所需要的实际时间动态分配执行运行开销的同时确定高关键任务仍可保持在低关键模式下运行能分配到的执行预算上限,确保高关键任务的可调度性。即若其调度执行所需要的实际时间大于由最大执行预算分配策略计算得到所能分配到的最大执行预算,那么此时该高关键任务需要立即切换至高关键模式,其他高关键任务仍保持原有模式不变。
下面将介绍最大执行预算分配策略在本发明中是如何支持高关键任务在低关键模式下动态分配执行开销的。如图3所示,可以分为四个环节。
(1)计算:当从待调度任务队列中选择当前调度指派的作业为高关键作业时,根据公式19计算本次调度作业τi,j在低关键模式下可分配到的最大执行时间预算bi,j,后续用作是否触发切换至高关键模式的指标。当从待调度任务队列中选择当前调度指派的作业为低关键作业时,则无需进行该计算环节。
(2)切换:当高关键作业τi,j在其最大执行时间预算bi,j内没能完成,则会触发模式切换这个环节,高关键任务立即从低关键模式切换至高关键模式,高关键模式级别k提高一级,此任务的超支不会触发其他高关键任务进入高关键模式,所有其他高关键任务保持原来的模式不变。在新的高关键模式级别下,系统根据高关键任务的超支情况,重新确定低关键任务的执行频率,以平衡由高关键任务超支引起的资源需求,低关键任务执行时间预算不变,按照新的截止时间进行调度。同时需要重新确定在该新的高关键模式级别下剩余未切换至高关键模式下的高关键任务仍能保持在低关键模式下运行的最大执行资源,用以后续计算。
(3)更新:由公式19可知,计算高关键作业可分配到的最大执行时间预算bi,j与其他高关键作业τn,j实际执行总时长
Figure BDA0003856662390000171
有关。因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新
Figure BDA0003856662390000172
环节,将当次调度运行的时长ei,j累加进
Figure BDA0003856662390000173
(4)恢复:当系统检测到空闲状态,即无更多待调度任务时,就会触发系统恢复环节。所有任务恢复回低关键模式,
Figure BDA0003856662390000174
清零,低关键任务的执行频率恢复回原始执行频率。
Figure BDA0003856662390000175
模式切换条件。假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换。
Figure BDA0003856662390000176
表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
Figure BDA0003856662390000181
Figure BDA0003856662390000182
为清楚展示,下面是基于本发明方法的例子。在本调度样例中,考虑一个任务集,该系统包含有三个任务γ={τ123},如表1所示,τ1={20,HC,2,4},τ2={20,HC,4,8},τ3={20,LC,10,10}。在调度开始前的离线阶段,可以计算得到uhl=0.3,uhh=0.6,ull=0.5,x=0.6,
Figure BDA0003856662390000183
且满足可调度性的测试条件。用改进前后两种方法进行调度的具体过程可见图4a-4b所示。
表1:混合关键任务调度样例调度情况
Figure BDA0003856662390000184
由于在现有调度方法中高关键任务在低关键模式下的最坏执行时间预算估计是在调度前就已确定的,只要高关键任务处于低关键模式下就会分配给规定好的这么多执行时间预算,一旦高关键任务在低关键模式下的最坏执行时间预算估计内未能完成,则切换至高关键模式,分配给高关键任务更多的执行时间预算。这种方式是静态的预算分配方式,预算是在任务开始调度前就已经规定好的,并不需要考虑任务的实际运行情况。实际上,若高关键任务实际执行时间远小于其最坏执行时间预算估计时则会造成大量的资源浪费。
本发明着眼于混合关键系统任务调度,针对上述问题提出一套更实际灵活的动态混合关键系统任务调度方法,高关键任务在低关键模式下会根据其运行的实际执行时间需求动态分配系统资源,不再按调度前已分配好的执行时间预算估计进行静态分配;高关键任务在低关键模式下切换到高关键模式的条件也不再是以其执行时间预算估计为指标,而是会根据所有在低关键模式下的高关键任务的实际运行情况动态计算给出。在确保高关键任务的可调度性下减少不必要的悲观处理带来的大量资源浪费。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

Claims (9)

1.一种灵活动态混合关键系统调度方法,其特征在于,包括如下步骤:
步骤1:建立任务模型、定义K级高关键模式、服务级别和K级最大执行资源预算上限;
步骤2:建立执行框架;初始状态下,所有任务处于低关键模式,在调度执行过程中,一旦任何一个高关键作业出现超支情况,则会触发其自身切换至高关键模式,同时系统高关键模式级别也会提高一级,若调度过程中返回至低关键模式条件成立,所有任务又会回到低关键模式,如此反复直至调度结束;
步骤3:建立调度算法;
在调度开始前,判断系统是否需要切换到高关键模式的指标;
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡;计算在新高关键模式下最大执行资源预算;在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
步骤4:建立最大执行预算分配策略;
若高关键任务在低关键模式下调度执行所需要的实际时间大于由最大执行预算分配策略计算得到所能分配到的最大执行预算,那么此时该高关键任务立即切换至高关键模式,其他高关键任务仍保持原有模式不变。
2.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1的建立任务模型包括:考虑N个Γ={τ12,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ12,...,τn},其中任意任务τi的特征可被表示为
Figure FDA0003856662380000021
其中Li表示任务的关键级别,考虑双关键系统的情况,即Li={LO,HI},Ti表示任务的周期,截止时间等于其周期,
Figure FDA0003856662380000022
表示任务τi在高关键模式下的最差执行时间WCET,
Figure FDA0003856662380000023
表示任务τi在低关键模式下的最差执行时间WCET,低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
Figure FDA0003856662380000024
混合关键系统任务集的利用率可由以下公式计算
Figure FDA0003856662380000025
Figure FDA0003856662380000026
Figure FDA0003856662380000027
Figure FDA0003856662380000028
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
Figure FDA0003856662380000029
k代表高关键任务进入高关键模式的任务数量,
Figure FDA00038566623800000210
代表在k个高关键任务进入高关键模式的情况下低关键任务
Figure FDA00038566623800000211
的利用率。
3.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1定义K级高关键模式包括:
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式,所有高关键任务都处于低关键模式时,认为系统处于0级高关键模式。
4.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1定义服务级别包括:
服务级别是用来指定高关键任务进行模式切换后低关键任务服务质量的一个标志量,记为
Figure FDA0003856662380000031
系统每进行一次模式切换的同时更新当前服务级别
Figure FDA0003856662380000032
确定模式切换后低关键任务新的服务质量,假设初始状态
Figure FDA0003856662380000033
Figure FDA0003856662380000034
若系统此时经历了第kth次模式转换,那低关键任务τi新的服务质量为
Figure FDA0003856662380000035
即低关键任务的执行频率从原来
Figure FDA0003856662380000036
调整为
Figure FDA0003856662380000037
5.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1定义K级最大执行资源预算上限包括:
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,记为
Figure FDA0003856662380000038
假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,对于整个任务集而言,0级最大执行资源预算上限为:
Figure FDA0003856662380000039
k级最大执行资源预算上限通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到,当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级,所有k级最大执行资源预算为:
Figure FDA00038566623800000310
这里uis指的是高关键任务τi在切换至高关键模式前在低关键模式下所占的执行资源,
Figure FDA0003856662380000041
指的是处于高关键模式下的高关键任务集。
6.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1包括利用率的计算,具体包括:
高关键任务在低关键模式下资源利用率:
Figure FDA0003856662380000042
高关键任务在高关键模式下资源利用率:
Figure FDA0003856662380000043
低关键任务资源利用率:
Figure FDA0003856662380000044
低关键任务在第kth次独立模式转换后资源利用率:
Figure FDA0003856662380000045
对于整个任务集而言,
高关键任务在高关键模式下资源利用率:
Figure FDA0003856662380000046
高关键任务在低关键模式下资源利用率:
Figure FDA0003856662380000047
低关键任务资源利用率:
Figure FDA0003856662380000048
低关键任务在第kth次独立模式转换后利用率:
Figure FDA0003856662380000051
低关键任务最低服务质量下的利用率:
Figure FDA0003856662380000052
其中
Figure FDA0003856662380000053
是由用户指定的最低服务级别。
7.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤2的执行框架包括:
低关键模式:初始状态下,所有任务均处于低关键模式,只要不超过最大执行预算
Figure FDA0003856662380000054
那么系统一直保持在低关键模式下进行任务调度;
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度,当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级;
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别
Figure FDA0003856662380000055
低关键任务执行频率由原来
Figure FDA0003856662380000056
调整为
Figure FDA0003856662380000057
Figure FDA0003856662380000058
的变化是由高关键任务具体的超支情况动态进行调整的,在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度;
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti
8.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤3包括如下具体步骤:
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性,计算所有高关键任务能保持在低关键模式下运行的最大资源花销
Figure FDA0003856662380000061
用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标;
Figure FDA0003856662380000062
Figure FDA0003856662380000063
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡,根据公式7计算在新高关键模式下最大执行资源预算,在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
Figure FDA0003856662380000064
9.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤4分为四个环节,包括计算、切换、更新和恢复;
计算:当从待调度任务队列中选择当前调度指派的作业为高关键作业时,根据公式19计算本次调度作业τi,j在低关键模式下可分配到的最大执行时间预算bi,j,后续用作是否触发切换至高关键模式的指标,当从待调度任务队列中选择当前调度指派的作业为低关键作业时,则无需进行该计算环节;
切换:当高关键作业τi,j在其最大执行时间预算bi,j内没能完成,则触发模式切换这个环节,高关键任务立即从低关键模式切换至高关键模式,高关键模式级别k提高一级,此任务的超支不会触发其他高关键任务进入高关键模式,所有其他高关键任务保持原来的模式不变,在新的高关键模式级别下,系统根据高关键任务的超支情况,重新确定低关键任务的执行频率,以平衡由高关键任务超支引起的资源需求,低关键任务执行时间预算不变,按照新的截止时间进行调度,同时需要重新确定在该新的高关键模式级别下剩余未切换至高关键模式下的高关键任务仍能保持在低关键模式下运行的最大执行资源,用以后续计算;
更新:由公式19可知,计算高关键作业可分配到的最大执行时间预算bi,j与其他高关键作业τn,j实际执行总时长
Figure FDA0003856662380000071
有关,因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新
Figure FDA0003856662380000072
环节,将当次调度运行的时长ei,j累加进
Figure FDA0003856662380000073
恢复:当系统检测到空闲状态,即无更多待调度任务时,就触发系统恢复环节,所有任务恢复回低关键模式,
Figure FDA0003856662380000074
清零,低关键任务的执行频率恢复回原始执行频率,
Figure FDA0003856662380000075
模式切换条件,假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换,
Figure FDA0003856662380000076
表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
Figure FDA0003856662380000081
Figure FDA0003856662380000082
CN202211150040.5A 2022-09-21 2022-09-21 一种灵活动态混合关键系统调度方法 Pending CN115619002A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211150040.5A CN115619002A (zh) 2022-09-21 2022-09-21 一种灵活动态混合关键系统调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211150040.5A CN115619002A (zh) 2022-09-21 2022-09-21 一种灵活动态混合关键系统调度方法

Publications (1)

Publication Number Publication Date
CN115619002A true CN115619002A (zh) 2023-01-17

Family

ID=84858207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211150040.5A Pending CN115619002A (zh) 2022-09-21 2022-09-21 一种灵活动态混合关键系统调度方法

Country Status (1)

Country Link
CN (1) CN115619002A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741164A (zh) * 2022-01-19 2022-07-12 浙江大学 一种基于edf-vd的灵活混合临界调度方法
CN116755865A (zh) * 2023-08-15 2023-09-15 北京理工大学 一种基于汽车嵌入式平台的混合关键系统部署方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741164A (zh) * 2022-01-19 2022-07-12 浙江大学 一种基于edf-vd的灵活混合临界调度方法
CN116755865A (zh) * 2023-08-15 2023-09-15 北京理工大学 一种基于汽车嵌入式平台的混合关键系统部署方法及装置
CN116755865B (zh) * 2023-08-15 2023-11-10 北京理工大学 一种基于汽车嵌入式平台的混合关键系统部署方法及装置

Similar Documents

Publication Publication Date Title
CN115619002A (zh) 一种灵活动态混合关键系统调度方法
CN107168770B (zh) 一种低能耗的云数据中心工作流调度与资源供给方法
US8214836B1 (en) Method and apparatus for job assignment and scheduling using advance reservation, backfilling, and preemption
CN112486652A (zh) 一种非抢占固定优先级混合关键任务能耗优化调度方法
CN103455375A (zh) Hadoop云平台下基于负载监控的混合调度方法
CN114371926B (zh) 一种精细化资源分配方法、装置、电子设备及介质
CN112486642A (zh) 资源调度方法、装置、电子设备及计算机可读存储介质
CN116010064A (zh) Dag作业调度和集群管理的方法、系统及装置
CN109918181B (zh) 基于最差响应时间的混合关键系统任务可调度性分析方法
CN105718318B (zh) 一种基于辅助工程设计软件的集合式调度优化方法
CN114721818A (zh) 一种基于Kubernetes集群的GPU分时共享方法和系统
Lipari et al. Resource reservation for mixed criticality systems
CN102184124B (zh) 任务调度方法及系统
CN116430738B (zh) 一种混合关键系统的自适应动态调度方法
CN109189581B (zh) 一种作业调度方法和装置
CN111143210A (zh) 一种测试任务调度方法和系统
WO2023015787A1 (zh) 一种高吞吐云计算资源回收系统
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN112506640B (zh) 一种用于加密运算芯片的多处理器架构及调配方法
CN114995971A (zh) 实现kubernetes中pod批量调度方法及系统
Schönberger et al. Offloading safety-and mission-critical tasks via unreliable connections
CN110764886A (zh) 一种支持多分区处理的批量作业协同调度方法及系统
CN110580192A (zh) 一种基于服务特征的混部场景中容器i/o隔离性优化方法
CN110196762A (zh) 混合关键性容错系统动态资源管理协议及该协议的调度方法
CN114741164A (zh) 一种基于edf-vd的灵活混合临界调度方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination