CN115619002A - 一种灵活动态混合关键系统调度方法 - Google Patents
一种灵活动态混合关键系统调度方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004364 calculation method Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims description 22
- 230000001960 triggered effect Effects 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 2
- 239000002699 waste material Substances 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000003068 static effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/06—Energy 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个Γ={τ1,τ2,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ1,τ2,...,τn},其中任意任务τi的特征可被表示为其中Li表示任务的关键级别,考虑双关键系统的情况,即Li={LO,HI},Ti表示任务的周期,截止时间等于其周期,表示任务τi在高关键模式下的最差执行时间WCET,表示任务τi在低关键模式下的最差执行时间WCET,低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
混合关键系统任务集的利用率可由以下公式计算
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
k代表高关键任务进入高关键模式的任务数量,τik代表在k个高关键任务进入高关键模式的情况下低关键任务τik的利用率。
进一步地,所述步骤1定义K级高关键模式包括:
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式,所有高关键任务都处于低关键模式时,认为系统处于0级高关键模式。
进一步地,所述步骤1定义服务级别包括:
服务级别是用来指定高关键任务进行模式切换后低关键任务服务质量的一个标志量,记为系统每进行一次模式切换的同时更新当前服务级别确定模式切换后低关键任务新的服务质量,假设初始状态且若系统此时经历了第kth次模式转换,那低关键任务τi新的服务质量为即低关键任务的执行频率从原来调整为
进一步地,所述步骤1定义K级最大执行资源预算上限包括:
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,记为假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,对于整个任务集而言,0级最大执行资源预算上限为:
k级最大执行资源预算上限通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到,当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级,所有k级最大执行资源预算为:
进一步地,所述步骤1包括利用率的计算,具体包括:
高关键任务在低关键模式下资源利用率:
高关键任务在高关键模式下资源利用率:
低关键任务资源利用率:
低关键任务在第kth次独立模式转换后资源利用率:
对于整个任务集而言,
高关键任务在高关键模式下资源利用率:
高关键任务在低关键模式下资源利用率:
低关键任务资源利用率:
低关键任务在第kth次独立模式转换后利用率:
进一步地,所述步骤2的执行框架包括:
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度,当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级;
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别低关键任务执行频率由原来调整为的变化是由高关键任务具体的超支情况动态进行调整的,在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度;
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti。
进一步地,所述步骤3包括如下具体步骤:
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性,计算所有高关键任务能保持在低关键模式下运行的最大资源花销用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标;
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡,根据公式7计算在新高关键模式下最大执行资源预算,在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
进一步地,所述步骤4分为四个环节,包括计算、切换、更新和恢复;
计算:当从待调度任务队列中选择当前调度指派的作业为高关键作业时,根据公式19计算本次调度作业τi,j在低关键模式下可分配到的最大执行时间预算bi,j,后续用作是否触发切换至高关键模式的指标,当从待调度任务队列中选择当前调度指派的作业为低关键作业时,则无需进行该计算环节;
切换:当高关键作业τi,j在其最大执行时间预算bi,j内没能完成,则触发模式切换这个环节,高关键任务立即从低关键模式切换至高关键模式,高关键模式级别k提高一级,此任务的超支不会触发其他高关键任务进入高关键模式,所有其他高关键任务保持原来的模式不变,在新的高关键模式级别下,系统根据高关键任务的超支情况,重新确定低关键任务的执行频率,以平衡由高关键任务超支引起的资源需求,低关键任务执行时间预算不变,按照新的截止时间进行调度,同时需要重新确定在该新的高关键模式级别下剩余未切换至高关键模式下的高关键任务仍能保持在低关键模式下运行的最大执行资源,用以后续计算;
更新:由公式19可知,计算高关键作业可分配到的最大执行时间预算bi,j与其他高关键作业τn,j实际执行总时长有关,因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新环节,将当次调度运行的时长ei,j累加进
模式切换条件,假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换,表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
本发明的一种灵活动态混合关键系统调度方法具有以下优点:本发明能根据高关键任务在低关键模式下的实际执行情况进行资源的动态分配,减少因悲观处理带来的不必要的资源浪费。高关键任务在低关键模式下会根据其运行的实际执行时间需求动态分配系统资源,不再按调度前已分配好的执行时间预算估计进行静态分配;高关键任务在低关键模式下切换到高关键模式的条件也不再是以其执行时间预算估计为指标,而是会根据所有在低关键模式下的高关键任务的实际运行情况动态计算给出。在任务的可调度性与系统切换代价上较现有最先进方案相比,本方法有明显优化效果。
附图说明
图1为本发明的灵活动态混合关键系统调度执行框架示意图;
图2为本发明的灵活动态混合关键系统调度算法框架示意图;
图3为本发明的灵活动态混合关键系统调度的最大执行预算分配策略示意图;
图4a为本发明的静态执行预算分配下的调度结果示意图;
图4b为本发明的动态执行预算分配下的调度结果示意图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种灵活动态混合关键系统调度方法做进一步详细的描述。
本发明的一种灵活动态混合关键系统调度方法,包括如下步骤:
步骤1:建立任务模型、定义高关键模式级别、服务级别和每级最大执行资源预算上限。
任务模型:本发明考虑N个Γ={τ1,τ2,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ1,τ2,...,τn},其中任意任务τi的特征可被表示为其中Li表示任务的关键级别,本发明考虑双关键系统的情况,即Li={LO,HI}。Ti表示任务的周期,截止时间等于其周期。表示任务τi在高关键模式下的最差执行时间(WCET)。表示任务τi在低关键模式下的最差执行时间(WCET)。低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
混合关键系统任务集的利用率可由以下公式计算
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
k代表高关键任务进入高关键模式的任务数量,τik代表在k个高关键任务进入高关键模式的情况下低关键任务τik的利用率。
为了更好的表征低关键任务在高关键模式下的执行预算情况,以下定义:
定义一:k级高关键模式
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式。所有高关键任务都处于低关键模式时,可以认为系统处于0级高关键模式。
定义二:服务级别
服务级别是用来指定高关键任务进行模式切换后低关键任务服务质量的一个标志量,这里记为系统每进行一次模式切换的同时也会更新当前服务级别确定模式切换后低关键任务新的服务质量。假设初始状态且若系统此时经历了第kth次模式转换,那低关键任务τi新的服务质量为即低关键任务的执行频率从原来调整为
定义三:k级最大执行资源预算上限
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,这里记为假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,因此对于整个任务集而言,0级最大执行资源预算上限为:
k级最大执行资源预算上限可以通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到。当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则会触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级。所有k级最大执行资源预算为:
除此之外,其他相关利用率的计算公式如下。
高关键任务在低关键模式下资源利用率:
高关键任务在高关键模式下资源利用率:
低关键任务资源利用率:
低关键任务在第kth次独立模式转换后资源利用率:
对于整个任务集而言,
高关键任务在高关键模式下资源利用率:
高关键任务在低关键模式下资源利用率:
低关键任务资源利用率:
低关键任务在第kth次独立模式转换后利用率:
步骤2:建立执行框架。
初始状态下,所有任务处于低关键模式。在调度执行过程中,一旦任何一个高关键作业出现超支情况,则会触发其自身切换至高关键模式,同时系统高关键模式级别也会提高一级。若调度过程中返回至低关键模式条件成立,所有任务又会回到低关键模式,如此反复直至调度结束。执行框架如图1所示。
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度。当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级。
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别低关键任务执行频率由原来调整为的变化是由高关键任务具体的超支情况动态进行调整的。在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度。
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti。
步骤3:建立调度算法。
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性。计算所有高关键任务能保持在低关键模式下运行的最大资源花销用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标。
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度。同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡。根据公式7计算在新高关键模式下最大执行资源预算。在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束。
算法实现框架如图2所示。第1-2行是调度开始前的离线计算过程,首先根据公式12-公式14、公式6分别计算利用率uhl、uhh、并通过计算得到高关键任务在低关键模式下的虚拟截止时间因子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实际执行总时长有关。因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新环节,将当次调度运行的时长ei,j累加进
模式切换条件。假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换。表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
为清楚展示,下面是基于本发明方法的例子。在本调度样例中,考虑一个任务集,该系统包含有三个任务γ={τ1,τ2,τ3},如表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,且满足可调度性的测试条件。用改进前后两种方法进行调度的具体过程可见图4a-4b所示。
表1:混合关键任务调度样例调度情况
由于在现有调度方法中高关键任务在低关键模式下的最坏执行时间预算估计是在调度前就已确定的,只要高关键任务处于低关键模式下就会分配给规定好的这么多执行时间预算,一旦高关键任务在低关键模式下的最坏执行时间预算估计内未能完成,则切换至高关键模式,分配给高关键任务更多的执行时间预算。这种方式是静态的预算分配方式,预算是在任务开始调度前就已经规定好的,并不需要考虑任务的实际运行情况。实际上,若高关键任务实际执行时间远小于其最坏执行时间预算估计时则会造成大量的资源浪费。
本发明着眼于混合关键系统任务调度,针对上述问题提出一套更实际灵活的动态混合关键系统任务调度方法,高关键任务在低关键模式下会根据其运行的实际执行时间需求动态分配系统资源,不再按调度前已分配好的执行时间预算估计进行静态分配;高关键任务在低关键模式下切换到高关键模式的条件也不再是以其执行时间预算估计为指标,而是会根据所有在低关键模式下的高关键任务的实际运行情况动态计算给出。在确保高关键任务的可调度性下减少不必要的悲观处理带来的大量资源浪费。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。
Claims (9)
1.一种灵活动态混合关键系统调度方法,其特征在于,包括如下步骤:
步骤1:建立任务模型、定义K级高关键模式、服务级别和K级最大执行资源预算上限;
步骤2:建立执行框架;初始状态下,所有任务处于低关键模式,在调度执行过程中,一旦任何一个高关键作业出现超支情况,则会触发其自身切换至高关键模式,同时系统高关键模式级别也会提高一级,若调度过程中返回至低关键模式条件成立,所有任务又会回到低关键模式,如此反复直至调度结束;
步骤3:建立调度算法;
在调度开始前,判断系统是否需要切换到高关键模式的指标;
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡;计算在新高关键模式下最大执行资源预算;在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
步骤4:建立最大执行预算分配策略;
若高关键任务在低关键模式下调度执行所需要的实际时间大于由最大执行预算分配策略计算得到所能分配到的最大执行预算,那么此时该高关键任务立即切换至高关键模式,其他高关键任务仍保持原有模式不变。
2.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1的建立任务模型包括:考虑N个Γ={τ1,τ2,...,τn}非依赖的周期任务在单核处理器平台上混合关键调度的情况Γ={τ1,τ2,...,τn},其中任意任务τi的特征可被表示为其中Li表示任务的关键级别,考虑双关键系统的情况,即Li={LO,HI},Ti表示任务的周期,截止时间等于其周期,表示任务τi在高关键模式下的最差执行时间WCET,表示任务τi在低关键模式下的最差执行时间WCET,低关键任务在低关键模式和高关键模式下的WCET相等,高关键任务则分别拥有不同的两个WCET且满足
混合关键系统任务集的利用率可由以下公式计算
当任一高关键任务出现超支且需要低关键任务进行补偿时,低关键任务新的系统利用率更新如下:
3.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1定义K级高关键模式包括:
在给定时刻,如果k个高关键任务切换至高关键模式,则系统处于k级高关键模式,所有高关键任务都处于低关键模式时,认为系统处于0级高关键模式。
5.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤1定义K级最大执行资源预算上限包括:
k级最大执行资源预算上限指的是系统处于k级高关键模式时,所有处于低关键模式的高关键任务仍能保持在低关键模式下运行的最大资源花销,记为假设0级最大执行资源预算上限为所有高关键任务在低关键模式下执行时间预算估计对于系统CPU利用率的总和,对于整个任务集而言,0级最大执行资源预算上限为:
k级最大执行资源预算上限通过0级最大执行资源预算上限减去已切换至高关键模式的高关键任务在切换至高关键模式前低关键模式下所消耗的花销得到,当系统处于k级高关键模式时,一旦剩余仍处于低关键模式的高关键任务运行资源花销超过k级最大执行资源预算上限,则触发新的高关键任务进行模式切换,系统所处的高关键模式会提高一级,所有k级最大执行资源预算为:
7.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤2的执行框架包括:
调度执行:在调度过程中,当有新的作业释放就会插入待调度任务队列中,系统会在待调度任务队列里选择优先级最高的作业进行调度,当作业τi,j为高关键作业且τi,j在bi,j内没能完成,高关键任务τi立即从低关键模式切换至高关键模式,其他高关键任务仍保持原来模式不变,系统高关键模式级别k提高一级;
更新低关键任务执行时间预算:在调度执行过程中,系统每进行一次模式切换的同时也会更新低关键任务当前服务级别低关键任务执行频率由原来调整为 的变化是由高关键任务具体的超支情况动态进行调整的,在新的高关键模式级别下,低关键作业执行时间预算不变,按照新的截止时间进行调度;
恢复回低关键模式:当系统检测到空闲状态,即无更多待调度任务时,系统恢复回低关键模式,低关键任务执行频率恢复回Ti。
8.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤3包括如下具体步骤:
在调度开始前,通过计算得到虚拟截止时间因子x,并需要满足公式16测试条件方可确保任务在该方法下的可调度性,计算所有高关键任务能保持在低关键模式下运行的最大资源花销用来在在线任务调度运行阶段作为判断系统是否需要切换到高关键模式的指标;
调度开始,初始状态下,所有高关键任务都会按照虚拟截止时间x×Ti进行调度,当任何一个高关键任务出现超支时,立即切换至高关键模式,此时该超支的高关键任务调度所用的截止时间从原虚拟截止时间x×Ti恢复至实际截止时间Ti,其他的高关键任务不受影响,仍保持原截止时间进行调度,同时根据公式18更新在新服务级别下低关键任务的执行频率,以达到低关键任务和高关键任务之间的利用平衡,根据公式7计算在新高关键模式下最大执行资源预算,在调度过程中,当系统检测到空闲状态,即无更多待调度任务时,系统会恢复回低关键模式,低关键任务执行频率恢复回Ti,直至调度结束;
9.根据权利要求1所述的灵活动态混合关键系统调度方法,其特征在于,所述步骤4分为四个环节,包括计算、切换、更新和恢复;
计算:当从待调度任务队列中选择当前调度指派的作业为高关键作业时,根据公式19计算本次调度作业τi,j在低关键模式下可分配到的最大执行时间预算bi,j,后续用作是否触发切换至高关键模式的指标,当从待调度任务队列中选择当前调度指派的作业为低关键作业时,则无需进行该计算环节;
切换:当高关键作业τi,j在其最大执行时间预算bi,j内没能完成,则触发模式切换这个环节,高关键任务立即从低关键模式切换至高关键模式,高关键模式级别k提高一级,此任务的超支不会触发其他高关键任务进入高关键模式,所有其他高关键任务保持原来的模式不变,在新的高关键模式级别下,系统根据高关键任务的超支情况,重新确定低关键任务的执行频率,以平衡由高关键任务超支引起的资源需求,低关键任务执行时间预算不变,按照新的截止时间进行调度,同时需要重新确定在该新的高关键模式级别下剩余未切换至高关键模式下的高关键任务仍能保持在低关键模式下运行的最大执行资源,用以后续计算;
更新:由公式19可知,计算高关键作业可分配到的最大执行时间预算bi,j与其他高关键作业τn,j实际执行总时长有关,因此在每个高关键作业τi,j完成或者被更高优先级作业抢占需要回到待调度队列时就会触发更新环节,将当次调度运行的时长ei,j累加进
模式切换条件,假设在时刻t°,系统处于非空闲状态,作业τn,j正在进行调度,此时触发了系统的模式切换,表示在时刻t之前,任务τi的第|t/Ti|+1个作业τi,j执行的总时长,若作业τn,j本次调度是从时刻t开始的并在时刻t°发生了超支情况,t≤t°,那么一定满足:
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)
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 | 北京理工大学 | 一种基于汽车嵌入式平台的混合关键系统部署方法及装置 |
-
2022
- 2022-09-21 CN CN202211150040.5A patent/CN115619002A/zh active Pending
Cited By (3)
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 |