CN108845870B - 一种基于pWCET整形的概率性实时任务调度方法 - Google Patents

一种基于pWCET整形的概率性实时任务调度方法 Download PDF

Info

Publication number
CN108845870B
CN108845870B CN201810586591.3A CN201810586591A CN108845870B CN 108845870 B CN108845870 B CN 108845870B CN 201810586591 A CN201810586591 A CN 201810586591A CN 108845870 B CN108845870 B CN 108845870B
Authority
CN
China
Prior art keywords
task
probabilistic
time
job
priority
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.)
Active
Application number
CN201810586591.3A
Other languages
English (en)
Other versions
CN108845870A (zh
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.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
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 Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201810586591.3A priority Critical patent/CN108845870B/zh
Publication of CN108845870A publication Critical patent/CN108845870A/zh
Application granted granted Critical
Publication of CN108845870B publication Critical patent/CN108845870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

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

本发明提供了一种基于pWCET整形的概率性实时任务调度方法,属于实时系统技术领域。本发明提出一种基于概率性最坏情况执行时间整形的概率性实时任务调度方案,以达到适当隔离概率性实时任务之间的影响并降低系统可调度性分析计算复杂度的目标。本发明对概率性实时任务的pWCET进行整形并基于整形后的pWCET进行执行预算分配,在满足各个任务的概率性实时需求的同时,可以适当隔离概率性实时任务之间的影响,使整个任务集合的可调度性显著提高。此外,整形后的pWCET的值数比原有的pWCET明显降低,能够降低可调度性分析的计算复杂度,显著提高效率。

Description

一种基于pWCET整形的概率性实时任务调度方法
技术领域
本发明属于实时系统技术领域,尤其涉及一种基于概率性最坏情况执行时间(probabilistic Worst Case Execution Time,简称pWCET)整形的概率性实时任务调度方法。
背景技术
随着芯片技术的飞速发展,高性能微处理器越来越广泛地应用于安全关键领域(如航空电子、汽车、工业控制等),以满足安全关键领域中急剧增长的计算密集型负载的需求。虽然高性能微处理器可以降低任务的平均执行时间,但由于处理器架构的复杂性,导致某些任务的最坏情况执行时间(Worst Case Execution Time,简称WCET)较大,因此需要较高的超量配置(Over-provisioning)来满足系统的实时性需求。为了缓解超量配置问题,提高资源的利用率,同时满足实时性需要,可以利用概率的方法来解决WCET的不确定性问题。此外,安全关键系统倾向于在共享平台上集成多个拥有不同安全性要求的功能,而安全性需求通常基于故障概率进行认证。例如,在民用航空电子标准DO-178C中,根据每小时运行的故障率确定了五个安全等级。对于最高完整性级别的商用机载系统,认证机构要求系统组件每小时的最大允许故障率为10-9。因此,为以概率形式描述WCET的概率性实时系统提供安全高效的调度策略至关重要,从而在满足系统的概率性实时需求的同时实现资源的高效利用。
对于拥有确定性WCET的周期性实时任务的固定优先级调度问题,Liu和Layland对速率单调(Rate Monotonic,简称RM)调度算法的最优性进行了分析。近年来,Maxim等人针对单处理器平台研究了拥有概率性WCET的实时任务的固定优先级分配问题,提出了基于Audsley算法的优先级分配方法。Audsley算法对于确定性WCET的实时任务来说是最优的固定优先级分配方法,但是对于拥有概率性WCET的实时任务来说,由于它没有考虑任务之间隔离性和任务的概率性实时需求,系统的资源利用率无法得到保证。
先前的解决方案主要存在两方面的缺陷。首先,它们不能保证概率性实时任务之间的适当隔离。由于高优先级任务对低优先级任务的干扰,考虑到任务的概率性实时需求时,整个系统的可调度性会明显降低。第二,在可调度性分析中,直接使用了任务的概率性最坏情况执行时间(probabilistic Worst Case Execution Time,简称pWCET)估计中的所有值。但是,概率性实时系统的响应时间分析的复杂度相对于任务数和pWCET估计的值数呈指数关系,而实际应用中pWCET估计可能涉及几千个值,这使得可调度性分析的计算复杂度非常高。
鉴于上述已有研究方案的不足,本发明通过基于pWCET整形的执行预算分配来减少概率实时系统异常作业时间性行为的传播,提出一种可以克服上述问题的概率实时任务调度的pWCET整形方法。
发明内容
针对现有技术存在的问题,本发明提出一种基于概率性最坏情况执行时间整形的概率性实时任务调度方案,以达到适当隔离概率性实时任务之间的影响并降低系统可调度性分析计算复杂度的目标。
本发明的技术方案:
一种基于pWCET整形的概率性实时任务调度方法,步骤如下:
步骤1、分配任务优先级
采用RM固定优先级分配方法,把任务集合中的任务按照任务周期从小到大的顺序排列,周期越小,任务优先级越高;
步骤2、基于概率性最坏情况执行时间整形计算每个概率性实时任务的执行预算
对任务集合按照优先级从高到低的顺序排列,依次计算每个任务的执行预算,对于排序为i的概率性实时任务τi,周期为Ti,截止期为Di,其中Di=Ti,任务错过截止期的概率性需求为
Figure BDA00016874748700000221
概率性最坏情况执行时间pWCET为:
Figure BDA0001687474870000021
其中,
Figure BDA0001687474870000022
为最坏情况执行时间为
Figure BDA0001687474870000023
的概率,
Figure BDA0001687474870000024
并且
Figure BDA0001687474870000025
为从小到大排列;
任务τi的执行预算Bi的计算方法为:
步骤2.1、找到一个最小的
Figure BDA0001687474870000026
使其满足
Figure BDA0001687474870000027
计算优先级大于τi的所有任务以及τi的累计利用率
Figure BDA0001687474870000028
如果U≤i(21/i-1)则
Figure BDA0001687474870000029
然后执行步骤2.3,如果U>i(21/i-1)则执行步骤2.2;
步骤2.2、计算任务τi的WCET为
Figure BDA00016874748700000210
的作业的满足截止期概率
Figure BDA00016874748700000211
如果存在
Figure BDA00016874748700000212
使得
Figure BDA00016874748700000213
那么
Figure BDA00016874748700000214
然后执行步骤2.3,如果满足条件的
Figure BDA00016874748700000215
不存在,则说明任务集合是不可调度的,调度失败;
步骤2.2.1、计算任务τi的作业在其他任务都执行一个作业时的概率性响应时间:
定义两个概率性最坏情况执行时间
Figure BDA00016874748700000216
Figure BDA00016874748700000217
的卷积运算
Figure BDA00016874748700000218
Figure BDA00016874748700000219
Figure BDA00016874748700000220
中的最坏执行时间分别两两相加,其对应的概率相乘,假如两个pWCET的最坏情况执行时间数量分别为o和u,计算得到列数为o×u的矩阵,然后合并最坏执行时间相同的列,即最坏情况执行时间不变,概率相加;
以上定义的卷积运算
Figure BDA0001687474870000031
计算WCET
Figure BDA0001687474870000032
的作业在其他任务都执行一个作业时的初始概率性响应时间:
Figure BDA0001687474870000033
然后为优先级高于任务τi的每个任务τt设置一个变量preemptt来记录任务τi的作业完成之前任务τt的作业到达次数(抢占次数),其初始值为1,
Figure BDA0001687474870000034
初始化为0;
步骤2.2.2、删除
Figure BDA0001687474870000035
中响应时间大于任务τi的周期(截止期)的列,即若存在
Figure BDA0001687474870000036
则删除
Figure BDA0001687474870000037
和px,删除之后如果
Figure BDA0001687474870000038
为空,则
Figure BDA0001687474870000039
结束运算,否则执行步骤2.2.3;
步骤2.2.3、选择
Figure BDA00016874748700000310
中最小的响应时间列
Figure BDA00016874748700000311
设置一个抢占标记noPreempt=TRUE,对于优先级大于任务τi的每个任务τt执行以下计算:
Figure BDA00016874748700000312
如果numPreempt>preemptt则标记noPreempt=FALSE,然后对
Figure BDA00016874748700000313
与每个高优先级任务τt整形后的概率性最坏情况执行时间
Figure BDA00016874748700000314
进行numPreempt-preemptt次卷积计算:
Figure BDA00016874748700000315
然后删除
Figure BDA00016874748700000316
中响应时间大于任务τi的周期(截止期)的列,即若存在
Figure BDA00016874748700000317
则删除
Figure BDA00016874748700000318
和px,删除后如果
Figure BDA00016874748700000319
为空,则
Figure BDA00016874748700000320
为当前值,运算结束;否则preemptt的值更新为numPreempt的值;
对于优先级高于任务τi的每个任务τt执行完上述操作后判断noPreempt=TRUE是否成立,如果成立,则计算
Figure BDA00016874748700000321
Figure BDA00016874748700000322
中删除
Figure BDA00016874748700000323
的列;
步骤2.2.4、循环执行步骤2.2.3,直到
Figure BDA0001687474870000041
为空,则最终的
Figure BDA0001687474870000042
值即为所求任务τt的WCET为
Figure BDA0001687474870000043
的作业满足截止期的概率值;
步骤2.3、确定Bi的值后,假设
Figure BDA0001687474870000044
计算整形后的概率性WCET
Figure BDA0001687474870000045
用于较低优先级任务执行预算的计算:
Figure BDA0001687474870000046
步骤3、基于执行预算的概率性实时任务集合调度方案
对于一个任务集合,每个任务根据任务优先级进行调度;如果低优先级的任务作业正在执行,高优先级任务的作业到来,则高优先级任务作业对资源进行抢占;高优先级任务作业执行结束后,若低优先级任务的作业没有错过截止期则继续执行,如果错过截止期则本作业失败,等待下一个作业到达;每个任务的执行时间不大于其执行预算,如果某任务的一个作业的执行时间达到执行预算,则此作业停止执行,如果执行预算未用完,则用于执行其它任务。
本发明的有益效果:本发明对概率性实时任务的pWCET进行整形并基于整形后的pWCET进行执行预算分配,在满足各个任务的概率性实时需求的同时,可以适当隔离概率性实时任务之间的影响,使整个任务集合的可调度性显著提高。此外,整形后的pWCET的值数比原有的pWCET明显降低,能够降低可调度性分析的计算复杂度,显著提高效率。
附图说明
图1为在时间间隔[0,10]上的同步到达序列模拟(τ2满足截止期情况);
图2为在时间间隔[0,10]上的同步到达序列模拟(τ2错过截止期情况);
图3为在时间间隔[0,10]上的同步到达序列模拟(τ2可调度情况);
图4为不同算法的概率性可调度任务集合比率;
图5为对于所有任务集合每个任务集合的平均求解时间;
图6为对于可调度任务集合每个任务集合的平均求解时间;
图7为对于不可调度任务集合每个任务集合的平均求解时间;
图8为不同pWCET规模下对于所有任务集合每个任务集合的平均求解时间。
具体实施方式
下面结合附图对本发明一种实施例做进一步说明。
例如有一个任务集合包含两个任务:任务τ1的周期为T1=5,截止期为D1=5,任务错过截止期的概率性需求为
Figure BDA0001687474870000051
pWCET为
Figure BDA0001687474870000052
任务τ2的周期为T2=10,截止期为D2=10,任务错过截止期的概率要求为
Figure BDA0001687474870000053
pWCET为
Figure BDA0001687474870000054
在介绍本项发明的实施例之前,我们先用Audsley算法进行调度分析,分析此任务集合是否为可调度的。
首先因为任务τ2的最小WCET为7,大于任务τ1的截止期5,并且任务τ1的错过截止期的概率性需求为
Figure BDA0001687474870000055
可知任务τ1优先级高于τ2,并且任务τ1的概率性响应时间为
Figure BDA0001687474870000056
如图1所示,任务τ1最坏情况执行时间始终为1,任务τ2的最坏情况执行时间为7或8时,任务τ2可以满足截止期。如图2所示,任务τ1存在最坏情况执行时间为4的作业时,任务τ2无论如何也不能满足截止期。经过两图中的概率计算,可以得出任务τ2的概率性响应时间为
Figure BDA0001687474870000057
其中
Figure BDA0001687474870000058
表示响应时间大于任务截止期的情况。因此,任务τ2满足截止期的概率为0.648+0.162=0.81,而错过截止期的概率为0.19。因为任务τ2错过截止期的概率性需求为
Figure BDA0001687474870000059
而任务τ2的实际错过截止期概率
Figure BDA00016874748700000510
因此,利用此种调度方法不能满足调度性要求,导致调度失败。
在使用Audsley算法进行任务调度分析的过程中,导致实施例不可调度的主要原因是任务τ1的作业的WCET有0.1的概率为4,这使得任务τ2没有足够的执行时间而错过截止期。但是考虑到概率性实时任务有错过截止期的概率性需求,也就是说任务可以在一定概率下错过截止期,只要满足概率性需求即可。本发明考虑在满足任务错过截止期的概率性需求的条件下,为每个任务分配一定的执行预算,当任务作业的执行时间超出执行预算时,将直接将其丢弃,从而实现不同任务之间的时间行为的隔离。在本实施例中,为任务τ1分配的执行预算为1,当任务τ1的作业执行时间为4时,将直接丢弃。由于WCET为4的作业出现的概率为0.1,所以即使将其全部丢弃,任务τ1能够正常完成的概率还有0.9,能够满足错过截止期的概率性要求
Figure BDA0001687474870000061
的条件。这样就在一定程度上隔离任务τ1的执行对任务τ2的影响,通过以上分析来看任务τ2的作业都可以顺利执行,使得此任务集合可调度。
本发明的核心在于在满足任务错过截止期的概率性需求的条件下,为每个任务分配一定的执行预算,当任务的某个作业的执行时间超出该预算时该作业将被丢弃,基于此对概率性最坏情况执行时间进行整形,整形后的pWCET使任务能够满足自身的概率性实时需求,又可以适当隔离概率性实时任务之间的影响,提高整个任务集合的可调度性。同时,整形后的pWCET的值数比原有的pWCET明显降低,能够降低可调度性分析的计算复杂度,提高效率。
下面将以上任务集合为例,展示本发明的具体实施方式。
步骤1、分配任务优先级。
把任务集合中的任务按照任务周期从小到大的顺序排列,周期越小,任务优先级越高。因为T1<T2,可知任务τ1优先级高于τ2
步骤2、基于概率性最坏情况执行时间整形计算每个概率性任务的执行预算。
首先找到一个最小的
Figure BDA0001687474870000062
使其满足
Figure BDA0001687474870000063
计算优先级大于τi的任务以及τi的累计的利用率
Figure BDA0001687474870000064
如果U≤i(21/i-1)则
Figure BDA0001687474870000065
确定Bi的值后(假设
Figure BDA0001687474870000066
),计算整形后的概率性最坏情况执行时间
Figure BDA0001687474870000067
Figure BDA0001687474870000068
对任务τ1来说
Figure BDA0001687474870000069
则最小
Figure BDA00016874748700000610
为1,因为任务τ1的优先级最高,任务τ1的执行预算为
Figure BDA00016874748700000611
整形后的概率性最坏情况执行时间为
Figure BDA00016874748700000612
对任务τ2来说
Figure BDA00016874748700000613
则最小
Figure BDA00016874748700000614
为8,比任务τ2优先级高的任务τ1和任务τ2的累计利用率为
Figure BDA00016874748700000615
因为U=1>2(21/2-1)≈0.83,因此,需要针对任务τ2的各个可能WCET
Figure BDA00016874748700000616
计算满足截止期的概率
Figure BDA00016874748700000617
进而确定是否可以为其分配合适的执行预算。首先,初始化
Figure BDA00016874748700000618
设置任务τ1的抢占次数为preempt1=1,计算初始的响应时间
Figure BDA00016874748700000619
Figure BDA0001687474870000071
因为
Figure BDA0001687474870000072
中响应时间都小于任务τ2的周期(截止期),因此选择
Figure BDA0001687474870000073
中的最小的响应时间列
Figure BDA0001687474870000074
并标记noPreempt=TRUE,同时对于优先级高于任务τ2的任务τ1计算抢占次数
Figure BDA0001687474870000075
因为numPreempt>preempt1,所以标记
noPreempt=FALSE,然后
Figure BDA0001687474870000076
与任务τ1整形后的概率性最坏情况执行时间
Figure BDA0001687474870000077
进行numPreempt-preempt1=1次卷积计算:
Figure BDA0001687474870000078
因为
Figure BDA0001687474870000079
中的响应时间都小于任务τ2的周期,因此设置preempt1=numPreempt=2。因为noPreempt=TRUE成立,因此
Figure BDA00016874748700000710
删除
Figure BDA00016874748700000711
后,
Figure BDA00016874748700000712
为空,
Figure BDA00016874748700000713
即WCET为
Figure BDA00016874748700000714
的作业的满足截止的概率值。因为
Figure BDA00016874748700000715
所以需要进一步计算WCET为
Figure BDA00016874748700000716
的作业的满足截止期的概率
Figure BDA00016874748700000717
计算过程同
Figure BDA00016874748700000718
可得
Figure BDA00016874748700000719
所以任务τ2的执行预算为
Figure BDA00016874748700000720
整形后的概率性最坏情况执行时间为
Figure BDA00016874748700000721
步骤3、基于执行预算的概率性任务集合调度方案。
经过整形之后,两个任务的概率性最坏情况执行时间分别为
Figure BDA00016874748700000723
Figure BDA00016874748700000722
调度情况如图3所示,因为任务τ1优先级较高,所以资源优先被分配给τ1的作业,当任务τ1的第一个作业执行1个单位时间之后任务完成执行,释放资源,任务τ2的第一个作业才可使用资源。当任务τ2的第一个作业运行4个单位时间后,任务τ1的第二个作业到达,这时虽然任务τ2并没有完成但是由于任务τ1优先级更高则进行资源抢占,任务τ2的第一个作业挂起,任务τ1的第二个作业运行。运行1个单位时间后任务τ1的第二个作业完成执行,释放资源,任务τ2的第一个作业继续运行。不管任务τ2的第一个作业执行时间是7还是8,在其周期内都有足够的时间完成,所以最终此任务集合是可调度的。
分析发现,已有的任务调度算法并不能成功调度本实施例,而本发明提出的一种基于概率性最坏情况执行时间整形的实时任务调度方法可以成功调度本实施例。同时,对pWCET整形后,调度算法的计算复杂度也可以有效降低。
本发明优点:本发明在满足任务错过截止期的概率性需求的条件下,为每个任务分配特定的执行预算,当任务作业的执行时间超过该预算时,作业将被丢弃,基于此对概率性最坏情况执行时间进行整形,整形后的pWCET使任务能够满足自身的概率性实时需求,并可以适当隔离概率性实时任务之间的影响,提高任务集合的可调度性。概率性实时系统的响应时间分析的计算复杂度与任务的pWCET项数呈正相关,本发明中整形后的pWCET项数减少,从而降低了算法的计算复杂度,提高任务集合的可调度性分析效率。
验证结果:
为验证本发明的有效性,我们在配置为Intel(R)Core(TM)i5-2320CPU@3.00GHz,4核,4GB内存的台式机上进行对比实验。本发明提出的算法简称为RM-EA,选取目前是最优的固定优先级调度算法:Audsley算法和RM算法作为对比算法。实验中,随机生成100个任务集合,每个任务集合有10个任务,每个任务的过截止期的概率性需求相同,pWCET的项数为10,每一项的最坏情况执行时间为计算机随机生成的1到100之间的数值。
图4展示了不同算法的概率性可调度任务集合比率,可以看出,随着截止期满足的概率性需求的提高,越来越多的任务集合无法调度。三种算法的效果对比,本发明提出的RM-EA算法能调度更多任务集合,证明本发明能有效提高概率性实时任务集合的可调度性。图5展示了对于所有任务集合每个任务集合的平均求解时间,结果显示,RM-EA算法的平均求解时间更低。图6和图7分别展示了可调度任务集合和不可调度任务集合的平均求解时间。结果表明,无论是对可调度还是不可调度的任务集合,RM-EA算法的平均求解时间都比对比算法低。当作业满足截止期的概率性需求为0.95时,从图4结果可知,Audsley算法和RM算法可调度任务集合的比率为0,故而图6中两对比算法的平均求解时间为0,比RM-EA算法要小。图8展示了不同pWCET规模下对于所有任务集合每个任务集合的平均求解时间,可以看出,pWCET值个数(也就是项数)越多,平均求解时间越长,显然RM-EA算法的求解时间相对较短。图5,6,7,8的结果表明本发明能有效提高系统的可调度性,并降低可调度性分析的计算复杂度。

Claims (1)

1.一种基于pWCET整形的概率性实时任务调度方法,其特征在于:步骤如下:
步骤1、分配任务优先级
采用RM固定优先级分配方法,把任务集合中的任务按照任务周期从小到大的顺序排列,周期越小,任务优先级越高;
步骤2、基于概率性最坏情况执行时间整形计算每个概率性实时任务的执行预算
对任务集合按照优先级从高到低的顺序排列,依次计算每个任务的执行预算,对于排序为i的概率性实时任务τi,周期为Ti,截止期为Di,其中Di=Ti,任务错过截止期的概率性需求为
Figure FDA00029555469400000123
概率性最坏情况执行时间pWCET为:
Figure FDA0002955546940000011
其中,
Figure FDA0002955546940000012
为最坏情况执行时间为
Figure FDA0002955546940000013
的概率,
Figure FDA0002955546940000014
并且
Figure FDA0002955546940000015
为从小到大排列;
任务τi的执行预算Bi的计算方法为:
步骤2.1、找到一个最小的
Figure FDA0002955546940000016
使其满足
Figure FDA0002955546940000017
计算优先级大于τi的所有任务以及τi的累计利用率
Figure FDA0002955546940000018
如果
Figure FDA00029555469400000124
Figure FDA00029555469400000125
然后执行步骤2.3,如果U>i(21/i-1)则执行步骤2.2;
步骤2.2、计算任务τi的WCET为
Figure FDA00029555469400000110
的作业的满足截止期概率
Figure FDA00029555469400000111
如果存在
Figure FDA00029555469400000112
使得
Figure FDA00029555469400000113
那么
Figure FDA00029555469400000114
然后执行步骤2.3,如果满足条件的
Figure FDA00029555469400000115
不存在,则说明任务集合是不可调度的,调度失败;
步骤2.2.1、计算任务τi的作业在其他任务都执行一个作业时的概率性响应时间:
定义两个概率性最坏情况执行时间
Figure FDA00029555469400000116
Figure FDA00029555469400000117
的卷积运算
Figure FDA00029555469400000118
Figure FDA00029555469400000119
Figure FDA00029555469400000120
中的最坏执行时间分别两两相加,其对应的概率相乘,假如两个pWCET的最坏情况执行时间数量分别为o和u,计算得到列数为o×u的矩阵,然后合并最坏执行时间相同的列,即最坏情况执行时间不变,概率相加;
以上定义的卷积运算
Figure FDA00029555469400000121
计算
Figure FDA00029555469400000122
的作业在其他任务都执行一个作业时的初始概率性响应时间:
Figure FDA0002955546940000021
然后为优先级高于任务τi的每个任务τt设置一个变量preemptt来记录任务τi的作业完成之前任务τt的作业到达次数,其初始值为1,
Figure FDA0002955546940000022
初始化为0;
步骤2.2.2、删除
Figure FDA0002955546940000023
中响应时间大于任务τi的周期的列,即若存在
Figure FDA0002955546940000024
则删除
Figure FDA0002955546940000025
和px,删除之后如果
Figure FDA0002955546940000026
为空,则
Figure FDA0002955546940000027
结束运算,否则执行步骤2.2.3;
步骤2.2.3、选择
Figure FDA0002955546940000028
中最小的响应时间列
Figure FDA0002955546940000029
设置一个抢占标记noPreempt=TRUE,对于优先级大于任务τi的每个任务τt执行以下计算:
Figure FDA00029555469400000210
如果numPreempt>preemptt则标记noPreempt=FALSE,然后对
Figure FDA00029555469400000211
与每个高优先级任务τt整形后的概率性最坏情况执行时间
Figure FDA00029555469400000212
进行numPreempt-preemptt次卷积计算:
Figure FDA00029555469400000213
然后删除
Figure FDA00029555469400000214
中响应时间大于任务τi的周期的列,即若存在
Figure FDA00029555469400000215
则删除
Figure FDA00029555469400000216
和px,删除后如果
Figure FDA00029555469400000217
为空,则
Figure FDA00029555469400000218
为当前值,运算结束;否则preemptt的值更新为numPreempt的值;
对于优先级高于任务τi的每个任务τt执行完上述操作后判断noPreempt=TRUE是否成立,如果成立,则计算
Figure FDA00029555469400000219
Figure FDA00029555469400000220
中删除
Figure FDA00029555469400000221
的列;
步骤2.2.4、循环执行步骤2.2.3,直到
Figure FDA00029555469400000222
为空,则最终的
Figure FDA00029555469400000223
值即为所求任务τt的WCET为
Figure FDA00029555469400000224
的作业满足截止期的概率值;
步骤2.3、确定Bi的值后,假设
Figure FDA00029555469400000225
计算整形后的概率性
Figure FDA00029555469400000226
用于较低优先级任务执行预算的计算:
Figure FDA00029555469400000227
步骤3、基于执行预算的概率性实时任务集合调度方案
对于一个任务集合,每个任务根据任务优先级进行调度;如果低优先级的任务作业正在执行,高优先级任务的作业到来,则高优先级任务作业对资源进行抢占;高优先级任务作业执行结束后,若低优先级任务的作业没有错过截止期则继续执行,如果错过截止期则本作业失败,等待下一个作业到达;每个任务的执行时间不大于其执行预算,如果某任务的一个作业的执行时间达到执行预算,则此作业停止执行,如果执行预算未用完,则用于执行其它任务。
CN201810586591.3A 2018-05-29 2018-05-29 一种基于pWCET整形的概率性实时任务调度方法 Active CN108845870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810586591.3A CN108845870B (zh) 2018-05-29 2018-05-29 一种基于pWCET整形的概率性实时任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810586591.3A CN108845870B (zh) 2018-05-29 2018-05-29 一种基于pWCET整形的概率性实时任务调度方法

Publications (2)

Publication Number Publication Date
CN108845870A CN108845870A (zh) 2018-11-20
CN108845870B true CN108845870B (zh) 2021-05-07

Family

ID=64211605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810586591.3A Active CN108845870B (zh) 2018-05-29 2018-05-29 一种基于pWCET整形的概率性实时任务调度方法

Country Status (1)

Country Link
CN (1) CN108845870B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110865886B (zh) * 2019-11-01 2022-09-16 大连理工大学 面向多概率性参数实时任务的和谐感知多处理器调度方法
CN114860397A (zh) * 2022-04-14 2022-08-05 深圳清华大学研究院 一种任务调度方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893148A (zh) * 2016-03-30 2016-08-24 华侨大学 一种基于rm策略的偶发任务低能耗调度方法
CN105955815A (zh) * 2016-06-17 2016-09-21 电子科技大学 多功能组网雷达任务规划方法
CN107567617A (zh) * 2015-05-14 2018-01-09 通用电气公司 用于多级实时调度分析的系统及方法
CN107766140A (zh) * 2017-10-30 2018-03-06 华中科技大学 一种带抢占点实时任务的可调度性分析方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120005684A1 (en) * 2010-07-02 2012-01-05 Fiji Systems, Inc. Priority rollback protocol
US10102031B2 (en) * 2015-05-29 2018-10-16 Qualcomm Incorporated Bandwidth/resource management for multithreaded processors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107567617A (zh) * 2015-05-14 2018-01-09 通用电气公司 用于多级实时调度分析的系统及方法
CN105893148A (zh) * 2016-03-30 2016-08-24 华侨大学 一种基于rm策略的偶发任务低能耗调度方法
CN105955815A (zh) * 2016-06-17 2016-09-21 电子科技大学 多功能组网雷达任务规划方法
CN107766140A (zh) * 2017-10-30 2018-03-06 华中科技大学 一种带抢占点实时任务的可调度性分析方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Response Time Analysis for Fixed-Priority Tasks with Multiple Probabilistic Parameters;Dorin Maxim;《2013 IEEE 34th Real-Time Systems Symposium》;20131231;第224-235页 *
Workload-Aware Harmonic Partitioned Scheduling for Probabilistic Real-Time Systems;Jiankang Ren;《IEEE》;20180331;第213-218页 *
一种无线网络控制系统概率性任务实时调度算法;吴国伟;《大连理工大学学报》;20151130;第638-643页 *

Also Published As

Publication number Publication date
CN108845870A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
Goel et al. A comparative study of cpu scheduling algorithms
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
Sprunt et al. Aperiodic task scheduling for hard-real-time systems
Buttazzo et al. Limited preemptive scheduling for real-time systems. a survey
Lin et al. Scheduling scientific workflows elastically for cloud computing
CN103324525B (zh) 一种云计算环境下的任务调度方法
US10754706B1 (en) Task scheduling for multiprocessor systems
US20060195845A1 (en) System and method for scheduling executables
US6473780B1 (en) Scheduling of direct memory access
JP2012511204A (ja) リソースを最適化するためのタスク再編成方法
CN103793272A (zh) 一种周期性任务调度方法及系统
CN104794239A (zh) 一种云平台数据处理方法
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
Behera et al. A new dynamic round robin and SRTN algorithm with variable original time slice and intelligent time slice for soft real time systems
CN107291557B (zh) 一种业务处理方法和装置
CN106775975B (zh) 进程调度方法及装置
CN115309519A (zh) 基于时间触发机制的确定性任务调度编排方法、系统和存储介质
CN112579271A (zh) 用于非实时操作系统的实时任务调度方法、模块、终端和存储介质
JP4121525B2 (ja) リソース利用率を制御する方法およびコンピュータシステム
Gu et al. Improving OCBP-based scheduling for mixed-criticality sporadic task systems
Alhussian et al. An unfair semi-greedy real-time multiprocessor scheduling algorithm
Pathan Unifying fixed-and dynamic-priority scheduling based on priority promotion and an improved ready queue management technique
CN104796494A (zh) 一种云平台数据传输方法
Zouaoui et al. CPU scheduling algorithms: Case & comparative study
Sirohi et al. Improvised round robin (CPU) scheduling algorithm

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
GR01 Patent grant
GR01 Patent grant