CN103491174A - 基于延迟服务器的周期/非周期混合实时任务调度方法 - Google Patents

基于延迟服务器的周期/非周期混合实时任务调度方法 Download PDF

Info

Publication number
CN103491174A
CN103491174A CN201310445288.9A CN201310445288A CN103491174A CN 103491174 A CN103491174 A CN 103491174A CN 201310445288 A CN201310445288 A CN 201310445288A CN 103491174 A CN103491174 A CN 103491174A
Authority
CN
China
Prior art keywords
task
time
aperiodic
service device
delay service
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
CN201310445288.9A
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.)
716th Research Institute of CSIC
Original Assignee
716th Research Institute of CSIC
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 716th Research Institute of CSIC filed Critical 716th Research Institute of CSIC
Priority to CN201310445288.9A priority Critical patent/CN103491174A/zh
Publication of CN103491174A publication Critical patent/CN103491174A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种在共享内存系统中调度周期/非周期混合强实时任务的方法,该方法在保证周期任务可调度的前提下为非周期任务预留一定的执行时间,能够保证每个周期任务和接收的非周期任务都能满足其截止期限并能有效提高非周期任务的并发性。具体包括以下步骤:(1)判定周期任务集的可调度性;(2)确定延迟服务器个数和最大执行时间;(3)按照DM算法调度周期任务和延迟服务器;(4)如果步骤(3)选中的任务是延迟服务器并且存在就绪非周期任务,则在延迟服务器上调度执行非周期任务;(5)如果步骤(3)选中的任务是周期任务,则执行周期任务;(6)如果步骤(4)中不存在就绪非周期任务,则调度执行周期任务。

Description

