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

文档序号:26705898发布日期:2021-09-18 08:13阅读:来源:国知局

技术特征:
1.一种基于barrelfish时间触发实时调度方法,其特征在于,所述方法运行于采用ttp/c时间触发式通信协议的分布式实时系统;所述分布式实时系统包括多个节点;所述分布式实时系统的节点包括端节点计算机和时间触发以太网交换节点,实时任务在端节点计算机上执行,并通过时间触发以太网传递和接收消息;其中实时任务用四参数模型束表示,其中τi代表第i个实时任务,φ表示该实时任务在每个周期内被释放的时刻相对于周期开始时刻的偏移,c表示该实时任务在最坏的情况下需要运行的时间,d表示该实时任务相对于任务释放时刻的截止期限,t表示该实时任务两次被释放的时间间隔;其中时间触发以太网是一个二层的交换网络,网络拓扑可以表示成一个有向图其中时间触发以太网是一个二层的交换网络,网络拓扑可以表示成一个有向图其中是节点的集合,包括端节点和交换节点,表示网络中边的集合,通常时间触发以太网采用双向的全双工的物理链路,数学表示如下:其中[v
a
,v
b
]表示节点v
a
和节点v
b
之间的一条有向逻辑链路,一条物理链路(link)[v
a
,v
b
]的数学表示如下:<[v
a
,v
b
].s,[v
a
,v
b
].d,[v
a
,v
b
].mt>其中参数s表示传输速率;参数d表示链路延迟,参数延迟主要由传播和处理延迟构成;参数mt表示时间触发以太网的宏拍粒度;一对通信节点的通信路径为虚链路,端节点v
a
通过交换节点与端节点v
b
建立通信连接,那么端节点v
a
与端节点v
b
之间的虚链路vl[v
a
,v
b
]表示如下:vl[v
a
,v
b
]=[[v
a
,v1],[v1,v2],[v1,v2],

,[v
n
‑1,v
n
],[v
n
,v
b
]]消息在虚链路上传输,在传输过程中消息的实例和进行通信调度的基本单位为帧,虚链路vl上传输的消息mi在第j条物理链路[v
a
,v
b
]上的帧实例记为虚链路vl上所有的帧集合记为整个系统内所有的帧集合记为f,一个帧的表示如下:其中参数t为发送周期,φ为发送偏移,l为发送占用时长;所述方法包括以下步骤:步骤1、在实时任务中添加通信亲和性参数δ:引入通信亲和性参数δ在所述分布式实时系统中描述实时任务对消息发送和接收的偏向程度,依赖于时间触发以太网通信的实时任务包括producer类型,shaper类型和consumer类型的任务,free类型为与消息无关的任务,则通信依赖的任务模型描述为:其中:

通信依赖任务τi不支持并行以及多关键性任务;

任务的通信亲和力参数δ是一个[0,1]之间的数,描述任务对消息发送和接收的偏向程度;

仅同周期之间的任务存在优先序约束;

不同周期的任务之间是独立的;

shaper类型任务任务一个周期内只能发送或者接受一个消息或者接收并发送一个消息;free类型的任务不发送或者接受任何消息;

任务不能被跨核迁移;被分配完成后的任务只能在指定核上运行;步骤2、拆分任务模型与通信模型的依赖进行分离调度:
对于由描述的producer类型,shaper类型和consumer类型的任务,对于producer类型或shaper类型的发送消息的任务与shaper类型或者consumer类型的接收消息的任务若任务与之间存在通信关系,则设置发送消息任务执行完毕后,其发送的消息m
i
才可以被发送到网络中,并且消息m
i
到接收节点之前,接收消息的任务不可执行;步骤3、统一三种通信依赖任务的约束表示:在所有节点任务可以调度的情况下通过调整参数和参数τ
i
·
d使得通信调度的解空间尽量变大以满足free类型任务,producer类型任务,shaper类型任务和consumer类型任务的需求,具体如下;free类型若free任务集γ
free
中任务τ
i
与任务τ
j
具有优先序依赖,仅设置约束τ
i
·
d<τ
j
·
d.且

producer类型,设producer类型任务τ
i
对应的consumer类型任务为则使得消息的调度余量尽量大的形式化目标为:其中d
i,c
表示任务τi以及任务之间的预期网络传输延迟;

consumer类型,设consumer类型任务τ
i
的生产者任务为则消息的调度余量尽量大的形式化目标为:其中d
p,i
表示任务τ
i
以及任务之间的预期延迟;

