CN113407319B - 基于Barrelfish的时间触发实时调度方法 - Google Patents

基于Barrelfish的时间触发实时调度方法 Download PDF

Info

Publication number
CN113407319B
CN113407319B CN202110663286.1A CN202110663286A CN113407319B CN 113407319 B CN113407319 B CN 113407319B CN 202110663286 A CN202110663286 A CN 202110663286A CN 113407319 B CN113407319 B CN 113407319B
Authority
CN
China
Prior art keywords
task
time
tasks
type
real
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
CN202110663286.1A
Other languages
English (en)
Other versions
CN113407319A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202110663286.1A priority Critical patent/CN113407319B/zh
Publication of CN113407319A publication Critical patent/CN113407319A/zh
Application granted granted Critical
Publication of CN113407319B publication Critical patent/CN113407319B/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
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本专利提出了一种新的基于Barrelfish时间触发实时调度方法,将Barrelfish进行实时化改造并与时间触发实时通信系统相结合,属于面向实时分布式系统的网络通信(H04W)领域。一种新的时间触发实时调度方法,它在已有任务模型的基础上,通过添加通信亲和性参数来描述任务对消息发送和接收的偏向程度,从而在此基础上提出了一种新的任务与通信分离式调度模型,基于此调度模型实现了对任务与通信依赖的拆分,使得任务与通信可以并行的进行离线调度,在调度解空间损失尽可能小的情况下,使得任务与消息可以独立的求解,以降低大规模系统调度问题求解的计算时间,以提升系统的实时性。

Description

