用于执行确保实时任务之间低延迟通信的排序计划的方法技术

技术编号:24296722 阅读:38 留言:0更新日期:2020-05-26 21:23
本发明专利技术涉及一种用于为要在实时系统上执行的多个任务(Tp,Tc)离线构造排序计划的方法,包括以下步骤:将每个任务(Tp,Tc)分解成帧序列,其中,每个帧与具有执行需求(Bp(m))的基本进程(Tp(m))相关联,并且定义该进程可以开始的开始日期(Dp(m))以及该进程必须完成的结束日期(Dp(m+1))或最后期限;将相应顺序约束(C)与进程对(Tp(m),Tc(n))相关联;在与该实时系统的执行单元相关联的时标(S)上投影日期,从而形成时隙序列;顺序解析序列的时隙;在当前时隙内识别合格进程,如果进程满足以下两个标准,则该进程是合格的:i)进程在当前时隙中是可执行的,以及ii)如果进程具有顺序约束,则由该顺序约束引用的进程在当前时隙中也是可执行的,或者该被引用的进程的最后期限在之前的时隙中;按最后期限的递增顺序将合格的进程排序在列表中;修改该列表以根据其顺序约束对进程进行重新排序;以及按照该列表的顺序在当前时隙中分配合格进程的执行需求,以构建排序计划。

A method for performing scheduling to ensure low latency communication between real-time tasks