shaper类型,shaper类型任务有两个优化目标:和将所述两个优化目标转化为一个可解的优化目标:针对当目标取得最优值时该目标可能会导致结果出现极左偏以及极右偏的现象,引入通信亲和性参数δ∈[0,1]来表达左偏或者右偏的程度,此时优化目标为需要最小化的目标值:任务的和d参数需要满足的约束为τ
i
·
d≥τ
i
·
c;τ
i
·
d≥0;γ
consumer+producer+shaper
是可调度的(schedulable);步骤4.归一化调度模型优化目标对于每个producer类型任务构造一个虚拟的producer类型任务且该虚拟的producer类型任务的偏移为截止期限为0,网络延迟为0;对于每个consumer类型任务,构造一个虚拟的consumer类型任务且该虚拟的consumer类型任务的偏移为截止期限为0,网络延迟为0:对于shaper类型任务,假设该shaper类型任务由producer类型任务转换而来,可得转换得到该shaper类型任的producer类型任务的虚拟producer类型任务的参数令δ=0时,有:令δ=0时,有:从而有:从而有:从而有:该目标与单独的producer类型任务优化目标等价;
对于shaper类型任务,假设该shaper类型任务由consumer类型任务转换而来,可得转换得到该shaper类型任的consumer类型任务的虚拟consumer类型任务的参数令δ=1时,shape类型任务优化目标等价于consumer类型任务的优化目标,从而将producer任务和consumer任务统一归为shaper任务;步骤5.约束求解:经过目标归一化后,producer类型任务和consumer类型任务的优化目标等价于shaper类型任务的优化目标:类型任务的优化目标:再考虑可调度性约束:γ
consumer+producer+shaper
是可调度的(schedulable),并采用用于约束任务集γ
consumer+producer+shaper
的可调度性,为凸约束,则整个约束优化目标为凸优化,使用逐步信赖域规划方法进行约束求解;步骤6、任务调度:经过约束求解后,得到单独的任务调度模型和通信调度模型在原有任务集的基础上产生一个新的任务集;新的任务集在各个节点上独立地利用edf调度算法进行模拟调度生成任务调度表,由拆分约束保证其可调度性;根据新的任务集的参数和调度依赖拆分方法生成任务相关的消息调度约束,结合消息原有约束,生成消息调度表;在中断处理接口函数调用任务调度接口后,任务调度器首先检索任务调度表的下一个表项,如果已经是最后一个表项,则滚动到下一个周期,读取需要调度的任务id和任务结束时刻,如果任务id为负,则表明本次时间片为空闲时隙,交由非实时任务调度逻辑处理,否则设置下一次时钟中断到时间片结束,然后检索对应需要调度的任务的进程控制块,返回给中断处理接口。2.如权利要求1所述的基于barrelfish的时间触发实时调度方法,其特征在于,所述的实时任务是指在实时系统中对于任务结束时间有严格约束的任务,任务的执行必须在其截止期限之前结束;实时任务可以分为消息无关任务(free task),生产者任务(producer task),消费者任务(consumertask)和中继任务(shaper task);消息无关任务是指不依赖于时间触发通信的任务;生产者任务在任务的结束处产生一个消息;消费者任务在任务的开始处接收一个消息用于执行;中继任务在任务的开始处接收一个消息并在任务的结尾处发送一个消息,其中free类型与消息无关,不参与任务与通信依赖拆分的过程,free类型任务不做变动,仍然采用传统的四参数模型务不做变动,仍然采用传统的四参数模型表示实时任务,根据参数φ取值是否为0,将任务分为同步任务和异步任务;而根据参数d取值的不同,将任务分为隐截止期任务,限截止期任务和任意截止期任务三种;实时系统中存在由消息依赖导致的任务优先序关系,任务模型的参数φ和参数d应当满足φ≥0,d≤t,根据任务对时间触发通信的依赖与否和在时间触发通信过程中扮演的角色,实时任务可以分为消息无关任务(free task),生产者任务(producer task),消费者任务(consumertask)和中继任务(shaper task);消息无关任务是指不依赖于时间触发通信的任务;生产者任务在任务的结束处产生一个消息;消费者任务在任务的开始处接收一个消息用于执行;中继任务在任务的开始处接收一个消息并在任务的结尾处发送一个消息。3.如权利要求1所述的基于barrelfish的时间触发实时调度方法,其特征在于,所述的
约束,在单核实时调度中,如果不存在任务与通信调度依赖关系,则根据最早截止时间优先edf算法以及单调速率调度算法rms进行调度;而在时间触发架构下的通信调度采用建立模型约束,通过最优化方法在解空间中进行搜索,以离线计算每个消息的在每个节点的发送时刻以及发送时间长度。4.如权利要求1所述的基于barrelfish的时间触发实时调度方法,其特征在于,所述的约束求解中采用作为任务集的可调度性约束,是由于同步任务集表示存在一个时刻点,使得所有的任务都在该点同时释放任务;非同步任务表示不存在这样的一个时刻点,使得任务集同时释放任务。5.如权利要求1所述的基于barrelfish的时间触发实时调度方法,其特征在于,所诉的约束求解中约束证明为凸优化定理如下:定理1设n维向量x=(x1,x2,

,x
n
),其中x
i
∈[a,b]且为实数,a≥0,b≥0,a<b。设s
x
={x},则s
x
为凸集。定理2设其中c
i
为任一大于0的实数,则f(x)为定义在空间s
x
上的严格凸函数。

技术总结
本专利提出了一种新的基于Barrelfish时间触发实时调度方法,将Barrelfish进行实时化改造并与时间触发实时通信系统相结合,属于面向实时分布式系统的网络通信


技术研发人员:童超 陈逊 杨婷婷
受保护的技术使用者:北京航空航天大学
技术研发日:2021.06.15
技术公布日:2021/9/17
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1