基于延迟服务器的周期/非周期混合实时任务调度方法
技术领域
本发明涉及一种共享内存系统的实时任务调度方法,特别是一种基于延迟服务器的周期/非周期混合实时任务调度方法。
技术背景
随着电子技术、计算机技术的发展,以多核处理器、SMP为代表的共享内存系统已在实时系统中得到比较广泛的应用,如何发挥共享内存系统的并行性以及在共享内存系统上调度周期和非周期混合实时任务是一个急需解决的问题。
当前混合调度周期/非周期实时任务的算法主要有DS(deferrable server)算法(《Thedeferrable server algorithm for enhanced aperiodic responsiveness in hard real-timeenvironments》)、RB(Reservation-Based)算法(《A reservation-based algorithm forscheduling both periodic and aperiodic real-time tasks》)、SSA算法(Slack StealingAlgorithm)算法(《An optimal algorithm for scheduling soft aperiodic tasks in fixed prioritypreemptive systems》)以及其它们扩展版本。DS算法在系统设置一个高优先级的周期任务服务器,在服务器预留的时间内调度非周期任务,在满足实时周期任务的同时降低了非周期任务的响应时间;RB算法的设计思想与DS算法相似,在每个单位周期(所有周期任务周期的最大公约数)内为非周期任务预留一定的处理时间,单位周期对应于DS算法的服务器周期,降低非周期实时任务截止期限的错失率;而SSA算法离线计算周期任务未占用的时间,在未占用的时间上调度非周期任务,需要记录所有周期任务周期的最小公倍数时间内的未占用时间片,浪费大量的存储空间。
DS算法、RB算法以及SSA算法都是针对单核处理器系统提出的,并且仅能调度实时周期任务和非实时或软实时非周期任务。殷进勇在其博士论文《可重构系统中实时任务调度算法研究》和《允许多处理机故障的实时任务容错调度算法》文章中从理论上分析了周期任务和延迟服务器的可调度性,并给出了非周期任务在延迟服务器上的可调度性判定条件,但没有给出混合实时任务调度的具体技术方案。
发明内容
本发明的目的在于提供一种基于延迟服务器的周期/非周期混合实时任务调度方法。
实现本发明目的的技术方案为:一种基于延迟服务器的周期/非周期混合实时任务调度方法,包括以下步骤:
步骤1、根据周期任务的负载判定周期任务的可调度性,如果可调度则执行步骤2,否则结束操作;根据周期任务的负载判定周期任务的可调度性所用公式为:
q = max { ( Σ i = 1 k β i ) / ( 1 - C k D k ) | k = 1,2,3 , . . . , n }
其中q为周期任务需要的处理器核心数,如果q大于系统处理器核心数m,则周期任务不可调度,否则,周期任务可调度;n表示周期任务个数;βi表示任务Ti对任务Tk的负载,βi计算如下:
β i = C i P i ( 1 + P i - δ i D k ) , C i P i ≤ λ C i P i ( 1 + P i - δ i D k ) + C i - λ P i D k , C i P i > λ
其中λ=Ck/Pk;当i<k时,δi=Ci,当i=k时,δi=Di;Ci、Di、Pi和Ck、Dk、Pk分别表示任务Ti和任务Tk的执行时间、相对截止期限和周期。
步骤2、确定延迟服务器个数,在不影响周期任务可调度的前提下,确定每个延迟服务器最大执行时间;
所述延迟服务器个数h=m,m为处理器核心数,每个延迟服务器的执行时间和周期与其他服务器完全相同即 C i s = C j s , P i s = P j s ( 1 &le; i &le; m , i &NotEqual; j ) ,
Figure BDA00003878787700027
Figure BDA00003878787700028
分别表示延迟服务器Si和Sj的执行时间、周期;
确定每个延迟服务器最大执行时间的公式为:
C i s = min { ( 2 P i s + D k ) - ( 2 P i s + D k ) 2 - 4 P i s D k &beta; i s 2 | 1 &le; k &le; n }
其中,表示服务器Si的执行时间;
Figure BDA000038787877000210
表示服务器Si的周期;Dk表示任务Tk的相对截止期限;
Figure BDA000038787877000211
为延迟服务器Si对任务Tk的负载,
Figure BDA000038787877000212
计算方法如下:
&beta; i s = 1 m &times; min { m &times; ( 1 - C k D k ) - &Sigma; j = 1 k - 1 &beta; j | 1 < k &le; n } ;
其中,m表示处理器核心数,Ck和Dk分别表示任务Tk的执行时间和相对截止期限;βj表示任务Tj对任务Tk的负载。
步骤3、采用DM调度算法调度周期任务和延迟服务器;
步骤4、判定步骤3选中的任务是否为延迟服务器,若是延迟服务器,则执行步骤5,否则执行周期任务,之后返回步骤3;
步骤5、判断是否存在就绪的非周期任务,若存在就绪的非周期任务,则在延迟服务器上调度执行非周期任务,之后返回步骤3,否则执行步骤6;在延迟服务器上调度执行非周期任务,具体包括以下步骤:
步骤5-1、确定非周期任务的释放时间,非周期任务Jk在延迟服务器Si第j个周期内的释放时间计算公式如下:
R kj = ( j - 1 ) P i s , d k &le; j P i s j P i s - C i res , d k > j P i s
其中,
Figure BDA00003878787700032
表示服务器Si在第j个周期内的剩余执行时间;表示服务器Si的周期;dk表示非周期任务Jk的绝对截止期限;
步骤5-2、判断新到达非周期任务Jk的可调度性,所用公式为:
SU i + C k / D k &le; C i s / P i s , ( 1 &le; i &le; m )
其中,SUi表示延迟服务器Si的综合利用率,S(t)表示前忙碌期内截止期限还没有过期的所有非周期任务;
步骤5-3、对延迟服务器剩余执行时间进行处理,具体方法为:在调度非周期任务时,如果就绪非周期任务的执行时间总和大于延迟服务器的剩余执行时间,则创建延迟服务器时间耗尽事件,触发时间为当前时刻加剩余执行时间,否则迟服务器剩余执行时间减去非周期任务执行时间总和;
步骤5-4、采用EDF算法调度每个延迟服务器上的非周期任务。
步骤6、判断是否存在就绪的周期任务,若存在就绪的周期任务,则采用DM算法调度执行周期任务,之后返回步骤3,否则直接返回步骤3。
与现有技术相比,本发明显著优点为:(1)能够调度周期/非周期混合实时任务,保证满足所有周期实时任务和接收的非周期实时任务的截止期限;(2)非周期任务可调度性判定方法时间复杂度低,时间复杂性为O(1);(3)每个处理器核心设置一个延迟服务器,提高了非周期任务执行的并发性。
附图说明
图1为周期/非周期混合实时任务调度流程图。
图2为延迟服务器示意图。
图3为改进的EDF算法调度结果图,其中图(a)为调度结果图,图(b)为延迟服务器剩余执行时间图。
图4为周期非周期任务就绪队列图,其中图(a)周期任务就绪序列图,图(b)非周期任务就绪序列图。
具体实施方式
由于多处理机系统是分布式内存系统,而多核处理器和SMP系统是共享内存系统,两者存在很大的差异,现有的周期/非周期混合实时任务调度算法不适用于共享内存系统。本发明在现有技术的基础上,设计了一种适用于共享内存系统的周期/非周期混合实时任务调度方法。在实时系统中,周期任务是预先确定的,而非周期任务是随机到达的,该调度方法在保证周期任务可调度的前提下,最大限度地为非周期任务预留CPU处理时间,在预留的CPU处理时间上调度执行非周期任务。
本发明提供一种在共享内存系统中混合调度周期/非周期实时任务的调度方法,调度流程如图1所示,该方法首先离线判定周期任务可调度性、设置延迟服务器的个数并计算延迟服务器的执行时间,其次在线调度执行周期任务和延迟服务器,并在延迟服务器上调度非周期实时任务,具体步骤描述如下:
1.判定周期任务的可调度性
假设系统中有n个周期任务,周期任务按周期从小到大的顺序排列,用T={T1,T2,…,Tn}表示;每个周期任务Ti∈T用3元组{Ci,Di,Pi}表示,其中Ci表示任务Ti的执行时间;Di表示任务Ti的相对截止期;Pi表示Ti的周期。周期任务集T满足以下不等式,则任务集T可调度:
max { ( &Sigma; i = 1 k &beta; i ) / ( 1 - C k D k ) | k = 1, . . . , n } &le; m
其中m为处理器核心数;βi表示任务Ti对任务Tk的负载,βi计算如下:
&beta; i = C i P i ( 1 + P i - &delta; i D k ) , C i P i &le; &lambda; C i P i ( 1 + P i - &delta; i D k ) + C i - &lambda; P i D k , C i P i > &lambda;
其中λ=Ck/Pk,当i<k时,δi=Ci,当i=k时,δi=Di
2.设置延迟服务器的个数并计算每个延迟服务器的执行时间
延迟服务器是一组特定的最高优先级周期任务,用S={S1,S3,…,Sh}表示h个延迟服务器,每个服务器Si∈S用2元组
Figure BDA00003878787700054
表示,其中
Figure BDA00003878787700055
Figure BDA00003878787700056
分别表示服务器Si的执行时间和周期;只要延迟服务器的执行时间没有耗尽,剩余执行时间可在本周期内的任何时刻执行,如图2所示。
为了提高非周期任务执行的并发性,该调度方法设置h=m个延迟服务器,每个延迟服务器的执行时间和周期与其他服务器完全相同即
Figure BDA00003878787700057
&NotEqual; j ) .
延迟服务器的最大执行时间
Figure BDA000038787877000510
的计算方法如下:
C i s = min { ( 2 P i s + D k ) - ( 2 P i s + D k ) 2 - 4 P i s D k &beta; i s 2 | 1 &le; k &le; n }
其中,
Figure BDA000038787877000511
表示服务器Si的周期;Dk表示任务Tk的相对截止期限;
Figure BDA000038787877000512
为延迟服务器Si对任务Tk的负载,
Figure BDA000038787877000513
计算方法如下:
&beta; i s = 1 m &times; min { m &times; ( 1 - C k D k ) - &Sigma; j = 1 k - 1 &beta; j | 1 < k &le; n }
3.调度周期任务和延迟服务器
采用DM调度算法调度周期任务和延迟服务器,如果调度到的任务是延迟服务器时,则采用改进的EDF算法调度该服务器上的非周期任务。
4.在延迟服务器上调度非周期任务
用J={J1,J2,…}表示系统中存在的非周期任务,每个非周期任务Ji∈J用4元组{Ai,Ci,Di,di}表示,其中Ai,Ci,Di,和di分别表示非周期任务Ji的到达时间、执行时间、相对截止期限和绝对截止期限。
4.1 当非周期任务Jk到达时,查找能够接收此任务的延迟服务器,接收条件为:
SU i + C k / D k &le; C i s / P i s , ( 1 &le; i &le; m )
其中,SUi表示延迟服务器Si的综合利用率,
Figure BDA00003878787700053
S(t)表示前忙碌期内截止期限还没有过期的所有非周期任务。
4.2 若服务器Si能够接收非周期任务Jk,则把任务Jk插入本服务器的非周期任务等待序列并修改综合利用率和非周期任务集S(t):
SUi=SUi+Ck/Dk
S(t)=S(t)∪{Jk};
4.3 采用改进的EDF算法在每个延迟服务器上调度非周期任务,改进的EDF算法与标准EDF算法的区别为:在保证非周期任务满足截止期限的前提下,尽量延迟非周期任务在延迟服务器每个周期内的释放时间,以便接收更高优先级的非周期任务,调度示意图如图3所示。现以延迟服务器Si为例说明非周期任务调度步骤。
4.3.1 确定非周期任务Jk的在服务器Si的第j个周期内的释放时间,计算方法如下:
R kj = ( j - 1 ) P i s , d k &le; j P i s j P i s - C i res , d k > j P i s
其中
Figure BDA00003878787700062
为服务器Si在第j个周期内的剩余执行时间。
4.3.2 如果到达任务Jk的释放时间,则把任务Jk从非周期任务等待队列转移到非周期任务就绪队列。
4.3.3 如果非周期任务就绪队列不空,则执行绝对截止期限最小的非周期任务;否则调度执行周期任务并对综合利用率和集合S(t)做相应的处理:
SUi=0;
S(t)=φ;
4.4 在非周期任务Jk的绝对截止期限dk时刻对综合利用率和集合S(t)做相应的处理:
SUi=SUi-Ck/Dk
S(t)=S(t)-{Jk};
下面结合附图对本发明作进一步详细描述。本发明一种基于延迟服务器的周期/非周期混合实时任务调度方法分为静态和动态两部分:静态部分完成周期任务可调度性判定、设置延迟服务器的个数并计算每个延迟服务器的执行时间,在系统运行前离线实施,计算结果在系统运行时不再改变;动态部分完成周期任务和延迟服务器的调度以及在每个延迟服务器上的非周期任务调度。具体实施包括如下步骤:
1.判定周期任务的可调度性
q = max { ( &Sigma; i = 1 k &beta; i ) / ( 1 - C k D k ) | k = 1,2,3 , . . . , n }
其中q为周期任务需要的处理器核心数,如果q大于处理器核心数m,则周期任务不可调度;βi表示任务Ti对任务Tk的负载,βi计算如下:
&beta; i = C i P i ( 1 + P i - &delta; i D k ) , C i P i &le; &lambda; C i P i ( 1 + P i - &delta; i D k ) + C i - &lambda; P i D k , C i P i > &lambda;
其中λ=Ck/Pk,当i<k时,δi=Ci,当i=k时,δi=Di
2.设置延迟服务器个数并计算每个延迟服务器的执行时间
为提高非周期任务的并发性,设置h=m个延迟服务器,每个延迟服务器的执行时间和周期与其他服务器完全相同即
Figure BDA00003878787700075
延迟服务器的最大执行时间
Figure BDA00003878787700076
的计算方法如下:
C i s = min { ( 2 P i s + D k ) - ( 2 P i s + D k ) 2 - 4 P i s D k &beta; i s 2 | 1 &le; k &le; n }
其中,
Figure BDA00003878787700077
表示服务器Si的周期;Dk表示任务Tk的相对截止期限;为延迟服务器Si对任务Tk的负载,
Figure BDA00003878787700079
计算方法如下:
&beta; i s = 1 m &times; min { m &times; ( 1 - C k D k ) - &Sigma; j = 1 k - 1 &beta; j | 1 < k &le; n }
3.调度周期任务和延迟服务器
系统设置一个周期任务就绪队列PRdyQueue、一个周期任务运行队列PRunQueue和一个周期任务等待队列PWaitQueue,分别用于保存就绪的周期任务、运行的周期任务和阻塞的周期任务。周期任务就绪队列PRdyQueue和周期任务运行队列PRunQueue中的任务按照任务周期从小到大的顺序排列。
每个延迟服务器Si有一个非周期任务就绪队列APRdyQueuei、一个非周期任务运行队列APRunQueuei、一个非周期任务等待队列APWaitQueuei和一个变量SUi,分别保存延迟服务器Si上就绪的非周期任务、运行的非周期任务、阻塞的非周期任务和非周期任务综合利用率。
周期和非周期任务就绪队列示意图如图4所示,其他队列省略。
周期任务、延迟服务器和非周期任务采用事件驱动的方式进行调度,系统中设置一个事件队列EventQueue,按照触发时间从小到大的顺序排列。设置一个定时器,用于触发事件队列EventQueue中的事件。
每个事件用一个4元组Eventi={IDi,Typei,RTimei,TaskIDi}表示,其中IDi,Typei和RTimei分别表示事件Eventi的标识、类型、触发时间和相应的任务编号。
事件的类型包括周期任务就绪事件、延迟服务器就绪事件、延迟服务器时间耗尽事件、非周期任务就绪事件和非周期任务截止期限事件。每一类事件都有一个事件处理函数,在事件触发时刻调用事件处理函数对此类事件进行处理。
与周期任务、延迟服务器调度相关的事件处理函数包括周期任务就绪事件处理函数和延迟服务器就绪事件处理函数。
周期任务就绪事件Eventi的处理函数在周期任务就绪时调用,主要功能为:(1)把编号为TaskIDi的周期任务插入到周期任务就绪队列PRdyQueue中,从时间队列EventQueue中删除事件Eventi;(2)创建一个新事件Eventj插入时间队列EventQueue中,事件Eventj的类型为周期任务就绪事件,触发时间为该任务下一个周期的开始时刻;(3)启动周期任务调度函数。
延迟服务器就绪事件Eventi的处理函数在延迟服务器就绪时调用,主要功能为:(1)把编号为TaskIDi延迟服务器插入到周期任务就绪队列PRdyQueue中,从时间队列EventQueue中删除事件Eventi;(2)创建一个新事件Eventj插入时间队列EventQueue中,事件Eventj的类型为延迟服务器就绪事件,触发时间为该延迟服务器下一个周期的开始时刻;(3)补充延迟服务器Si的剩余执行时间
Figure BDA00003878787700084
(4)确定非周期任务等待队列APWaitQueuei中每个非周期任务Jk在服务器Si的第j个周期内的释放时间并创建与每个非周期任务对应的新事件Eventj插入时间队列EventQueue中,事件Eventj的类型非周期任务就绪事件,触发时间为非周期任务Jk的释放时间,非周期任务Jk的释放时间计算方法如下:
R kj = ( j - 1 ) P i s , d k &le; j P i s j P i s - C i res , d k > j P i s
其中
Figure BDA00003878787700082
为服务器Si在第j个周期内的剩余执行时间;(5)启动周期任务调度函数。
周期任务调度函数在中断处理从内核态切换为用户态时刻、周期任务就绪时刻、周期任务的一个作业执行完毕时刻、延迟服务器时间耗尽时刻以及周期任务由于某种原因受到阻塞的时刻被调用,周期任务调度函数描述如下:(1)如果PRunQueue的长度小于m,则直接将PRdyQueue队头插入到PRunQueue中,在空闲处理器核心上执行;(2)依次比较PRdyQueue队头与PRunQueue队尾任务的优先级,如果PRdyQueue队头任务的优先级低于PRunQueue队尾任务的优先级,则终止这一比较过程;否则将PRdyQueue队头任务从PRdyQueue删除并插入到PRunQueue中,将PRunQueue队尾任务从PRunQueue删除并插入到中PRdyQueue中,并交换两个任务的上下文。
4.在延迟服务器上调度非周期任务
与非周期任务调度相关的事件处理函数包括延迟服务器时间耗尽事件处理函数、非周期任务就绪事件处理函数和非周期任务截止期限事件处理函数。
延迟服务器时间耗尽事件Eventi的处理函数在延迟服务器的执行时间被消耗殆尽时调用,主要功能为:(1)从事件队列EventQueue中删除该事件;(2)终止当前执行的非周期任务并把该任务从非周期任务运行队列APRunQueuei转移到非周期任务等待队列APWaitQueuei中;(3)把非周期任务就绪队列APRdyQueuei中的所有非周期任务转移到非周期任务等待队列APWaitQueuei中;(4)把编号为TaskIDi的延迟服务器从PRunQueue中删除,启动周期任务调度函数。
非周期任务就绪事件Eventi的处理函数在非周期任务就绪时刻调用,主要功能为:(1)把任务编号为TaskIDi的非周期任务从非周期任务等待队列APWaitQueuei转移到非周期任务就绪队列APRdyQueuei中;(2)从事件队列EventQueue中删除该事件;(3)调度非周期任务调度函数。
非周期任务截止期限事件处理函数在非周期任务绝对截止期限时刻调用,主要功能为修改综合利用率和非周期任务集S(t):
SUi=SUi-Ck/Dk
S(t)=S(t)-{Jk};
非周期任务调度函数在中断处理从内核态切换为用户态时刻、延迟服务器就绪时刻,非周期任务就绪时刻、非周期任务执行完毕时刻、以及非周期任务由于某种原因受到阻塞的时刻被调用,非周期任务调度函数描述如下:(1)如果非周期任务就绪队列为空,则重置非周期任务集合S(t)=φ和综合利用率SUi=0;(2)计算所有就绪的非周期任务执行时间总和,如果执行时间总和大于延迟服务器的剩余执行时间,则创建延迟服务器时间耗尽事件,触发时间为当前时间加剩余执行时间,否则迟服务器剩余执行时间减去非周期任务执行时间总和;(3)执行优先级最高的非周期任务;
当非周期任务Jk到达时,判定非周期任务的可调度性,判定条件为:
SU i + C k / D k &le; C i s / P i s , ( 1 &le; i &le; m )
其中,SUi表示延迟服务器Si的综合利用率,S(t)表示前忙碌期内截止期限还没有过期的所有非周期任务。若服务器Si接收非周期任务Jk,则把任务Jk插入本服务器的非周期任务等待队列APWaitQueuei中,修改综合利用率和非周期任务集S(t):
SUi=SUi+Ck/Dk
S(t)=S(t)∪{Jk};
创建一个非周期任务截止期限事件,触发时间为任务Jk的绝对截止期限dk,插入到事件队列EventQueue中。
由上可知,本发明的方法能够调度周期/非周期混合实时任务,保证满足所有周期实时任务和接收的非周期实时任务的截止期限,非周期任务可调度性判定方法时间复杂度低,时间复杂性为O(1),非周期任务可在每个处理器核心上执行,提高了非周期任务执行的并发性。