【技术实现步骤摘要】
【国外来华专利技术】用于执行确保实时任务之间低延迟通信的排序计划的方法
本专利技术涉及硬实时多任务系统,更具体地,涉及用于这种系统中的任务间通信的技术。
技术介绍
在硬实时(hardreal-time)系统中,即在不能容忍任何通过操作的执行中的延迟的最后期限违反的系统中,通常使用静态调度方法来执行任务。然后,离线构造静态排序计划,其表示使用执行资源的需求的静态时间分配。这种方法例如在C.Aussaguès,V.David在1998年第四届IEEE复杂计算机系统工程国际会议(FourthIEEEInternationalConferenceonEngineeringofComplexComputerSystems,1998)的论文“在安全关键实时系统中建模和确保及时性的方法和技术(AMethodandaTechniquetoModelandEnsureTimelinessinSafetyCriticalReal-TimeSystems)”中以及专利申请WO2006-050967和US2010-0199280中有所描述。静态排序计划可以包括将在时间共享模式(time-sharingmode)下在执行单元上执行的几个并行任务。任务也可以彼此通信。例如,第一任务可以从传感器进行定期测量,而第二任务可以对产生的测量进行采样以实现控制。在这样的配置中,延迟可能在生产任务提供数据的时刻和消耗任务读取数据的时刻之间发生。在某些情况下,延迟可能会很大,以至于影响使用产生的数据的控制系统的稳定性或响应性。
技术实现思路
通常提供一种用于离线构造要在实时系统上执行的多个任务的排序计划的方法,该方法包括以下步骤:将每个任务分解成帧序列,其中,每个帧与具有执行需求的基本进程相关联,并定义该进程可以开始的开始日期和该进程必须完成的结束日期或最后期限;将相应的顺序约束与进程对相关联;将日期投影到与实时系统的执行单元相关联的时标上,从而形成时隙序列;顺序解析该序列的时隙;在当前时隙内识别合格进程,如果某个进程满足以下两个标准,则该进程是合格的:i)进程在当前时隙中是可执行的,并且ii)如果进程具有顺序约束,则由该顺序约束所引用的进程在当前时隙内也是可执行的,或者所引用的进程的最后期限在之前的时隙内;按最后期限的递增顺序将合格的进程排序在列表中;修改该列表以根据其顺序约束对进程进行重新排序;以及按照列表的顺序在当前时隙中分配合格进程的执行需求,以构建排序计划。该方法可以包括移除由其帧不重叠的两个进程形成的每个对中的顺序约束的初始步骤。修改列表的步骤和分配执行需求的步骤可以包括以下步骤:顺序地解析进程列表;如果该列表中的当前进程具有引用了在列表中被放置在当前进程之后的进程的顺序约束,则通过将被引用进程移动到当前进程之前来修改列表;从移动的被引用进程的位置开始继续列表解析;否则,将当前进程的执行需求放置在当前时隙中。放置执行需求的步骤可以包括以下步骤:如果当前时隙具有足够的空间来容纳执行需求,则将执行需求完全放置在该时隙中;否则,用执行需求的第一部分填充当前时隙,并将执行需求的剩余部分推迟放置到随后的时隙中。该实时系统可以包括多个执行单元。然后,该方法可以进一步包括以下步骤:将时隙序列的副本与每个执行单元相关联,以形成用于每个执行单元的排序计划;将执行单元分配给任务,以便在不同的执行单元上执行通过顺序约束链接的进程;在执行需求放置步骤中:i)将执行需求放置在计划的与当前进程相关联的当前时隙中,并且ii)在计划的与被引用进程相关联的当前时隙中放置与所放置的执行需求相对应的填充间隔,考虑到在两个执行单元之间的数据通信中出现的延迟以及该两个执行单元的时钟之间的偏移,该填充间隔被增加了同步时间。将执行需求放置在当前时隙中的步骤可以包括将执行需求放置在当前时隙中包含的任何填充间隔中。还可以提供一种用于在实时多任务系统中执行任务的方法,该方法包括以下步骤:根据上述方法产生多任务排序计划;配置实时多任务系统执行单元以循环应用该排序计划;配置该实时多任务系统的时基(timebase)以对该排序计划的时隙计时;按照将对应的执行需求在时隙内的分配的顺序,顺序地运行每个时隙的合格进程;以及检查进程执行时间符合对应的执行需求。附图说明相对于附图,将在以下非限制性描述中阐述实施例,其中,:图1A和1B以称为帧序列的格式示出了可以进行通信的两个任务的示例;图2A和2B表示从图1B中的任务构造排序计划的两种可能性;图3A和3B示出表示三个通信任务的示例的一组帧序列,以及使用用于减少或甚至消除通信延迟的方法构造的对应排序计划;图4A和4B示出了表示两个通信任务的示例的一对帧序列,以及使用用于减少通信延迟的替代方法构造的对应排序计划;以及图5A和5B示出了表示两个通信任务的示例的一对帧序列,以及使用用于减少或甚至取消通信延迟的方法分别为两个执行单元构造的两个对应的排序计划。具体实施方式图1A示出了产生数据的任务Tp的示例和消耗数据的任务Tc的示例,这些任务将在实时系统上并行运行。每个任务都可以按照Krono-Safe的专利申请US2017-0004011中的建议形式化。因此,每个任务被分解成重复帧序列,每个帧与基本进程Tp(m)、Tc(n)(其中,m和n是进程的序列号)相关联。帧的边界由形成该进程的时间约束的同步点或日期Dp、Dc定义。每个进程都可以从第一同步点或开始日期开始,并且必须最迟在第二同步点或最后期限结束。同步点是根据时基Hp、Hc选择的,该时基在执行期间为实时系统计时。他们通常是周期性的或在周期性顺序中分组。此外,每个进程都有执行需求(以下记为B),其可以用小于对应帧的长度的时间间隔形式化,其例如是最差情况执行时间(或WCET)。执行需求可以以任何方式在帧中使用,以单个片段或几个不连续的分段,这取决于在静态排序计划的后期构造阶段中实现的约束。为了建立任务间通信,可以将任务Tp的各个进程设计为产生用于任务Tc的进程的数据。在此,进程Tp(m)产生用于进程Tc(n)的数据。例如,数据通过共享存储器进行交换。因此,通常将进程Tp(m)的结束设计为将数据写入共享存储器,而将进程Tc(n)的开始设计为从共享存储器中读取数据。在图1A的示例中,进程Tc(n)的开始日期Dc(n)在进程Tp(m)的最后期限Dp(m+1)之后。这意味着进程Tc(n)将始终能够消耗进程Tp(m)产生的数据,但是具有大于Dc(n)-Dp(m+1)的延迟。在图1B的示例中,进程Tc(n)的开始日期Dc(n)在进程Tp(m)的最后期限Dp(m+1)之前。这意味着不能在所有情况下都保证进程Tc(n)可以消耗进程Tp(m)产生的数据。此外,进程Tc(n+1)的开始日期Dc(n+1)也在最后期限Dp(m+1)之前。在这种情况下,可以可靠地消耗数据的第一个进程是Tc(n+2),其延迟大于Dc(n+2)-Dp(m+1)。图2A示出了可以通过开发工具从如图1B所示的任本文档来自技高网...