基于Barrelfish的时间触发实时调度方法
技术领域
提出了一种基于Barrelfish的时间触发实时调度方法,将Barrelfish进行实时化改造并与时间触发实时通信系统相结合,属于面向实时分布式系统的网络通信(H04W)领域。
背景技术
信息物理融合系统(Cyber Physical System,CPS)。与传统实时系统不同的是,CPS系统对计算能力,计算实时性和通信实时性都具有比较高的要求,CPS系统广泛用于飞行器、智能工业、汽车电子等安全关键领域。目前CPS系统的发展主要有两个趋势:一是,分布式节点数量和种类增多。如在智能工厂中,通过增加传感器的数量和种类,更好的获取当前工厂的运行状态,从而进行更智能的反馈控制。二是,单个节点内的处理器核心数目和种类的增多。如在自动驾驶领域,需要计算能力更强的处理器和专用的加速芯片来支撑AI任务的运行。目前CPS系统上运行的实时操作系统并不能完全满足CPS系统的发展趋势,特别是第二个发展趋势。
在多核、异构硬件架构的支持方面,苏黎世理工大学提出的基于多内核(MultiKernel)架构的新型操作系统Barrelfish,因为其在每一个处理器核心上都有一个操作系统内核,内核之间并不共享数据,可以更好地支持未来众核、异构的硬件架构。但Barrelfish是一个面向高性能通用领域的操作系统,并不具有实时性。
在分布式实时通信的支持方面,Kopetz等人针对分布式实时系统提出了时间触发架构(Time-Triggered Architecture,TTA),时间触发架构包含了经过工业界验证的时间触发实时通信子系统。现有的时间触发实时通信系统主要包括两类:一种是基于时间触发总线协议TTP(Time-Triggered Protocol)的总线型网络,另外一种是时间触发以太网TTE[14](Time-Triggered Ethernet),可以根据实际需求选用。
与传统的通用操作系统不同,实时操作系统更加关注的是应用执行在时间上的确定性和整个系统在组件发生错误时的容错性能,而且在实时系统领域,越来越多的系统呈现出分布式的趋势,诸如综合化航空电子系统IMA和信息物理融合系统CPS,实时系统的分布式趋势对传统实时任务调度和实时通信提出了新的要求。然而现有的实时系统中,大多数实时操作系统对于多核处理器的支持还不够完善,而对多核处理器支持完善的操作系统绝大多数面向通用领域,实时性较差。Barrelfish操作系统作为面向异构多核架构的操作系统,对异构多核处理器具有良好的支持,适合改造为实时操作系统。针对未来可能出现的多核节点分布式实时系统,将Barrelfish进行实时化改造并与时间触发实时通信系统相结合是解决CPS系统发展所面临问题的一种可行的解决方案。
发明内容
本权利的目的是针对多内核操作系统的实时化改造和时间触发实时通信,基于Barrelfish提出了一种新的时间触发实时调度方法,来实现一个基于时间触发的实时系统以解决CPS发展过程中所面对的实时性差等问题。
本权利提出了一种新的时间触发实时调度方法。它在已有任务模型的基础上,通过添加通信亲和性参数来描述任务对消息发送和接收的偏向程度,从而在此基础上提出了一种新的任务与通信分离式调度模型,基于此调度模型实现了对任务与通信依赖的拆分,使得任务与通信可以并行的进行离线调度,在调度解空间损失尽可能小的情况下,使得任务与消息可以独立的求解,以降低大规模系统调度问题求解的计算时间,以提升系统的实时性。
本发明包括下列步骤:
1.一种基于Barrelfish时间触发实时调度方法,其特征在于,所述方法运行于采用TTP/C时间触发式通信协议的分布式实时系统;所述分布式实时系统包括多个节点;所述分布式实时系统的节点包括端节点计算机和时间触发以太网交换节点,实时任务在端节点计算机上执行,并通过时间触发以太网传递和接收消息;
其中实时任务用四参数模型
Figure GDA0003198341780000021
来表示,其中τi代表第i个实时任务,φ表示该实时任务在每个周期内被释放的时刻相对于周期开始时刻的偏移,C表示该实时任务在最坏的情况下需要运行的时间,D表示该实时任务相对于任务释放时刻的截止期限,T表示该实时任务两次被释放的时间间隔;
其中时间触发以太网是一个二层的交换网络,网络拓扑可以表示成一个有向图
Figure GDA0003198341780000022
Figure GDA0003198341780000023
其中
Figure GDA0003198341780000024
是节点的集合,包括端节点和交换节点,
Figure GDA0003198341780000025
表示网络中边的集合,通常时间触发以太网采用双向的全双工的物理链路,数学表示如下:
Figure GDA0003198341780000026
其中[va,vb]表示节点va和节点vb之间的一条有向逻辑链路,一条物理链路(Link)[va,vb]的数学表示如下:
<[va,vb].s,[va,vb].d,[va,vb].mt>
其中参数s表示传输速率;参数d表示链路延迟,参数延迟主要由传播和处理延迟构成;参数mt表示时间触发以太网的宏拍粒度;
一对通信节点的通信路径为虚链路,端节点va通过交换节点与端节点vb建立通信连接,那么端节点va与端节点vb之间的虚链路vl[va,vb]表示如下:
vl[va,vb]=[[va,v1],[v1,v2],[v1,v2],…,[vn-1,vn],[vn,vb]]
消息在虚链路上传输,在传输过程中消息的实例和进行通信调度的基本单位为帧,虚链路vl上传输的消息mi在第j条物理链路[va,vb]上的帧实例记为
Figure GDA0003198341780000027
虚链路vl上所有的帧集合记为
Figure GDA00031983417800000212
整个系统内所有的帧集合记为F,一个帧的表示如下:
Figure GDA0003198341780000029
其中参数T为发送周期,φ为发送偏移,L为发送占用时长;
所述方法包括以下步骤:
步骤1、在实时任务
Figure GDA00031983417800000210
中添加通信亲和性参数δ:
引入通信亲和性参数δ在所述分布式实时系统中描述实时任务对消息发送和接收的偏向程度,
依赖于时间触发以太网通信的实时任务包括Producer类型,Shaper类型和Consumer类型的任务,Free类型为与消息无关的任务,则通信依赖的任务模型描述为:
Figure GDA00031983417800000211
其中:①通信依赖任务τi不支持并行以及多关键性任务;②任务的通信亲和力参数δ是一个[0,1]之间的数,描述任务对消息发送和接收的偏向程度;③仅同周期之间的任务存在优先序约束;④不同周期的任务之间是独立的;⑤Shaper类型任务任务一个周期内只能发送或者接受一个消息或者接收并发送一个消息;Free类型的任务不发送或者接受任何消息;⑥任务不能被跨核迁移;被分配完成后的任务只能在指定核上运行;
步骤2、拆分任务模型与通信模型的依赖进行分离调度:
对于由
Figure GDA0003198341780000031
描述的Producer类型,Shaper类型和Consumer类型的任务,对于Producer类型或Shaper类型的发送消息的任务
Figure GDA0003198341780000032
与Shaper类型或者Consumer类型的接收消息的任务
Figure GDA0003198341780000033
若任务
Figure GDA0003198341780000034
Figure GDA0003198341780000035
之间存在通信关系,则设置发送消息
Figure GDA0003198341780000036
任务执行完毕后,其发送的消息mi才可以被发送到网络中,并且消息mi到接收节点之前,接收消息的任务
Figure GDA0003198341780000037
不可执行;
步骤3、统一三种通信依赖任务的约束表示:
在所有节点任务可以调度的情况下通过调整参数
Figure GDA0003198341780000038
和参数τi.D使得通信调度的解空间尽量变大以满足Free类型任务,Producer类型任务,Shaper类型任务和Consumer类型任务的需求,具体如下;
Free类型若Free任务集Γfree中任务τi与任务τj具有优先序依赖,仅设置约束τi.D<τj.D.且
Figure GDA0003198341780000039
①Producer类型,设Producer类型任务τi对应的Consumer类型任务为
Figure GDA00031983417800000310
则使得消息的调度余量尽量大的形式化目标为:
Figure GDA00031983417800000311
其中di,c表示任务τi以及任务
Figure GDA00031983417800000312
之间的预期网络传输延迟;
②Consumer类型,设Consumer类型任务τi的生产者任务为
Figure GDA00031983417800000313
则消息的调度余量尽量大的形式化目标为:
Figure GDA00031983417800000314
其中dp,i表示任务τi以及任务
Figure GDA00031983417800000315
之间的预期延迟;
③Shaper类型,Shaper类型任务有两个优化目标:
Figure GDA00031983417800000316
Figure GDA00031983417800000317
将所述两个优化目标转化为一个可解的优化目标:
Figure GDA00031983417800000318
针对当目标取得最优值时该目标可能会导致结果出现极左偏以及极右偏的现象,引入通信亲和性参数δ∈[0,1]来表达左偏或者右偏的程度,此时优化目标为需要最小化的目标值:
Figure GDA00031983417800000319
任务的
Figure GDA00031983417800000320
和D参数需要满足的约束为τi.D≥τi.C;
Figure GDA00031983417800000321
τi.D≥0;ΓConsumer+Producer+Shaper是可调度的(schedulable);
步骤4.归一化调度模型优化目标
对于每个Producer类型任务
Figure GDA00031983417800000322
构造一个虚拟的Producer类型任务且该虚拟的Producer类型任务的偏移为
Figure GDA00031983417800000323
截止期限为0,网络延迟为0;对于每个Consumer类型任务,构造一个虚拟的Consumer类型任务且该虚拟的Consumer类型任务的偏移为
Figure GDA00031983417800000324
截止期限为0,网络延迟为0:
对于Shaper类型任务,假设该Shaper类型任务由Producer类型任务转换而来,可得转换得到该Shaper类型任的Producer类型任务的虚拟Producer类型任务的参数
Figure GDA00031983417800000325
令δ=0时,有:
Figure GDA00031983417800000326
Figure GDA00031983417800000327
从而有:
Figure GDA00031983417800000328
Figure GDA00031983417800000329
Figure GDA00031983417800000330
该目标与单独的Producer类型任务优化目标等价;
对于Shaper类型任务,假设该Shaper类型任务由Consumer类型任务转换而来,可得转换得到该Shaper类型任的Consumer类型任务的虚拟Consumer类型任务的参数
Figure GDA00031983417800000331
令δ=1时,Shape类型任务优化目标等价于Consumer类型任务的优化目标,
从而将Producer任务和Consumer任务统一归为Shaper任务;
步骤5.约束求解:
经过目标归一化后,Producer类型任务和Consumer类型任务的优化目标等价于Shaper类型任务的优化目标:
Figure GDA0003198341780000041
Figure GDA0003198341780000042
再考虑可调度性约束:ΓConsumer+Producer+Shaper是可调度的(schedulable),并采用
Figure GDA0003198341780000043
用于约束任务集ΓConsumer+Producer+Shaper的可调度性,
Figure GDA0003198341780000044
为凸约束,则整个约束优化目标为凸优化,使用逐步信赖域规划方法进行约束求解;
步骤6、任务调度:
经过约束求解后,得到单独的任务调度模型和通信调度模型在原有任务集的基础上产生一个新的任务集;新的任务集在各个节点上独立地利用EDF调度算法进行模拟调度生成任务调度表,由拆分约束保证其可调度性;根据新的任务集的参数和调度依赖拆分方法可以生成任务相关的消息调度约束,结合消息原有约束,生成消息调度表;在中断处理接口函数调用任务调度接口后,任务调度器首先检索任务调度表的下一个表项,如果已经是最后一个表项,则滚动到下一个周期,读取需要调度的任务ID和任务结束时刻,如果任务ID为负,则表明本次时间片为空闲时隙,交由非实时任务调度逻辑处理,否则设置下一次时钟中断到时间片结束,然后检索对应需要调度的任务的进程控制块,返回给中断处理接口。经过以上步骤关于分布式实时系统调度问题的建模和求解后,得到的基于Barrelfish的时间触发实时调度方案为,在损失尽可能小的解空间的情况下,将任务与通信的调度依赖拆分,使得任务调度与时间触发通信调度可以单独进行,来降低大规模系统调度问题求解的计算时间,从而提升系统的实时性能。
本权利在已有的模型基础上,引入任务通信亲和性参数来描述任务对消息发送和接收的偏向程度。并在损失尽可能小的解空间的情况下,将任务与通信的调度依赖拆分,并保证切分后的可调度性尽可能大,使得任务调度与时间触发通信调度可以单独进行,以降低大规模系统调度问题求解的计算时间,以满足系统对实时性的要求。虽然对任务的可调度性约束引入的非线性高次约束,但从数学上可以证明其属于凸约束问题,从而可以采用现有且成熟的凸优化领域的理论以及工具较为快速地求解模型。实验表明了本发明提出的时间触发实时调度新方法的有效性,其在调度时间性能上具有比与联合式调度更优的性能,而且在调度的解空间上,分离式调度方案与联合式调度方相比,大幅度地降低了调度模型的求解时间复杂度,大大提升了系统的实时性能。
附图说明
图1为时间触发调度的流程图;
图2为时间触发调度框架整体设计图
图3为Shaper任务左偏示意图;
图4为分离式与联合式调度的时间性能对比;
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
参见图1、图2,将本发明用于中大规模系统模型调度时,其具体处理步骤如下:
步骤1、引入了通信亲和性参数:
在传统实时调度领域,主要用四个参数来表示一个实时任务,第一个参数是周期内的偏移量φ,表示该任务在每个周期内被释放的时刻相对于周期开始时刻的偏移;第二个参数最坏执行时间C,该参数表示该实时任务在最坏的情况下需要在指定平台上运行的时间;第三个参数是相对截止期限D,该参数表示任务相对于任务释放时刻的截止期限;第四个参数是周期T,该参数表示任务两次被释放的时间间隔。任务一般用数学符号τ来表示,任务τi的数学表示如下:
Figure GDA0003198341780000051
在此传统的任务模型的基础上,本发明引入了通信亲和性参数δ用于刻画任务对消息发送和接收的偏向程度,本发明中将通信依赖任务模型(包括Producer类型,Shaper类型和Consumer类型的任务)描述如下:
Figure GDA0003198341780000052
步骤2、任务与通信调度的分离:
本发明将通信模型和任务模型拆解分别调度的调度方案,虽然这样并不能覆盖整个解空间,但是能比较好地降低模型求解的复杂度,具体任务与通信调度的分离通过由
Figure GDA0003198341780000053
Figure GDA0003198341780000054
描述的Producer类型,Shaper类型和Consumer类型的任务,考虑一个发送消息的任务
Figure GDA0003198341780000055
如Producer类型或Shaper类型与一个接收消息的任务
Figure GDA0003198341780000056
如Shaper类型或者Consumer类型之间存在通信关系,则要求发送消息任务执行完毕后,消息mi才可以被发送到网络中,并且消息到接收节点之前,接收消息任务不可执行。
(1)切分任务和通信之间的依赖。考虑一个发送消息的任务
Figure GDA0003198341780000057
(在上述任务模型中可以是Producer类型和Shaper类型的任务)与一个接收消息的任务τc(在上述任务模型中可以是Shaper类型和Consumer类型的任务)之间存在通信关系,则要求发送消息任务执行完毕后,消息mi才可以被发送到网络中,并且消息到接收节点之前,接收消息任务不可执行。本发明采取了确定任务开始和结束时刻的方式来拆分消息与任务依赖。考虑发送任务的结束时刻,根据实时任务的定义,实时任务应该在其截止期限之前被完成,由此可以得出发送任务的结束时刻不晚于
Figure GDA0003198341780000058
考虑接受任务的开始时刻,实时任务具体释放时刻,任务被释放后才可以执行,换而言之,接收任务最早在任务的释放时刻开始执行。由此,拆分后的通信调度约束如下(2.1)公式所示:
Figure GDA0003198341780000059
(2)保证切分后的可调度性尽可能大。通过分析公式(2.1)可知,消息的调度空间受到任务的参数
Figure GDA00031983417800000510
和参数τi.D的限制。在上述任务模型中,对于原始任务集Γ而言,任意任务τi.∈Γ,除参数τi.C和参数τi.T是任务的固有属性之外,其余参数
Figure GDA00031983417800000511
和参数τi.D均可调整。在保证原有的相对截止期限被满足下,参数τi.D只能调小,且需要满足任务的相对截止期应大于任务的最坏执行时间;由于任务不可能被提前释放,所以参数
Figure GDA00031983417800000512
只能调大,但需要满足任务的偏移加上任务相对截止期小于任务的周期。在保证任务可调度性和任务集原有特性(任务不会违反原有截止期限也不会要求任务被提前释放)的同时,通过优化调整任务的参数
Figure GDA00031983417800000513
和参数τi.D可以增大消息的调度空间,更好的保证拆分后消息的可调度性。
步骤3、分离式任务与通信调度模型的求解:
为了求解模型,需要对任务的可调度性约束引入非线性高次约束,但这些非线性高次约束可以被证明属于凸约束,从而可以利用现有且成熟的工具较为快速地求解模型,步骤如下:
(1)模型假设。为了使得模型可以求解,需要对模型中的一些参数作限制性假设。假设如下:①通信依赖任务τ由
Figure GDA00031983417800000514
五个模型描述,即不支持并行以及多关键性任务假设;②任务的通信亲和力参数δ是一个[0,1]之间的数,描述任务对消息发送和接收的偏向程度;③仅同周期之间的任务存在优先序约束;④不同周期的任务之间是独立的;⑤一个任务一个周期内只能发送或者接受一个消息或者接收并发送一个消息(对于Shaper类型任务)。Free类型的任务不发送或者接受任何消息;⑥任务不支持跨核迁移。即任务分配完成后的任务只能在指定个核心上运行。
(2)模型约束。在所有节点任务可以调度的情况下通过调整参数
Figure GDA0003198341780000061
和参数τi.D使得通信调度的解空间尽量变大以满足Free类型任务,Producer类型任务,Shaper类型任务和Consumer类型任务的需求。
①Free类型,该类型任务不需要关注消息的依赖,因此只需要关注任务间的优先序依赖关系,若Free任务集Γfree中任务τi与任务τj具有优先序依赖,仅需设置约束τi.D<τj.D.且
Figure GDA0003198341780000062
即可;
②Producer类型,应保证其与对应的Consumer任务的消息调度余量尽可能大,以使得在任务可以调度的情况下通信尽可能可调度,设生产者任务τi对应的消费者任务为
Figure GDA0003198341780000063
则使得消息的调度余量尽量大的形式化目标为:
Figure GDA0003198341780000064
其中di,c表示任务τi以及任务
Figure GDA0003198341780000065
之间的预期网络传输延迟;
③Consumer类型,对于Consumer类型的任务,应使得其与对应生产者任务的消息调度预留时间尽量大,设τi的生产者任务为
Figure GDA0003198341780000066
则消息的调度余量尽量大的形式化目标为:
Figure GDA0003198341780000067
其中dp,i表示任务τi以及任务
Figure GDA0003198341780000068
之间的预期延迟;
④Shaper类型,Shaper任务可以看做是Producer任务与Consumer任务的结合,对于Shaper任务需要下述两个优化目标:
Figure GDA0003198341780000069
Figure GDA00031983417800000610
Figure GDA00031983417800000611
跟据多目标优化的相关理论,将两个优化目标加和以将问题转化为一个可解的优化目标:即
Figure GDA00031983417800000612
然而,当目标取得最优值时该目标可能会导致结果出现极左偏以及极右偏的现象,参照图3。为了避免这现象,引入通信亲和性参数δ∈[0,1]来表达左偏或者右偏的程度,则两个目标需尽量满足以下目标:
Figure GDA00031983417800000613
转化为相减形式有以下需要最小化目标值:
Figure GDA00031983417800000614
Figure GDA00031983417800000615
任务的
Figure GDA00031983417800000616
和D参数需要满足的约束为τi.D≥τi.C;
Figure GDA00031983417800000617
τi.D≥0;ΓConsumer+Producer+Shaperis schedulable。
(3)目标归一化。对于每个Producer任务
Figure GDA00031983417800000618
存在一个虚拟的Producer任务且该任务的偏移为
Figure GDA00031983417800000619
截止期限为0,网络延迟为0;对于每个Consumer任务,假设其存在一个虚拟的Consumer任务且该任务的偏移为
Figure GDA00031983417800000620
截止期限为0,网络延迟为0。则可将Producer任务和Consumer任务统一归为Shaper任务类型。
对于Shaper任务,假设该Shaper任务由Producer任务转换而来,可得虚拟Producer任务的参数
Figure GDA00031983417800000621
令δ=0时,有:
Figure GDA00031983417800000622
Figure GDA00031983417800000623
从而有:
Figure GDA00031983417800000624
Figure GDA00031983417800000625
即第二个目标恒取得,该目标与单独的Producer任务优化目标等价。
对于Shaper任务,假设该Shaper任务由Consumer任务转换而来,可得虚拟Producer任务的参数
Figure GDA00031983417800000626
令δ=1时,有:
Figure GDA00031983417800000627
Figure GDA00031983417800000628
从而有:
Figure GDA00031983417800000629
Figure GDA00031983417800000630
Figure GDA00031983417800000631
即第二个目标恒取得,结果等价于Consumer任务的优化目标。
根据Producer任务和Consumer任务目标关系呈现镜像性,仅需要考虑Producer或者Consumer任务的约束,将Producer任务以及Consumer任务看作一个任务对,并添加一个虚拟Consumer任务,使得其成为一个形式上和Shaper任务相同的目标以及约束相同的任务链即,令Γnew_shaper=Γshaperconsumer,并对于所有的Shaper任务链中,,可采用修正因子法去除比例约束中含有绝对值项,设为
Figure GDA0003198341780000071
负修正因子,
Figure GDA0003198341780000072
为正修正因子,其均为大于或等于0的数。添加下述线性约束:
Figure GDA0003198341780000073
Figure GDA0003198341780000074
修正因子用于修正目标取值的偏差,即
Figure GDA0003198341780000075
修正因子表示约束可能偏负值,修正因子
Figure GDA0003198341780000076
表示约束可能偏正值。对于函数f(x)+d--d-=0,可虑目标类型:
Figure GDA0003198341780000077
由于
Figure GDA0003198341780000078
假设上述目标取得最优,可知f(x)f(x)-d+=0→f(x)≤0。同理,对于目标
Figure GDA0003198341780000079
目标
Figure GDA00031983417800000710
将上式的min目标转换为max目标,以使得两个目标方向一致,即
Figure GDA00031983417800000711
将两个目标加权求和,可得目标:
Figure GDA00031983417800000712
Figure GDA00031983417800000713
其中k为大于0的比例约束的权重指标,k值越大,则比例约束越容易得到满足,k值在求解前由系统设计人员指定,求解结果不满足时可调整k值重新求解计算。
对于每个Producer-Shaper-Consumer任务链,则需要创建一个上述的max目标,这些目标一般难以同时取得最优。一种可用的优化目标是使得上述目标中最小的最大,即
Figure GDA00031983417800000714
Figure GDA00031983417800000715
期望延迟di,c和dp,i可以通过具体的网络设施计算得到,通常使用网络演算或者随机网络演算计算出一个最大容许值。令
Figure GDA00031983417800000716
Figure GDA00031983417800000717
将max(min)表达式转换,即对于
Figure GDA00031983417800000718
Figure GDA00031983417800000719
Figure GDA00031983417800000720
最终,上述max min表达式等价于max,则可将三种不同任务的目标功能统一成以下形式:
Figure GDA00031983417800000721
Figure GDA00031983417800000722
(4)约束求解。经过目标归一化后,Producer任务和Consumer任务的优化目标等价于Shaper任务的优化目标:
Figure GDA00031983417800000723
Figure GDA00031983417800000724
考虑可调度性约束:ΓConsumer+Producer+Shaperis schedulable。对于单核同步隐截止期或限截止期实时调度,EDF算法被证明是最优的。对于同步隐截止期任务集,当任务集的密度
Figure GDA00031983417800000725
时,则任务集是单核EDF可调的。但是当任务集为非同步任务时,则该判定条件是充分非必要的。同步任务集表示存在一个时刻点,使得所有的任务都在该点同时释放任务;非同步任务表示不存在这样的一个时刻点,使得任务集同时释放任务。对于非同步任务,其可调度性判定的充分必要条件可以由实时演算给出。但是实时演算中给出的可调度性判定是严格非凸的,因此不容易求解。为了简单起见,本发明采用
Figure GDA00031983417800000726
Figure GDA00031983417800000727
充分条件用于约束任务集的可调度性。该约束为凸约束可由以下定理证明:
定理1设n维向量X=(X1,X2,…,Xn),其中Xi∈[a,b]且为实数,a≥0,b≥0,a<b。设SX={X},则SX为凸集。
定理2设
Figure GDA00031983417800000728
其中Ci为任一大于0的实数,则f(X)为定义在空间SX上的严格凸函数。
定理3步骤3中的目标规划公式(3.1)为凸优化。
从而整个约束优化目标为凸优化,可使用已成熟的逐步信赖域规划方法进行约束求解。
经过以上步骤关于分布式实时系统调度问题的建模和求解后,得到的基于Barrelfish的时间触发实时调度方案为,在损失尽可能小的解空间的情况下,将任务与通信的调度依赖拆分,使得任务调度与时间触发通信调度可以单独进行,来降低大规模系统调度问题求解的计算时间,从而提升系统的实时性能。
然后再通过设计和实现一个原型验证系统来验证和测试时间触发任务和通信调度的正确性和实时性,对分离式离线调度器和联合式调度器的进行性能测试。本发明采用了模拟的方式,在单个硬件平台上,以每个CPU核心为一个计算节点,计算节点之间通过共享内存的方式进行消息传递。并基于Barrelfish操作系统Multi-Kernel的设计理念,每个CPU核心上都会有一个操作系统内核,每个内核具有独立的任务调度队列,这样本文可以将每个CPU核心视为一个计算节点。在时间触发通信方面,本发明在Barrelfish中设计和实现一个模拟的通信框架,将通信任务之间的通信缓冲区在内存中区分开,基于系统时钟,该框架可以提供时间触发的转发服务。然后本发明在ZCU104平台实现了该原型验证系统,原型验证系统提供了对多节点、分布式实时系统的模拟,可以支持对Barrelfish操作系统进行任务调度、消息通信、中断延迟、系统调用开销,任务切换开销等实时性相关的特性的测试和评估。
综上,本权利提出了一种新的基于Barrelfish时间触发实时调度方法,通过在已有任务模型的基础上,添加了通信亲和性参数来描述任务对消息发送和接收的偏向程度,从而在此基础上能够顺利将任务与通信进行分离式调度。实验表明,这种改进的分离式调度方法在调度时间性能上具有比与联合式调度方法更优的性能,尤其在中大规模系统模型调度中更加明显,能大幅度降低系统调度的计算时间,提升系统的实时性能,参照图4。而且在调度的解空间上,分离式调度方案与联合式调度方相比,分离式调度方案比联合式调度方案牺牲的调度解空间并不是太多,但大幅度地降低了调度模型的求解时间复杂度。