Claims (4)

1.一种基于延迟服务器的周期/非周期混合实时任务调度方法,其特征在于,包括以下步骤:
步骤1、根据周期任务的负载判定周期任务的可调度性,如果可调度则执行步骤2,否则结束操作;
步骤2、确定延迟服务器个数,在不影响周期任务可调度的前提下,确定每个延迟服务器最大执行时间;
步骤3、采用DM调度算法调度周期任务和延迟服务器;
步骤4、判定步骤3选中的任务是否为延迟服务器,若是延迟服务器,则执行步骤5,否则执行周期任务,之后返回步骤3;
步骤5、判断是否存在就绪的非周期任务,若存在就绪的非周期任务,则在延迟服务器上调度执行非周期任务,之后返回步骤3,否则执行步骤6;
步骤6、判断是否存在就绪的周期任务,若存在就绪的周期任务,则采用DM算法调度执行周期任务,之后返回步骤3,否则直接返回步骤3。
2.根据权利要求1所述的基于延迟服务器的周期/非周期混合实时任务调度方法,其特征在于,步骤1根据周期任务的负载判定周期任务的可调度性所用公式为:
q = max { ( &Sigma; i = 1 k &beta; i ) / ( 1 - C k D k ) | k = 1,2,3 , . . . , n }
其中q为周期任务需要的处理器核心数,如果q大于系统处理器核心数m,则周期任务不可调度,否则,周期任务可调度;n表示周期任务个数;βi表示任务Ti对任务Tk的负载,βi计算如下:
&beta; i = C i P i ( 1 + P i - &delta; i D k ) , C i P i &le; &lambda; C i P i ( 1 + P i - &delta; i D k ) + C i - &lambda; P i D k , C i P i > &lambda;
其中λ=Ck/Pk;当i<k时,δi=Ci,当i=k时,δi=Di;Ci、Di、Pi和Ck、Dk、Pk分别表示任务Ti和任务Tk的执行时间、相对截止期限和周期。
3.根据权利要求1所述的基于延迟服务器的周期/非周期混合实时任务调度方法,其特征在于,步骤2中延迟服务器个数h=m,m为处理器核心数,每个延迟服务器的执行时间和周期与其他服务器完全相同即
Figure FDA00003878787600013
Figure FDA00003878787600014
Figure FDA00003878787600026
分别表示延迟服务器Si和Sj的执行时间、周期;
确定每个延迟服务器最大执行时间的公式为:
C i s = min { ( 2 P i s + D k ) - ( 2 P i s + D k ) 2 - 4 P i s D k &beta; i s 2 | 1 &le; k &le; n }
其中,
Figure FDA00003878787600027
表示服务器Si的执行时间;表示服务器Si的周期;Dk表示任务Tk的相对截止期限;为延迟服务器Si对任务Tk的负载,
Figure FDA000038787876000210
计算方法如下:
&beta; i s = 1 m &times; min { m &times; ( 1 - C k D k ) - &Sigma; j = 1 k - 1 &beta; j | 1 < k &le; n } ;
其中,m表示处理器核心数,Ck和Dk分别表示任务Tk的执行时间和相对截止期限;βj表示任务Tj对任务Tk的负载。
4.根据权利要求1所述的基于延迟服务器的周期/非周期混合实时任务调度方法,其特征在于,步骤5中在延迟服务器上调度执行非周期任务,具体包括以下步骤:
步骤5-1、确定非周期任务的释放时间,非周期任务Jk在延迟服务器Si第j个周期内的释放时间计算公式如下:
R kj = ( j - 1 ) P i s , d k &le; j P i s j P i s - C i res , d k > j P i s
其中,
Figure FDA00003878787600024
表示服务器Si在第j个周期内的剩余执行时间;
Figure FDA000038787876000211
表示服务器Si的周期;dk表示非周期任务Jk的绝对截止期限;
步骤5-2、判断新到达非周期任务Jk的可调度性,所用公式为:
SU i + C k / D k &le; C i s / P i s , ( 1 &le; i &le; m )
其中,SUi表示延迟服务器Si的综合利用率,S(t)表示前忙碌期内截止期限还没有过期的所有非周期任务;
步骤5-3、对延迟服务器剩余执行时间进行处理,具体方法为:在调度非周期任务时,如果就绪非周期任务的执行时间总和大于延迟服务器的剩余执行时间,则创建延迟服务器时间耗尽事件,触发时间为当前时刻加剩余执行时间,否则迟服务器剩余执行时间减去非周期任务执行时间总和;
步骤5-4、采用EDF算法调度每个延迟服务器上的非周期任务。
CN201310445288.9A 2013-09-26 2013-09-26 基于延迟服务器的周期/非周期混合实时任务调度方法 Pending CN103491174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310445288.9A CN103491174A (zh) 2013-09-26 2013-09-26 基于延迟服务器的周期/非周期混合实时任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310445288.9A CN103491174A (zh) 2013-09-26 2013-09-26 基于延迟服务器的周期/非周期混合实时任务调度方法

