CN111176817A - 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 - Google Patents
一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 Download PDFInfo
- Publication number
- CN111176817A CN111176817A CN201911402711.0A CN201911402711A CN111176817A CN 111176817 A CN111176817 A CN 111176817A CN 201911402711 A CN201911402711 A CN 201911402711A CN 111176817 A CN111176817 A CN 111176817A
- Authority
- CN
- China
- Prior art keywords
- task
- subtask
- path
- dag
- wcrt
- 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
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Complex Calculations (AREA)
Abstract
一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,涉及嵌入式实时系统技术领域。本发明为了提高了WCRT分析的精度,从而提高实时系统系统预测任务集可调度率的准确度。本发明分析高优先级DAG任务的内部结构对低优先级任务干扰的影响,得到更精确的干扰上界。对于DAG任务的拓扑结构以及其内部子任务被分配的处理器情况,首先提出了一个并行结构,并证明了这种并行结构会导致传统的分析方法产生任务间干扰的重复计算。根据这个并行结构提出了一种减少重复计算的WCRT分析策略,有效地提高了WCRT分析的精度。此WCRT分析策略可以降低实时系统预测任务集的WCRT数值,使其更加接近任务集在系统中执行的真实值,提高实时系统系统预测任务集可调度率的准确度。本发明用于同构多核处理器上。
Description
技术领域
本发明涉及基于划分调度的DAG实时任务问的干扰分析方法,涉及实时任务的最坏执行情况下响应时间分析,涉及嵌入式实时系统技术领域。
背景技术
随着5G技术的商用普及以及物联网领域的日益发展,嵌入式实时系统(以下简称实时系统)被广泛的应用在工业制造,无人驾驶以及航空航天等领域。实时系统对于其安全性和可靠性有着严格的要求。因此,对于实时系统的性能进行准确可靠的分析变得越来越重要。评价实时系统性能优劣的一项重要指标就是该系统对于一个实时任务集最坏情况下响应时间(WCRT)分析的精度。WCRT不仅可以预测任务在系统中最坏情况下的执行时间,同时还可以作为动态变化系统状态的评价标准(例如是否可以向系统中添加新的任务且保证系统稳定运行)。目前对于有向无环图(DAG)任务模型的WCRT研究缺少针对划分式调度特点的WCRT分析。划分式调度的DAG任务中高优先级任务对低优先级任务造成干扰的分析当前主要的分析方法仍然使用传统离散任务模型中任务间干扰的分析方法。这种分析方法没有考虑划分式调度对于DAG任务间干扰造成的影响,从而过分悲观地估计任务集合的WCRT。低精度的WCRT分析使得系统对于任务集的WCRT预测不准确,使得系统资源未被充分利用。
公开号为CN104980330A的现有技术公开了一种实时多智能体系统的消息准入方法。该方法为:1)在系统中建立一就绪任务集τ(t)、一待处理消息集λ(t),以及一响应λ(t)中各消息的任务集τ′(t);2)当t0时刻一智能体收到一消息M时,如果系统对该消息M的响应时间小于或等于该消息M的截止期,则返回请求失败,否则进行步骤3);3)系统计算将该消息M加入λ(t0)时,如果λ(t0)中各消息的响应时间均小于或等于各消息对应的截止期,则进行步骤4),否则返回请求失败;4)系统计算将该消息M加入λ(t0)时,如果τ′(t0)中各任务的响应时间均小于或等于各任务对应的截止期,则将该消息M加入λ(t0);否则返回请求失败。该现现有技术通过结合多智能体系统消息通信机制和实时通信原理,提出的消息准入方法能保证带有截止期的实时消息能够在截止期之前得到处理并返回结果。该现有技术是针对分布式实时要求的多智能体系统,需要考虑消息传输的时延。不适用本地多核处理器的响应时间分析。另外该现有技术的任务模型为单一的离散模型,没有考虑任务内部的子任务间的依赖关系对响应时间分析带来的影响,进而影响调度分析精度。现有技术中没有给出针对多核处理器上基于划分调度的DAG实时任务分析方法。
发明内容
本发明要解决的技术问题为:
本发明的目的是提供一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,以提高了WCRT分析的精度,从而提高实时系统系统预测任务集可调度率的准确度。
本发明解决上述技术问题采用的技术方案为:
一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,所述DAG实时任务模型为:
假设在具有m个同构处理器的实时系统中执行由n个相互独立且互相可抢占的DAG任务组成的任务集t={t1,t2,…,tn},系统中共有n个优先级,任务集中任意一个任务ti(1≤i≤n)的优先级定义为f(ti),其中f(ti)∈{1,2,…,n};每个任务只有一个优先级并且每个优先级只对应一个任务;如果任务集中任意两个任务ti和tj的优先级分别为x和y,规定当且仅当x<y时ti的优先级高于tj的优先级;
任务集t中的每个任务ti都是一个有向无环图Gi(Ei,Vi),其中Vi表示该有向无环图的子任务(节点)结合,Ei表示子任务间依赖关系(边)的集合;Vi,j表示任务ti的第j个子任务并且其由2个参数构成<Ci,j,Pi,j>,其中,Ci,j表示子任务Vi,j最坏情况下执行时间(WCET),Pi,j表示Vi,j被分配执行的处理器;
每一个DAG任务都包含3个参数<Ci,Ti,Di>,其中Ci表示任务ti中所有子任务WCET的总和(Ci=∑Ci,j),Ti表示任务ti实例的最小释放间隔(周期),Di表示任务ti的截止日期;DAG任务中每个子任务都有自己的WCET,所有的子任务都继承该任务的周期和截止期限;使用Ui表示任务ti的利用率,Ui=Ci/Ti;
定义1:定义任务ti中没有前继子任务的子任务为源子任务,没有后继节点的子任务为终止子任务;
定义2:定义从源子任务到终止子任务的一条通路称为一条路径,用λi,k表示任务ti的第k条路径(路径的顺序仅为了区分和分析方便);
定义3:使用path(ti)来表示任务ti中路径的总数;
定义4:如果一个子任务Vi,j和另一个子任务Vi,k之间没有直接连接的边,并且有一条路径同时通过这两个子任务,那么先被通过的是另一个的间接前继子任务,后被通过的是另一个的间接后继子任务;
定义5:定义pr(λi,k)表示路径λi,k上所有子任务被分配到处理器的集合;
其特征在于,所述方法的实现过程为:
定义6:对于一个DAG任务ti,如果一个子任务Vi,j的后继子任务中有nf个子任务只有Vi,j作为其前集结点,则称这nf个子任务为一个RRC并行结构,记做Str;
定义7:用Strj,r表示任务tj中第r个Str结构,并用numb(Stri)来表示任务tj中含有Str结构的总数;
定义8:用StrPj,r(λi,k)表示Strj,r中属于pr(λi,k)的处理器集合,并用numb(StrPj,r(λi,k))表示StrPj,r(λi,k)的个数;
定义9:用Minj,r(λi,k)表示StrPj,r(λi,k)上执行Strj,r所消耗的总时间最少的处理器对应的时间值;
对于DAG任务WCRT的分析,分析该DAG任务重所有路径的WCRT,并将所有路径的WCRT最大的作为该任务的WCRT,如公式(1)所示
公式(1)中R(λi,k)表示路径λi,k的WCRT,其计算公式如公式(4)所示:
右侧第二部分表示表示高优先级任务对路径λi,k造成干扰的总和,
右侧第三部分表示Iself(λi,k)表示任务ti内部不属于路径λi,k且被分配的处理器属于集合pr(λi,k)的其他子任务对路径λi,k造成干扰的总和;
路径λi,kWCRT的上界可用公式(4)计算得到,其中hp(ti)表示优先级高于ti的任务集合,表示在R(λi,k)时间内任务tj最多释放实例个数,Ij(λi,k)表示高优先级任务tj对低优先级任务ti的路径λi,k造成干扰,用公式(3)计算,
公式(4)是一个迭代公式,每次新的R(λi,k)都是根据前一个R(λi,k)值计算得到,使用R(λi,k)=len(λi,k)作为初始值进行迭代;当前R(λi,k)值与前一个比较没有变化时停止迭代,并将当前R(λi,k)值作为路径λi,k的WCRT;
公式(3)中:Wj p表示任务tj在处理器p上的负载总和,也就是等式右边第一部分表示任务tj在处理器pr(λi,k)上的负载总和,等式右侧第二部分表示RRC并行结构导致处理器并行执行的负载总和的最小值,其中|StrPj,t|表示StrPj,t的数量;
利用公式(4)求得当前分析任务ti的所有路途响应时间,再利用公式(1)得到所有路途响应时间的最大值,将最大值作为该任务最坏情况下响应时间R(ti)。
进一步地,Ij(λi,k)的求解过程:
输入:待分析路径λi,k,高优先级任务tj
输出:任务tj对路径λi,k造成的干扰Ij(λi,k)
第一步:计算任务tj在pr(λi,k)上的负载总和SumW;
第二步:计算RRC结构导致任务tj并行的负载最小值SumMin;
第三步:计算任务ti对路径λi,k造成干扰的上界:
Ij(λi,k)=SumW-SumMin。
进一步地,R(ti)的求解过程为:
输入:任务ti,高优先级任务集hp(ti)
输出:R(ti)
第一步:初始化R(ti)为负一,表示任务ti不可被调度,即ti的WCRT时间大于其Di;
第二步:计算任务ti中所有路径λi,k的WCRT,并判断其是否是可调度的,若路径中最大的R(λi,k)小于等于Di,则将R(λi,k)作为ti的WCRT,否则任务ti不可被调度。
进一步地,所述干扰分析方法用于同构多核处理器上。
本发明具有以下有益技术效果:
在多处理器划分调度下DAG任务间的干扰是影响调度分析精度的关键因素之一,它在很大程度上取决于每个DAG任务中子任务的拓扑结构以及其被分配的处理器情况。本发明分析了高优先级DAG任务的内部结构对低优先级任务干扰的影响,有助于得到更精确的干扰上界。对于DAG任务的拓扑结构以及其内部子任务被分配的处理器情况,我们首先提出了一个并行结构,并证明了这种并行结构会导致传统的分析方法产生任务间干扰的重复计算。我们根据这个并行结构提出了一种减少重复计算的WCRT分析策略,有效地提高了WCRT分析的精度。此WCRT分析策略可以降低实时系统预测任务集的WCRT数值,使其更加接近任务集在系统中执行的真实值,从而提高实时系统系统预测任务集可调度率的准确度。
附图说明
图1为DAG任务示例图,图2为任务tx的RRC并行结构示意图;
图3表示任务集平均WCRT的曲线图,m=8,N=10,s=12;图中,(a)表示情况1,(b)表示情况2,(c)表示情况3,横坐标表示CPU总利用率,纵坐标表示任务集的平均响应时间;
图4为任务集可调度率随总利用率变化图,图中:(a)表示情况1,(b)表示情况2,(c)表示情况3,横坐标表示CPU总利用率,纵坐标表示任务集的可调度率。
具体实施方式
结合附图1至4,对本发明所述的多核处理器上基于划分调度的DAG实时任务间的干扰分析方法的实现进行如下描述:
本发明讨论了固定优先级划分调度下多处理器上抢占式DAG任务的响应时间分析,任务被提前分配到不同的处理器上执行,且任务只能在被分配的处理器上执行。首先,我们分析并证明了影响目标DAG任务中路径执行的因素。在此基础上,提出并证明了一种可重复计算干扰的并行结构。这种结构为优先级分配和节点到处理器的分区提供了很好的指导。最后,我们提出了一种新的分析策略,通过考虑并行结构来提高WCRT分析的性能。
1、DAG任务模型
假设在具有m个同构处理器的实时系统中执行由n个相互独立且互相可抢占的DAG任务组成的任务集t={t1,t2,…,tn}。系统中共有n个优先级,任务集中任意一个任务ti(1≤i≤n)的优先级我们定义为f(ti),其中f(ti)∈{1,2,…,n}。每个任务只有一个优先级并且每个优先级只对应一个任务。如果任务集中任意两个任务ti和tj的优先级分别为x和y,我们规定当且仅当x<y时ti的优先级高于tj的优先级。
任务集t中的每个任务ti都是一个有向无环图Gi(Ei,Vi),其中Vi表示该有向无环图的子任务(节点)结合,Ei表示子任务间依赖关系(边)的集合。Vi,i表示任务ti的第j个子任务并且其由2个参数构成<Ci,j,Pi,j>,其中:Ci,j表示子任务Vi,j最坏情况下执行时间(WCET),Fi,j表示Vi,j被分配执行的处理器。如图1所示,Vi,4表示任务ti的第4个子任务(子任务的序号不具备特殊含义,仅用作区分分析不同子任务),他的WCET为3并且被分配到了处理器1上。边Ei(Vi,j,Vi,k)表示子任务Vi,j指向Vi,j的一条有向边,该边表示Vi,j是Vi,k的前继子任务,Vi,k是Vi,j的后继子任务。这意味着只有当Vi,j完成执行时Vi,k才能开始被执行。如图1所示,只有当Vi,1和Vi,7均完成执行时Vi,4才能开始被执行,否则Vi,4要等待他所有前继子任务完成执行。本发明研究的是可抢占调度,这意味着当有高优先级任务实例释放时,处理器会暂时挂起正在执行的低优先级任务并在高优先级任务都执行结束时继续执行低优先级任务。
每一个DAG任务都包含3个参数<Ci,Ti,Di>,其中Ci表示任务ti中所有子任务WCET的总和(Ci=∑Ci,j),Ti表示任务ti实例的最小释放间隔(周期),Di表示任务ti的截止日期。虽然DAG任务中每个子任务都有自己的WCET,但是所有的子任务都继承该任务的周期和截止期限。我们使用Ui表示任务ti的利用率,Ui=Ci/Ti。如图1所示,Ci=29,Ti=100,Di=100,Ui=0.29。
定义1:我们定义任务ti中没有前继子任务的子任务为源子任务,没有后继节点的子任务为终止子任务。例如,图1中Vi,1和Vi,7为源子任务,Vi,6和Vi,9为终止子任务。
定义2:我们定义从源子任务到终止子任务的一条通路称为一条路径,用λi,k表示任务ti的第k条路径(路径的顺序仅为了区分和分析方便)。例如,假设图1中第2条路径为Vi,1-Vi,4-Vi,5-Vi,6,则可以表示为λi,2={Vi,1-Vi,4-Vi,5-Vi,6}。
定义3:我们使用path(ti)来表示任务ti中路径的总数。例如图1中任务ti共有6条路径,即,path(ti)=6。
定义4:如果一个子任务Vi,j和另一个子任务Vi,k之间没有直接连接的边,并且有一条路径同时通过这两个子任务,那么先被通过的是另一个的间接前继子任务,后被通过的是另一个的间接后继子任务。例如图1中Vi,4和Vi,6没有直接相连,但他们同时属于路径λi,2,所以Vi,4是Vi,6的间接前继子任务,Vi,6是Vi,4的间接后继子任务。
定义5:我们定义pr(λi,k)表示路径λi,k上所有子任务被分配到处理器的集合。例如,图1中pr(λi,2)={1,2},也就是λi,2需要使用处理器1和处理器2执行其包含的子任务。
2、WCRT响应时间分析
对于DAG任务WCRT的分析,通常分析该DAG任务重所有路径的WCRT,并将所有路径的WCRT最大的作为该任务的WCRT,如公式(1)所示
公式(1)中R(λi,k)表示路径λi,k的WCRT,其计算公式如公式(2)所示。
R(λi,k)=len(λi,k)+Ihigh(λi,k)+Iself(λi,k) (2)
公式(2)等式右侧第一部分表示路径λi,k总的WCET,即一旦一个DAG任务的拓扑结构确定并且每个子任务的执行时间确定,那么该任务内任意路径的len(λi,k)就是定值。Ihigh(λi,k)表示高优先级任务对路径λi,k造成干扰的总和。Iself(λi,k)表示任务ti内部不属于路径λi,k且被分配的处理器属于集合pr(λi,k)的其他子任务对路径λi,k造成干扰的总和。如图1所示,Vi,2和Vi,8均分配到处理器1上执行,且二者没有直接或间接的依赖关系,即没有一条路径同时经过两个子任务。又因为同一DAG任务内所有子任务优先级相等,导致计算包含Vi,2路径的WCRT时可能会被Vi,8阻塞。因此,计算路径WCRT时需要考虑任务内部其他子任务对其造成的干扰。
3、算法描述
本发明改进WCRT分析方法主要针对计算路径WCRT的高优先级干扰部分。传统分析中,通常使用高优先级任务在处理器pr(λi,k)上负载的总和作为高优先级任务对于所分析路径的干扰。该种方法并没有考虑DAG任务中由于拓扑结构和所分配处理器的不同所带来的影响。
定义6:对于一个DAG任务ti,如果一个子任务Vi,j的后继子任务中有nf个子任务只有Vi,j作为其前集结点,则称这nf个子任务为一个RRC并行结构,记做Str。
定义7:我们用Strj,r表示任务tj中第r个Str结构,并用numb(Strj)来表示任务tj中含有Str结构的总数。(排序号仅为方便讨论使用,不具有逻辑关系)。
定义8:我们用StrPj,r(λi,k)表示Strj,r中属于pr(λi,k)的处理器集合,并用numb(StrPj,r(λi,k))表示StrPj,r(λi,k)的个数。
定义9:我们用Minj,r(λi,k)表示StrPj,r(λi,k)上执行Strj,r所消耗的总时间最少的处理器对应的时间值。
例如图2为一个任务tx的拓扑结构,图中tx共有2个Str结构,即numb(Strj)=2:Strx,1={Vx,2,Vx,3,Vx,4},Strx,2={Vx,5,Vx,6}。Vx,7不属于Strx,2,因为其不仅有Strx,3作为其前继子任务,还有Strx,4作为其前继子任务。假设路径λy,k所占用的处理器为{1,2},即pr(λy,k)={1,2},那么StrPx,1(λy,k)={1,2},StrPx,2(λy,k)={1}。由于Strx,1包含处理器1和处理器2,并且处理器1上执行Strx,1所消耗的总时间为2,在处理器2上消耗的总时间为3,所以Minx,1(λy,k)=2。同理Minx,2(λy,k)=1。
对于高优先级任务tj对地邮件及任务ti的路径λi,k造成干扰的上界由公式(3)计算得到。其中Wj p表示任务tj在处理器p上的负载总和,也就是等式右边第一部分表示任务tj在处理器pr(λi,k)上的负载总和。等式右侧第二部分表示RRC并行结构导致处理器并行执行的负载总和的最小值,其中|StrPj,t|表示StrPj,t的数量。
根据上文定义及描述,路径λi,kWCRT的上界可用公式(4)计算得到,其中hp(ti)表示优先级高于ti的任务集合,表示在R(λi,k)时间内任务tj最多释放实例个数,Ij(λi,k)可用公式(3)计算。
公式(4)是一个迭代公式,每次新的R(λi,k)都是根据前一个R(λi,k)值计算得到。因此,可以使用R(λi,k)=len(λi,k)作为初始值进行迭代。当前R(λi,k)值与前一个比较没有变化(或变化在可接受误差范围内)时停止迭代,并将当前R(λi,k)值作为路径λi,k的WCRT。
算法1:The Interference of λi,k Cause by Higger-priority Task Based onRRC Structure
输入:待分析路径λi,k,高优先级任务tj
输出:任务tj对路径λi,k造成的干扰Ij(λi,k)
第一步:计算任务tj在pr(λi,k)上的负载总和。
第二步:计算RRC结构导致任务tj并行的负载最小值。
第三步:计算任务ti对路径λi,k造成干扰的上界。
Ij(λi,k)=SumW-SumMin
Return Ij(λi,k)
算法2:The WCRT Analysis of ti
输入:任务ti,高优先级任务集hp(ti)
输出:R(ti)
第一步:初始化R(ti)为负一,表示任务ti不可被调度,即ti的WCRT时间大于其Di。
R(ti)←0
第二步:计算任务ti中每条路径λi,k的WCRT,并判断其是否是可调度的,若路径中最大的R(λi,k)小于等于Di,则将R(λi,k)作为ti的WCRT。否则,则返回任务ti不可被调度。
求得
针对本发明效果进行如下仿真实验:
利用标准均匀的线性变换,随机生成各个任务集利用率和连续均匀分布的周期。然后我们生成任务集内每个DAG任务的拓扑结构,并将DAG任务的总执行时间随机分配给它的子任务。最后,我们模拟执行我们生成的这些DAG任务集,并在以下三种优先级和处理器分配情况比较我们的RRC分析策略与传统的分析策略(使用高优先级任务在处理器pr(λi,k)上负载的总和作为高优先级任务对于所分析路径的干扰)在任务集的响应时间和任务集的可调度率方面的差异:
情况1:任务优先级分配和处理器分配是随机的;
情况2:任务优先级根据DM算法进行分配,处理器随机分配;
情况3:根据DM算法分配任务优先级,根据最坏匹配算法(Worst-Fit)分配处理器。
使用m来表示处理器的数量,且令m=8。总利用率从0.1到0.25以0.1为步长增加。对于每个任务集中的任务而言,其周期随机生成区间为26到29。我们使用Ci=Ui*Ti计算出每个DAG任务总的执行时间。我们分别使用N和s来表示每个任务集中DAG任务的个数和每个DAG任务中子任务的个数,且令N=10,s=12。每个DAG使用随机添加边的方式生成拓扑图。
对于每个利用率,我们都同时生成1000组任务集,并使用这1000组任务集中可调度任务集的平均最坏情况下响应时间来表示该利用率下任务集的最坏情况下响应时间。可调度率表示系统能够调度某一任务集的概率,使用某一利用率下可调度任务集的总数与1000的比值表示。
如图3所示为上述三种优先级和处理器分配情况下任务集的平均WCRT图像,图中(a)、(b)和(c)子图分别对应情况1、2和3。Tr为前缀的分析方法表示传统的分析方法,RRC为前缀的分析方法表示本发明提出的RRC分析策略。若某一人物利用率下1000组实验数据均不可调度,我们则令其平均WCRT和可调度率均设置为零。
从图3中可以看出,随着总体利用率的增加,任务集的平均WCRT增加。对于同一任务利用率,RRC分析策略得到的任务集总WCRT要小于传统分析方法得到的,并且不同的优先级和处理器分配情况不影响总体变化趋势和RRC分析策略与传统分析策略的优劣关系。使用三种优先级和处理器分配策略时,RRC分析策略相较于传统的分析策略任务集平均总WCRT最多减少29.98%、22.52%和25.45%。
如图4所示为上述三种优先级和处理器分配情况下任务集的平均WCRT图像。从图4中可以看出,随着总体利用率的增加,任务集的可调度率减少。对于同一任务利用率,RRC分析策略得到的任务集可调度率要高于传统分析方法得到的,并且不同的优先级和处理器分配情况不影响总体变化趋势和RRC分析策略与传统分析策略的优劣关系。使用三种优先级和处理器分配策略时,RRC分析策略相较于传统的分析策略任务集的可调度率最多增加22.4%、35%和38%。
Claims (4)
1.一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,其特征在于,所述DAG实时任务模型为:
假设在具有m个同构处理器的实时系统中执行由n个相互独立且互相可抢占的DAG任务组成的任务集t={t1,t2,…,tn},系统中共有n个优先级,任务集中任意一个任务ti(1≤i≤n)的优先级定义为f(ti),其中f(ti)∈{1,2,…,n};每个任务只有一个优先级并且每个优先级只对应一个任务;如果任务集中任意两个任务ti和tj的优先级分别为x和y,规定当且仅当x<y时ti的优先级高于tj的优先级;
任务集t中的每个任务ti都是一个有向无环图Gi(Ei,Vi),其中Vi表示该有向无环图的子任务结合,Ei表示子任务间依赖关系的集合;Vi,j表示任务ti的第j个子任务并且其由2个参数构成<Ci,j,Pi,j>,其中,Ci,j表示子任务Vi,j最坏情况下执行时间WCET,Fi,j表示Vi,j被分配执行的处理器;
每一个DAG任务都包含3个参数<Ci,Ti,Di>,其中Ci表示任务ti中所有子任务WCET的总和Ci=∑Ci,j,Ti表示任务ti实例的最小释放间隔,Di表示任务ti的截止日期;DAG任务中每个子任务都有自己的WCET,所有的子任务都继承该任务的周期和截止期限;使用Ui表示任务ti的利用率,Ui=Ci/Ti;
定义1:定义任务ti中没有前继子任务的子任务为源子任务,没有后继节点的子任务为终止子任务;
定义2:定义从源子任务到终止子任务的一条通路称为一条路径,用λi,k表示任务ti的第k条路径;
定义3:使用path(ti)来表示任务ti中路径的总数;
定义4:如果一个子任务Vi,j和另一个子任务Vi,k之间没有直接连接的边,并且有一条路径同时通过这两个子任务,那么先被通过的是另一个的间接前继子任务,后被通过的是另一个的间接后继子任务;
定义5:定义pr(λi,k)表示路径λi,k上所有子任务被分配到处理器的集合;
其特征在于,所述方法的实现过程为:
定义6:对于一个DAG任务ti,如果一个子任务Vi,j的后继子任务中有nf个子任务只有Vi,j作为其前集结点,则称这nf个子任务为一个RRC并行结构,记做Str;
定义7:用Strj,r表示任务tj中第r个Str结构,并用numb(Strj)来表示任务tj中含有Str结构的总数;
定义8:用StrPj,r(λi,k)表示Strj,r中属于pr(λi,k)的处理器集合,并用numb(StrPj,r(λi,k))表示StrPj,r(λi,k)的个数;
定义9:用Minj,r(λi,k)表示StrPj,r(λi,k)上执行Strj,r所消耗的总时间最少的处理器对应的时间值;
对于DAG任务WCRT的分析,分析该DAG任务重所有路径的WCRT,并将所有路径的WCRT最大的作为该任务的WCRT,如公式(1)所示
公式(1)中R(λi,k)表示路径λi,k的WCRT,其计算公式如公式(4)所示:
右侧第二部分表示表示高优先级任务对路径λi,k造成干扰的总和,
右侧第三部分表示Iself(λi,k)表示任务ti内部不属于路径λi,k且被分配的处理器属于集合pr(λi,k)的其他子任务对路径λi,k造成干扰的总和;
路径λi,kWCRT的上界可用公式(4)计算得到,其中hp(ti)表示优先级高于ti的任务集合,表示在R(λi,k)时间内任务tj最多释放实例个数,Ij(λi,k)表示高优先级任务tj对低优先级任务ti的路径λi,k造成干扰,用公式(3)计算,
公式(4)是一个迭代公式,每次新的R(λi,k)都是根据前一个R(λi,k)值计算得到,使用R(λi,k)=len(λi,k)作为初始值进行迭代;当前R(λi,k)值与前一个比较没有变化时停止迭代,并将当前R(λi,k)值作为路径λi,k的WCRT;
公式(3)中:Wj p表示任务tj在处理器p上的负载总和,也就是等式右边第一部分表示任务tj在处理器pr(λi,k)上的负载总和,等式右侧第二部分表示RRC并行结构导致处理器并行执行的负载总和的最小值,其中|StrPj,t|表示StrPj,t的数量;
利用公式(4)求得当前分析任务ti的所有路途响应时间,再利用公式(1)得到所有路途响应时间的最大值,将最大值作为该任务最坏情况下响应时间R(ti)。
2.根据权利要求1所述的一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,其特征在于,Ij(λi,k)的求解过程:
输入:待分析路径λi,k,高优先级任务tj
输出:任务tj对路径λi,k造成的干扰Ij(λi,k)
第一步:计算任务tj在pr(λi,k)上的负载总和SumW;
第二步:计算RRC结构导致任务tj并行的负载最小值SumMin;
第三步:计算任务ti对路径λi,k造成干扰的上界:
Ij(λi,k)=SumW-SumMin。
3.根据权利要求2所述的一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,其特征在于,R(ti)的求解过程为:
输入:任务ti,高优先级任务集hp(ti)
输出:R(ti)
第一步:初始化R(ti)为负一,表示任务ti不可被调度,即ti的WCRT时间大于其Di;
第二步:计算任务ti中所有路径λi,k的WCRT,并判断其是否是可调度的,若路径中最大的R(λi,k)小于等于Di,则将R(λi,k)作为ti的WCRT,否则任务ti不可被调度。
4.根据权利要求1、2或3所述的一种多核处理器上基于划分调度的DAG实时任务间的干扰分析方法,其特征在于,所述干扰分析方法用于同构多核处理器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402711.0A CN111176817B (zh) | 2019-12-30 | 2019-12-30 | 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911402711.0A CN111176817B (zh) | 2019-12-30 | 2019-12-30 | 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111176817A true CN111176817A (zh) | 2020-05-19 |
CN111176817B CN111176817B (zh) | 2023-03-28 |
Family
ID=70650566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911402711.0A Active CN111176817B (zh) | 2019-12-30 | 2019-12-30 | 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111176817B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463346A (zh) * | 2020-12-31 | 2021-03-09 | 哈尔滨工业大学(深圳) | 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质 |
CN112667591A (zh) * | 2021-01-12 | 2021-04-16 | 北京工业大学 | 一种基于海量日志的数据中心任务干扰预测方法 |
CN113190342A (zh) * | 2021-06-01 | 2021-07-30 | 湖南工学院 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
CN113961439A (zh) * | 2021-10-26 | 2022-01-21 | 东北大学秦皇岛分校 | 一种基于smt方法的dag任务wcrt计算方法 |
CN114880111A (zh) * | 2022-03-24 | 2022-08-09 | 哈尔滨工业大学(深圳) | 基于dag任务拓扑结构的处理器资源分配方法、存储介质 |
CN114880083A (zh) * | 2022-03-24 | 2022-08-09 | 哈尔滨工业大学(深圳) | 一种dag任务执行逻辑复杂度的优化方法及存储介质 |
CN115858112A (zh) * | 2022-11-18 | 2023-03-28 | 南京航空航天大学 | 一种基于约束规划的综合化航空电子系统任务分配与调度方法 |
CN117130748A (zh) * | 2023-08-29 | 2023-11-28 | 哈尔滨工业大学 | 一种基于异构多核平台上类型化dag任务的分析及调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257900A (zh) * | 2013-05-24 | 2013-08-21 | 杭州电子科技大学 | 减少cpu占用的多处理器上实时任务集资源预留方法 |
-
2019
- 2019-12-30 CN CN201911402711.0A patent/CN111176817B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103257900A (zh) * | 2013-05-24 | 2013-08-21 | 杭州电子科技大学 | 减少cpu占用的多处理器上实时任务集资源预留方法 |
Non-Patent Citations (4)
Title |
---|
JOSE FONSECA;GEOFFREY NELISSEN;VINCENT NELIS: "Response time analysis of sporadic DAG tasks under partitioned scheduling", 《2016 11TH IEEE SYMPOSIUM ON INDUSTRIAL EMBEDDED SYSTEMS (SIES)》 * |
SANJOY BARUAH; VINCENZO BONIFACI; ALBERTO MARCHETTI-SPACCAMELA;: "A Generalized Parallel Task Model for Recurrent Real-time Processes", 《2012 IEEE 33RD REAL-TIME SYSTEMS SYMPOSIUM》 * |
YULONG WU;WEIZHE ZHANG;HUI HE: "A New Method of Priority Assignment for Real-Time Flows in the WirelessHART Network by the TDMA Protocol", 《SENSORS》 * |
高玮军;王通: "基于图结构的DAG任务可调度性分析", 《计算机应用与软件》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463346A (zh) * | 2020-12-31 | 2021-03-09 | 哈尔滨工业大学(深圳) | 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质 |
CN112463346B (zh) * | 2020-12-31 | 2021-10-15 | 哈尔滨工业大学(深圳) | 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质 |
CN112667591A (zh) * | 2021-01-12 | 2021-04-16 | 北京工业大学 | 一种基于海量日志的数据中心任务干扰预测方法 |
CN113190342A (zh) * | 2021-06-01 | 2021-07-30 | 湖南工学院 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
CN113961439A (zh) * | 2021-10-26 | 2022-01-21 | 东北大学秦皇岛分校 | 一种基于smt方法的dag任务wcrt计算方法 |
CN114880111A (zh) * | 2022-03-24 | 2022-08-09 | 哈尔滨工业大学(深圳) | 基于dag任务拓扑结构的处理器资源分配方法、存储介质 |
CN114880083A (zh) * | 2022-03-24 | 2022-08-09 | 哈尔滨工业大学(深圳) | 一种dag任务执行逻辑复杂度的优化方法及存储介质 |
CN115858112A (zh) * | 2022-11-18 | 2023-03-28 | 南京航空航天大学 | 一种基于约束规划的综合化航空电子系统任务分配与调度方法 |
CN115858112B (zh) * | 2022-11-18 | 2024-02-09 | 南京航空航天大学 | 一种基于约束规划的综合化航空电子系统任务分配与调度方法 |
CN117130748A (zh) * | 2023-08-29 | 2023-11-28 | 哈尔滨工业大学 | 一种基于异构多核平台上类型化dag任务的分析及调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111176817B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176817B (zh) | 一种多核处理器上基于划分调度的dag实时任务间的干扰分析方法 | |
Panić et al. | Runpar: An allocation algorithm for automotive applications exploiting runnable parallelism in multicores | |
Baker | An analysis of fixed-priority schedulability on a multiprocessor | |
Ueter et al. | Reservation-based federated scheduling for parallel real-time tasks | |
JP2012511204A (ja) | リソースを最適化するためのタスク再編成方法 | |
US9244733B2 (en) | Apparatus and method for scheduling kernel execution order | |
CN112463346B (zh) | 一种基于划分调度的dag任务的启发式处理器划分方法、系统及存储介质 | |
Ghattas et al. | Preemption threshold scheduling: Stack optimality, enhancements and analysis | |
Sun et al. | Response time analysis with limited carry-in for global earliest deadline first scheduling | |
Zhu et al. | Response time analysis of hierarchical scheduling: The synchronized deferrable servers approach | |
Wang et al. | Global fixed priority scheduling with preemption threshold: Schedulability analysis and stack size minimization | |
Skalistis et al. | Near-optimal deployment of dataflow applications on many-core platforms with real-time guarantees | |
Tchiboukdjian et al. | A tighter analysis of work stealing | |
Wasly et al. | Bundled scheduling of parallel real-time tasks | |
Li et al. | Federated scheduling for stochastic parallel real-time tasks | |
Guan et al. | Bounding carry-in interference to improve fixed-priority global multiprocessor scheduling analysis | |
Socci et al. | Time-triggered mixed-critical scheduler on single and multi-processor platforms | |
Ueter et al. | Response-time analysis and optimization for probabilistic conditional parallel DAG tasks | |
Cho et al. | Conditionally optimal parallelization of real-time DAG tasks for global EDF | |
Wu et al. | TDTA: Topology-based Real-Time DAG Task Allocation on Identical Multiprocessor Platforms | |
Ras et al. | Response time analysis for the Abort-and-Restart event handlers of the Priority-Based Functional Reactive Programming (P-FRP) paradigm | |
Huang et al. | Communication-aware task scheduling algorithm for heterogeneous computing | |
Wu et al. | Improving interference analysis for real-time DAG tasks under partitioned scheduling | |
Tessler et al. | Bringing inter-thread cache benefits to federated scheduling | |
Jiang et al. | Scheduling parallel real-time tasks on virtual processors |
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 |