Claims (5)

1.一种基于Barrelfish时间触发实时调度方法,其特征在于,所述方法运行于采用TTP/C时间触发式通信协议的分布式实时系统;所述分布式实时系统包括多个节点;所述分布式实时系统的节点包括端节点计算机和时间触发以太网交换节点,实时任务在端节点计算机上执行,并通过时间触发以太网传递和接收消息;
其中实时任务用四参数模型
Figure FDA0003627928860000011
来表示,其中τi代表第i个实时任务,φ表示该实时任务在每个周期内被释放的时刻相对于周期开始时刻的偏移,C表示该实时任务在最坏的情况下需要运行的时间,D表示该实时任务相对于任务释放时刻的截止期限,T表示该实时任务两次被释放的时间间隔;
其中时间触发以太网是一个二层的交换网络,网络拓扑可以表示成一个有向图
Figure FDA0003627928860000012
Figure FDA0003627928860000013
其中
Figure FDA0003627928860000014
是节点的集合,包括端节点和交换节点,
Figure FDA0003627928860000015
表示网络中边的集合,时间触发以太网采用双向的全双工的物理链路,数学表示如下:
Figure FDA0003627928860000016
其中[va,vb]表示节点va和节点vb之间的一条有向逻辑链路,一条物理链路(Link)[va,vb]的数学表示如下:
<[va,vb].s,[va,vb].d,[va,vb].mt>
其中参数s表示传输速率;参数d表示链路延迟,参数延迟由传播和处理延迟构成;
参数mt表示时间触发以太网的宏拍粒度;
一对通信节点的通信路径为虚链路,端节点va通过交换节点与端节点vb建立通信连接,那么端节点va与端节点vb之间的虚链路vl[va,vb]表示如下:
vl[va,vb]=[[va,v1],[v1,v2],[v1,v2],…,[vn-1,vn],[vn,vb]]
消息在虚链路上传输,在传输过程中消息的实例和进行通信调度的基本单位为帧,虚链路vl上传输的消息mi在第j条物理链路[va,vb]上的帧实例记为
Figure FDA0003627928860000017
虚链路vl上所有的帧集合记为
Figure FDA0003627928860000018
整个系统内所有的帧集合记为F,一个帧的表示如下:
Figure FDA0003627928860000019
其中参数T为发送周期,φ为发送偏移,L为发送占用时长;
所述方法包括以下步骤:
步骤1、在实时任务
Figure FDA00036279288600000110
中添加通信亲和性参数δ:
引入通信亲和性参数δ在所述分布式实时系统中描述实时任务对消息发送和接收的偏向程度,
依赖于时间触发以太网通信的实时任务包括Producer类型,Shaper类型和Consumer类型的任务,Free类型为与消息无关的任务,则通信依赖的任务模型描述为:
Figure FDA00036279288600000111
其中:①通信依赖任务τi不支持并行以及多关键性任务;②任务的通信亲和力参数δ是一个[0,1]之间的数,描述任务对消息发送和接收的偏向程度;③仅同周期之间的任务存在优先序约束;④不同周期的任务之间是独立的;⑤Shaper类型任务一个周期内只能发送或者接受一个消息或者接收并发送一个消息;Free类型的任务不发送或者接受任何消息;⑥任务不能被跨核迁移;被分配完成后的任务只能在指定核上运行;
步骤2、拆分任务模型与通信模型的依赖进行分离调度:
对于由
Figure FDA0003627928860000021
描述的Producer类型,Shaper类型和Consumer类型的任务,对于Producer类型或Shaper类型的发送消息的任务
Figure FDA0003627928860000022
与Shaper类型或者Consumer类型的接收消息的任务
Figure FDA0003627928860000023
若任务
Figure FDA0003627928860000024
Figure FDA0003627928860000025
之间存在通信关系,则设置发送消息
Figure FDA0003627928860000026
任务执行完毕后,其发送的消息mi才可以被发送到网络中,并且消息mi到接收节点之前,接收消息的任务
Figure FDA0003627928860000027
不可执行;
步骤3、统一三种通信依赖任务的约束表示:
在所有节点任务可以调度的情况下通过调整参数τi.
Figure FDA0003627928860000028
和参数τi.D使得通信调度的解空间尽量变大以满足Free类型任务,Producer类型任务,Shaper类型任务和Consumer类型任务的需求,具体如下;
Free类型若Free任务集Γfree中任务τi与任务τj具有优先序依赖,仅设置约束τi.D<τj.D.且
Figure FDA0003627928860000029
①Producer类型,设Producer类型任务τi对应的Consumer类型任务为
Figure FDA00036279288600000210
则使得消息的调度余量尽量大的形式化目标为:
Figure FDA00036279288600000211
其中di,c表示任务τi以及任务
Figure FDA00036279288600000212
之间的预期网络传输延迟;
②Consumer类型,设Consumer类型任务τi的生产者任务为
Figure FDA00036279288600000213
则消息的调度余量尽量大的形式化目标为:
Figure FDA00036279288600000214
其中dp,i表示任务τi以及任务
Figure FDA00036279288600000215
之间的预期延迟;
③Shaper类型,Shaper类型任务有两个优化目标:
Figure FDA00036279288600000216
Figure FDA00036279288600000217
将所述两个优化目标转化为一个可解的优化目标:
Figure FDA00036279288600000218
针对当目标取得最优值时该目标可能会导致结果出现极左偏以及极右偏的现象,引入通信亲和性参数δ∈[0,1]来表达左偏或者右偏的程度,此时优化目标为需要最小化的目标值:
Figure FDA00036279288600000219
任务的
Figure FDA00036279288600000220
和D参数需要满足的约束为τi.D≥τi.C;
Figure FDA00036279288600000221
τi.D≥0;ΓConsumer+Producer+Shaper是可调度的(schedulable);
步骤4.归一化调度模型优化目标
对于每个Producer类型任务
Figure FDA00036279288600000222
构造一个虚拟的Producer类型任务且该虚拟的Producer类型任务的偏移为
Figure FDA00036279288600000223
截止期限为0,网络延迟为0;对于每个Consumer类型任务,构造一个虚拟的Consumer类型任务且该虚拟的Consumer类型任务的偏移为
Figure FDA00036279288600000224
截止期限为0,网络延迟为0:
对于Shaper类型任务,假设该Shaper类型任务由Producer类型任务转换而来,可得转换得到该Shaper类型任务的Producer类型任务的虚拟Producer类型任务的参数
Figure FDA00036279288600000225
令δ=0时,有:
Figure FDA00036279288600000226
Figure FDA00036279288600000227
从而有:
Figure FDA00036279288600000228
Figure FDA00036279288600000229
Figure FDA00036279288600000230
该目标与单独的Producer类型任务优化目标等价;
对于Shaper类型任务,假设该Shaper类型任务由Consumer类型任务转换而来,可得转换得到该Shaper类型任务的Consumer类型任务的虚拟Consumer类型任务的参数
Figure FDA00036279288600000231
令δ=1时,Shape类型任务优化目标等价于Consumer类型任务的优化目标,
从而将Producer任务和Consumer任务统一归为Shaper任务;
步骤5.约束求解:
经过目标归一化后,Producer类型任务和Consumer类型任务的优化目标等价于Shaper类型任务的优化目标:
Figure FDA0003627928860000031
Figure FDA0003627928860000032
再考虑可调度性约束:ΓConsumer+Producer+Shaper是可调度的(schedulable),并采用
Figure FDA0003627928860000033
用于约束任务集ΓConsumer+Producer+Shaper的可调度性,
Figure FDA0003627928860000034
为凸约束,则整个约束优化目标为凸优化,使用逐步信赖域规划方法进行约束求解;
步骤6、任务调度:
经过约束求解后,得到单独的任务调度模型和通信调度模型在原有任务集的基础上产生一个新的任务集;新的任务集在各个节点上独立地利用EDF调度算法进行模拟调度生成任务调度表,由拆分约束保证其可调度性;根据新的任务集的参数和调度依赖拆分方法生成任务相关的消息调度约束,结合消息原有约束,生成消息调度表;在中断处理接口函数调用任务调度接口后,任务调度器首先检索任务调度表的下一个表项,如果已经是最后一个表项,则滚动到下一个周期,读取需要调度的任务ID和任务结束时刻,如果任务ID为负,则表明本次时间片为空闲时隙,交由非实时任务调度逻辑处理,否则设置下一次时钟中断到时间片结束,然后检索对应需要调度的任务的进程控制块,返回给中断处理接口。
2.如权利要求1所述的基于Barrelfish的时间触发实时调度方法,其特征在于,所述的实时任务是指在实时系统中对于任务结束时间有严格约束的任务,任务的执行必须在其截止期限之前结束;实时任务可以分为消息无关任务(Free Task),生产者任务(ProducerTask),消费者任务(ConsumerTask)和中继任务(Shaper Task);消息无关任务是指不依赖于时间触发通信的任务;生产者任务在任务的结束处产生一个消息;消费者任务在任务的开始处接收一个消息用于执行;中继任务在任务的开始处接收一个消息并在任务的结尾处发送一个消息,其中Free类型与消息无关,不参与任务与通信依赖拆分的过程,Free类型任务不做变动,仍然采用传统的四参数模型
Figure FDA0003627928860000035
Figure FDA0003627928860000036
表示实时任务,根据参数φ取值是否为0,将任务分为同步任务和异步任务;而根据参数D取值的不同,将任务分为隐截止期任务,限截止期任务和任意截止期任务三种;实时系统中存在由消息依赖导致的任务优先序关系,任务模型的参数φ和参数D应当满足φ≥0,D≤T,根据任务对时间触发通信的依赖与否和在时间触发通信过程中扮演的角色,实时任务可以分为消息无关任务(Free Task),生产者任务(Producer Task),消费者任务(ConsumerTask)和中继任务(Shaper Task);消息无关任务是指不依赖于时间触发通信的任务;生产者任务在任务的结束处产生一个消息;消费者任务在任务的开始处接收一个消息用于执行;中继任务在任务的开始处接收一个消息并在任务的结尾处发送一个消息。
3.如权利要求1所述的基于Barrelfish的时间触发实时调度方法,其特征在于,所述的统一三种通信依赖任务的约束表示,在单核实时调度中,如果不存在任务与通信调度依赖关系,则根据最早截止时间优先EDF算法以及单调速率调度算法RMS进行调度;而在时间触发架构下的通信调度采用建立模型约束,通过最优化方法在解空间中进行搜索,以离线计算每个消息的在每个节点的发送时刻以及发送时间长度。
4.如权利要求1所述的基于Barrelfish的时间触发实时调度方法,其特征在于,所述的约束求解中采用
Figure FDA0003627928860000041
作为任务集的可调度性约束,是由于同步任务集表示存在一个时刻点,使得所有的任务都在该点同时释放任务;非同步任务表示不存在这样的一个时刻点,使得任务集同时释放任务。
5.如权利要求1所述的基于Barrelfish的时间触发实时调度方法,其特征在于,所述的约束求解中约束证明为凸优化定理如下:
定理1设n维向量X=(X1,X2,…,Xn),其中Xi∈[a,b]且为实数,a≥0,b≥0,a<b,设SX={X},则SX为凸集;
定理2设
Figure FDA0003627928860000042
其中Ci为任一大于0的实数,则f(X)为定义在空间SX上的严格凸函数。
CN202110663286.1A 2021-06-15 2021-06-15 基于Barrelfish的时间触发实时调度方法 Active CN113407319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110663286.1A CN113407319B (zh) 2021-06-15 2021-06-15 基于Barrelfish的时间触发实时调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110663286.1A CN113407319B (zh) 2021-06-15 2021-06-15 基于Barrelfish的时间触发实时调度方法