Publications (1)

Publication Number Publication Date
CN103491174A true CN103491174A (zh) 2014-01-01

Family

ID=49831127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310445288.9A Pending CN103491174A (zh) 2013-09-26 2013-09-26 基于延迟服务器的周期/非周期混合实时任务调度方法

Country Status (1)

Country Link
CN (1) CN103491174A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156266A (zh) * 2014-08-14 2014-11-19 黑龙江大学 确定实时任务或事件可调度性测试最小区间的方法
CN104735795A (zh) * 2015-03-27 2015-06-24 京信通信技术(广州)有限公司 一种时分系统的任务调度方法及装置
CN106126326A (zh) * 2016-06-23 2016-11-16 东软集团股份有限公司 定时任务管理方法和装置
CN108304257A (zh) * 2018-02-09 2018-07-20 中国船舶重工集团公司第七六研究所 基于延迟服务器的强实时混合任务调度方法
US10089149B2 (en) 2015-11-27 2018-10-02 Industrial Technology Research Institute Method for scheduling multiple periodic requests and scheduling device
CN104965762B (zh) * 2015-07-21 2018-11-27 国家计算机网络与信息安全管理中心 一种面向混合任务的调度系统
CN109298917A (zh) * 2017-07-25 2019-02-01 沈阳高精数控智能技术股份有限公司 一种适用于实时系统混合任务的自适应调度方法
CN111353719A (zh) * 2020-03-11 2020-06-30 深圳市元征科技股份有限公司 一种诊断任务的执行方法、装置、设备及介质
CN112799821A (zh) * 2021-02-06 2021-05-14 读书郎教育科技有限公司 一种调度多个执行时机可变的周期任务的方法
CN114051710A (zh) * 2019-08-07 2022-02-15 株式会社日立制作所 信息处理装置及正规通信判定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
殷进勇: "可重构系统中实时任务调度算法研究", 《中国博士学位论文全文数据库 信息科技辑 》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156266A (zh) * 2014-08-14 2014-11-19 黑龙江大学 确定实时任务或事件可调度性测试最小区间的方法
CN104156266B (zh) * 2014-08-14 2017-06-16 黑龙江大学 确定实时任务或事件可调度性测试最小区间的方法
CN104735795A (zh) * 2015-03-27 2015-06-24 京信通信技术(广州)有限公司 一种时分系统的任务调度方法及装置
CN104735795B (zh) * 2015-03-27 2018-05-01 京信通信系统(中国)有限公司 一种时分系统的任务调度方法及装置
CN104965762B (zh) * 2015-07-21 2018-11-27 国家计算机网络与信息安全管理中心 一种面向混合任务的调度系统
US10089149B2 (en) 2015-11-27 2018-10-02 Industrial Technology Research Institute Method for scheduling multiple periodic requests and scheduling device
CN106126326A (zh) * 2016-06-23 2016-11-16 东软集团股份有限公司 定时任务管理方法和装置
CN109298917A (zh) * 2017-07-25 2019-02-01 沈阳高精数控智能技术股份有限公司 一种适用于实时系统混合任务的自适应调度方法
CN108304257A (zh) * 2018-02-09 2018-07-20 中国船舶重工集团公司第七六研究所 基于延迟服务器的强实时混合任务调度方法
CN114051710A (zh) * 2019-08-07 2022-02-15 株式会社日立制作所 信息处理装置及正规通信判定方法
CN114051710B (zh) * 2019-08-07 2023-05-09 株式会社日立制作所 信息处理装置及正规通信判定方法
CN111353719A (zh) * 2020-03-11 2020-06-30 深圳市元征科技股份有限公司 一种诊断任务的执行方法、装置、设备及介质
CN112799821A (zh) * 2021-02-06 2021-05-14 读书郎教育科技有限公司 一种调度多个执行时机可变的周期任务的方法