【技术保护点】
1.一种用于离线构造用于要在实时系统上执行的多个任务(Tp,Tc)的排序计划的方法,包括以下步骤:/n将每个任务(Tp,Tc)分解成帧序列,其中,每个帧与具有执行需求(Bp(m))的基本进程(Tp(m))相关联,并定义所述进程可以开始的开始日期(Dp(m))和所述进程必须完成的结束日期(Dp(m+1))或最后期限;/n将相应的顺序约束(C)与进程对(Tp(m),Tc(n))相关联;/n将所述日期投影到与所述实时系统的执行单元相关联的时标(S)上,从而形成时隙序列;/n顺序地解析所述序列的所述时隙;/n在当前时隙内识别合格进程,如果进程满足以下两个标准,则该进程是合格的:/n-进程在当前时隙中是可执行的,以及/n-如果进程具有顺序约束,则由所述顺序约束引用的所述进程在当前时隙中也是可执行的,或者被引用的进程的所述最后期限在前一个时隙中;/n按最后期限的递增顺序将所述合格进程排序在列表中;/n修改所述列表以根据所述进程的顺序约束来对所述进程进行重新排序;以及/n将所述合格进程的所述执行需求按照所述列表的顺序分配在所述当前时隙中,以构建所述排序计划。/n

【技术特征摘要】
【国外来华专利技术】20171010 FR FR17594871.一种用于离线构造用于要在实时系统上执行的多个任务(Tp,Tc)的排序计划的方法,包括以下步骤:
将每个任务(Tp,Tc)分解成帧序列,其中,每个帧与具有执行需求(Bp(m))的基本进程(Tp(m))相关联,并定义所述进程可以开始的开始日期(Dp(m))和所述进程必须完成的结束日期(Dp(m+1))或最后期限;
将相应的顺序约束(C)与进程对(Tp(m),Tc(n))相关联;
将所述日期投影到与所述实时系统的执行单元相关联的时标(S)上,从而形成时隙序列;
顺序地解析所述序列的所述时隙;
在当前时隙内识别合格进程,如果进程满足以下两个标准,则该进程是合格的:
-进程在当前时隙中是可执行的,以及
-如果进程具有顺序约束,则由所述顺序约束引用的所述进程在当前时隙中也是可执行的,或者被引用的进程的所述最后期限在前一个时隙中;
按最后期限的递增顺序将所述合格进程排序在列表中;
修改所述列表以根据所述进程的顺序约束来对所述进程进行重新排序;以及
将所述合格进程的所述执行需求按照所述列表的顺序分配在所述当前时隙中,以构建所述排序计划。


2.根据权利要求1所述的方法,包括移除由帧不重叠的两个进程形成的每个对中的顺序约束的初始步骤。


3.根据权利要求1所述的方法,其中,所述修改所述列表的步骤和所述分配所述执行需求的步骤包括以下步骤:
顺序地解析所述进程列表;
如果所述列表中的当前进程具有引用所述列表中被放置在所述当前进程之后的进程的顺序约束,则通过将被引用的进程移动到所述当前进程之前来修改所述列表;
在所移动的被引用的进程的位置处开始继续所述列表解析;
否则,将所述当前进程...

【专利技术属性】
技术研发人员:A·巴尔博V·大卫E·奥哈永
申请(专利权)人:克罗诺安全公司
类型:发明
国别省市:法国;FR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1