Publications (2)

Publication Number Publication Date
CN113407319A CN113407319A (zh) 2021-09-17
CN113407319B true CN113407319B (zh) 2022-06-17

Family

ID=77684094

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110663286.1A Active CN113407319B (zh) 2021-06-15 2021-06-15 基于Barrelfish的时间触发实时调度方法

Country Status (1)

Country Link
CN (1) CN113407319B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049760A (zh) * 2019-12-18 2020-04-21 北京航空航天大学 基于Torus网络拓扑结构分解的时间触发消息调度表生成方法
CN112532427A (zh) * 2020-11-05 2021-03-19 中国航空工业集团公司西安航空计算技术研究所 一种时间触发通信网络的规划调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006010400B4 (de) * 2006-03-03 2023-04-13 Dspace Gmbh Verfahren zur Erstellung eines optimierten Ablaufplans für ein zeitgesteuertes verteiltes Rechnersystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111049760A (zh) * 2019-12-18 2020-04-21 北京航空航天大学 基于Torus网络拓扑结构分解的时间触发消息调度表生成方法
CN112532427A (zh) * 2020-11-05 2021-03-19 中国航空工业集团公司西安航空计算技术研究所 一种时间触发通信网络的规划调度方法

Also Published As

Publication number Publication date
CN113407319A (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
García et al. Optimized priority assignment for tasks and messages in distributed hard real-time systems
Palencia et al. Offset-based response time analysis of distributed systems scheduled under EDF
Pop et al. Timing analysis of the FlexRay communication protocol
Lazowska Exploiting lookahead in parallel simulation
JP2002544621A (ja) タスクスケジューリングおよびメッセージ受け渡し
Shi et al. Exploiting simultaneous communications to accelerate data parallel distributed deep learning
Lv et al. Formal analysis of TSN scheduler for real-time communications
Wang et al. A review on key technologies of the distributed integrated modular avionics system
Yao et al. MixCPS: Mixed time/event-triggered architecture of cyber–physical systems
Wang et al. CEFS: Compute-efficient flow scheduling for iterative synchronous applications
CN110275765B (zh) 基于分支dag依赖的数据并行作业调度方法
Mouftah et al. Distributed discrete event simulation for communication networks
Li et al. MapReduce task scheduling in heterogeneous geo-distributed data centers
CN113407319B (zh) 基于Barrelfish的时间触发实时调度方法
Jayachandran et al. Delay composition algebra: A reduction-based schedulability algebra for distributed real-time systems
CN112395056A (zh) 一种嵌入式非对称实时系统及电力二次设备
Li et al. Feedback control of real-time EtherCAT networks for reliability enhancement in CPS
CN109002666A (zh) 基于dr二阶算法和dds-qos的仿真计算方法
Schliecker et al. Performance analysis of complex systems by integration of dataflow graphs and compositional performance analysis
Li et al. Modelling and simulation of integrated modular avionics systems
Thondugulam et al. Relaxing causal constraints in PDES
CN106899392B (zh) EtherCAT消息传输过程中对瞬时故障进行容错的方法
Li et al. Efficient holistic timing analysis with low pessimism for rate-constrained traffic in ttethernet
Yang et al. D-scheduler: A scheduler in time-triggered distributed system through decoupling dependencies between tasks and messages
Wang et al. Enhanced null message algorithm for hybrid parallel simulation systems with large disparity in time step

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