Similar Documents

Publication Publication Date Title
CN103491174A (zh) 基于延迟服务器的周期/非周期混合实时任务调度方法
Buttazzo et al. Limited preemptive scheduling for real-time systems. a survey
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
CN101923487A (zh) 一种综合嵌入式实时周期任务调度方法
Cho et al. An optimal real-time scheduling algorithm for multiprocessors
Bril et al. Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption
CN101339521B (zh) 一种任务优先级动态调度算法
Li et al. A non-preemptive scheduling algorithm for soft real-time systems
Mills et al. A stochastic framework for multiprocessor soft real-time scheduling
US10271326B2 (en) Scheduling function calls
Yao et al. Comparative evaluation of limited preemptive methods
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
CN101609417A (zh) 基于VxWorks操作系统的混合任务集调度方法
Agrawal et al. Intractability issues in mixed-criticality scheduling
Cho et al. T–L plane-based real-time scheduling for homogeneous multiprocessors
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN109947015B (zh) 任务的执行方法及主控制器
Bril et al. Best-case response times and jitter analysis of real-time tasks with arbitrary deadlines
CN110503318A (zh) 综合模块化航空电子处理系统资源配置与仿真评估平台
Binns A robust high-performance time partitioning algorithm: the digital engine operating system (DEOS) approach
CN105117281A (zh) 一种基于任务申请信号和处理器内核执行代价值的任务调度方法
CN115695330A (zh) 嵌入式系统中微程的调度系统、方法、终端及存储介质
CN108304257A (zh) 基于延迟服务器的强实时混合任务调度方法
Kumar et al. Real-time analysis of servers for general job arrivals
CN101354763A (zh) 一种资源调度方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140101