基于Torus网络拓扑结构分解的时间触发消息调度表生成方法技术

技术编号:23898077 阅读:26 留言:0更新日期:2020-04-22 09:29
本发明专利技术公开了一种基于Torus网络拓扑结构分解的时间触发消息调度表生成方法,为解决航空电子系统中TT消息在Torus网络拓扑结构上的调度问题,是以基于可满足性模理论的SMT消息调度模型以及增量化调度方法而设计。本发明专利技术方法一方面根据torus拓扑结构特征将网络节点划分为不同区域,再根据每条TT消息的源节点和目的节点所属的区域,将待调度TT消息进行分组,得到消息组TTG;第二方面将消息组TTG按照SMT消息调度模型进行求解,得到可行解或者无解;对于无解,重新定义TT消息传输路径规划方式,重复SMT消息调度模型进行求解。本发明专利技术采用增量化调度方法降低了SMT消息调度模型求解的计算复杂度,从而减小了TT消息调度运行时间。

Time triggered message schedule generation method based on torus network topology decomposition

【技术实现步骤摘要】
基于Torus网络拓扑结构分解的时间触发消息调度表生成方法
本专利技术涉及一种时间触发消息调度表生成方法,更特别地说,是指一种基于Torus(译文,环形曲面)网络拓扑结构分解的时间触发消息调度表生成的方法。
技术介绍
未来航空电子系统将进一步向基于混合关键性网络的分布式综合模块化体系(IntegratedModularAvionics,IMA)发展。所述IMA结构在保证通信网络实时性的同时,将朝着功能协作智能化与设备结构微小型化的方向发展。片上网络(Network-on-Chip,NoC)将计算机网路中的互连网络概念应用于多核芯片,带来一种全新的片上通信形式,使芯片的通信性能得到显著提升。将NoC应用于航空电子系统是未来微小型化的发展方向。参考2017年1月第1版《航空电子系统综合调度理论与方法》,作者何锋,第158-159页公开的基于IMA构架的核心处理系统结构,如图1所示。将NoC应用于航空电子设备首先需要满足通信网络实时性的保证。时间触发(Time-Triggered,TT)流量在混合关键性网络中扮演着重要的角色,它具有时间可预测性、容错性和组合性,可以保证网络通信的实时性与安全性。时间触发消息(TT消息)的传输是根据配置好的静态消息调度表进行,TT消息调度表为每条TT消息制定了从源节点经由路由器到达目的节点的无冲突路径,并定义了以全局时钟为基准的TT消息发送时刻。NoC上的拓扑分为直接互连和非直接互连两大类,直接互连结构的各个路由节点之间是通过链路直接相连的,而非直接互连方式中路由节点之间通过交叉开关相连。对于直接互连拓扑结构一般有Mesh网络(译文为,网格网络)、Torus网络(译文为,环形网络);所述Torus网络是将Mesh网络的每一行和每一列分别环绕起来,从而降低网络直径、提高网络通信速度,但是也增加了网络成本和功耗,并且给片上多处理器的布局布线带来一定困难。参考2011年10月第38卷第10期《计算机科学》,作者王炜等,“片上网络互连拓扑综述”中公开的Torus网络拓扑结构图,如图2所示。NoC上的TT消息调度表生成问题是一个既需要考虑发送时刻分配,又需要考虑传输路径规划的非确定性复杂问题。这个问题可以被看作是一个约束求解问题,通过定义一系列约束条件并使用可满足性模理论(SatisfiabilityModuloTheories,SMT)求解器求取可行解。随着NoC网络规模的扩大,TT消息条数的增多,SMT求解器的复杂度将成指数型上升,求解所需的时长也会相应增加。因此需要设计增量化求解的方式减小单次进行所述SMT求解器中的求解计算量,从而减少TT消息调度运行时长,提高TT消息调度表生成效能。
技术实现思路
为解决航空电子系统中时间触发消息(TT消息)在Torus网络拓扑结构上的调度问题,本专利技术提出了一种基于Torus网络拓扑结构分解的TT消息调度表生成方法。本专利技术TT消息调度表生成以SMT消息调度模型以及增量化调度方法而设计的。本专利技术设计的SMT消息调度模型能够实现航电系统中的TT消息以时间触发机制进行传输,其发送和转发都是严格按照预先离线生成的调度表进行,具有很高的时间确定性。本专利技术的增量化调度方法第一方面采用二维规则Torus网络拓扑结构来进行节点编号,并根据torus拓扑结构特征将网络节点划分为不同区域,再根据每条TT消息的源节点和目的节点所属的区域,将待调度TT消息进行分组,得到消息组TTG;第二方面对消息组TTG定义TT消息传输路径规划方式,将消息组TTG按照SMT消息调度模型进行求解,得到可行解或者无解;对于无解,重新定义TT消息传输路径规划方式,重复SMT消息调度模型进行求解。使用增量化调度方法进行SMT消息调度模型求解的过程中,不仅减小了单次求解的消息数量,还减小了单次求解的Torus网络拓扑区域范围,从而降低SMT求解的计算复杂度,减小TT消息调度运行时间。本专利技术的一种基于Torus网络拓扑结构分解的时间触发消息调度表生成方法,所述时间触发消息置于航空电子系统的本地调度器中;其特征在于是对待调度TT消息的调度步骤为:步骤一:将所有TT消息按照Torus网络拓扑结构特征进行分组,执行步骤二;使用行row和列col来表示二维规则Torus网络拓扑结构中的网络节点,其中Region1包含torus结构的首行网络节点,Region2包含torus结构的末行网络节点,Region3包含torus结构的首列网络节点,Region4包含torus结构的末列网络节点;根据TT消息的源节点、目的节点与节点区域的关系,将待调度TT消息分成4个消息组TTG,分别为第一组待调度TT消息msg_group1、第二组待调度TT消息msg_group2、第三组待调度TT消息msg_group3、第四组待调度TT消息msg_group4;第一组待调度TT消息msg_group1:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且分别在Region3和Region4两个区域的TT消息放在msg_group1消息组TTG中。第二组待调度TT消息msg_group2:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且不满足msg_group1条件的TT消息放在msg_group2消息组TTG中。第三组待调度TT消息msg_group3:将TT消息的源节点和目的节点分别在Region3和Region4两个区域,且不满足msg_group1条件的TT消息放在msg_group3消息组TTG中。第四组待调度TT消息msg_group4:将不属于前三组的TT消息放入msg_group4消息组TTG中。步骤二:制定消息组TTG路径规划方式并设置消息组TTG调度顺序,执行步骤3A;根据消息组TTG制定了TT消息传输路径的规化方式:第一种传输路径:msg_group1中的TT消息通过从源节点发出的和发送到目的节点的两条回绕链路进行传输。第二种传输路径:msg_group2和msg_group3中的消息通过从源节点发出的或发送到目的节点的一条回绕链路加若干条普通链路进行传输。第三种传输路径:msg_group4中的消息通过从源节点到目的节点的若干条普通链路进行传输。根据消息组TTG设置了TT消息的调度顺序:首先调度msg_group1消息组TTG,接着比较msg_group2和msg_group3消息组TTG中的TT消息数量,数量多的先进行调度;最后调度msg_group4,使用数组scheduling记录调度消息组TTG顺序,并设置迭代次数head来表示当前调度进度,初始值head为1。步骤三:向待调度消息组使用SMT求解器进行求解;步骤3A,在数组scheduling中找到排序序号为head值的消息组TTG名称,标记为待调度消息组;步骤3B,将待调度消息组中的TT消息使用SMT消息调度模型进行求解;传输路径的分配是依据路径规划方式;本文档来自技高网
...

【技术保护点】
1.一种基于Torus网络拓扑结构分解的时间触发消息调度表生成方法,所述时间触发消息置于航空电子系统的本地调度器中;其特征在于是对待调度TT消息的调度步骤为:/n步骤一:将所有TT消息按照Torus网络拓扑结构特征进行分组,执行步骤二;/n使用行row和列col来表示二维规则Torus网络拓扑结构中的网络节点,其中Region1包含torus结构的首行网络节点,Region2包含torus结构的末行网络节点,Region3包含torus结构的首列网络节点,Region4包含torus结构的末列网络节点;/n根据TT消息的源节点、目的节点与节点区域的关系,将待调度TT消息分成4个消息组TTG,分别为第一组待调度TT消息msg_group1、第二组待调度TT消息msg_group2、第三组待调度TT消息msg_group3、第四组待调度TT消息msg_group4;/n第一组待调度TT消息msg_group1:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且分别在Region3和Region4两个区域的TT消息放在msg_group1消息组TTG中;/n第二组待调度TT消息msg_group2:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且不满足msg_group1条件的TT消息放在msg_group2消息组TTG中;/n第三组待调度TT消息msg_group3:将TT消息的源节点和目的节点分别在Region3和Region4两个区域,且不满足msg_group1条件的TT消息放在msg_group3消息组TTG中;/n第四组待调度TT消息msg_group4:将不属于前三组的TT消息放入msg_group4消息组TTG中;/n步骤二:制定消息组TTG路径规划方式并设置消息组TTG调度顺序,执行步骤3A;/n根据消息组TTG制定了TT消息传输路径的规化方式:/n第一种传输路径:msg_group1中的TT消息通过从源节点发出的和发送到目的节点的两条回绕链路进行传输;/n第二种传输路径:msg_group2和msg_group3中的消息通过从源节点发出的或发送到目的节点的一条回绕链路加若干条普通链路进行传输;/n第三种传输路径:msg_group4中的消息通过从源节点到目的节点的若干条普通链路进行传输;/n根据消息组TTG设置了TT消息的调度顺序:首先调度msg_group1消息组TTG,接着比较msg_group2和msg_group3消息组TTG中的TT消息数量,数量多的先进行调度;最后调度msg_group4,使用数组scheduling记录调度消息组TTG顺序,并设置迭代次数head来表示当前调度进度,初始值head为1;/n步骤三:向待调度消息组使用SMT求解器进行求解;/n步骤3A,在数组scheduling中找到排序序号为head值的消息组TTG名称,标记为待调度消息组;/n步骤3B,将待调度消息组中的TT消息使用SMT消息调度模型进行求解;传输路径的分配是依据路径规划方式;发送时刻分配的范围是整个消息传输周期,即超周期,记为hyper-period;/n步骤3C,利用SMT消息调度模型求解获得可行解,记录可行解所表示的传输路径和发送时刻,添加在消息调度表中,并执行步骤四;/n步骤3D,利用SMT消息调度模型求解未能获得可行解,执行步骤五进行回溯调度操作;/n步骤四:检测调度进度判断调度过程是否结束;/n如果当前的迭代次数head变量值小于消息组TTG数量,即head<4,将head变量值增加1,表示调度尚未结束,并执行步骤3A;/n如果当前的迭代次数head变量值与消息组TTG数量相等,即head=4,则表示调度结束,应返回本地调度器中的调度成功模块,并结束调度过程;/n如果当前的迭代次数head变量值大于消息组TTG数量,即head>4,则表示调度失败,应返回本地调度器中的调度失败模块,并结束调度过程;/n步骤五:为无法调度的消息组TTG进行回溯调度操作,执行步骤四;/n对于当前无法调度的消息组TTG,重新使用SMT消息调度模型对其进行求解,其中的传输路径规划范围扩大到整个网络上的所有链路,发送时刻分配的范围是整个消息传输周期;/n若SMT消息调度模型求出可行解,记录可行解所表示的传输路径和发送时刻,添加到消息调度表中,并执行步骤四;/n若SMT消息调度模型不存在可行解,将迭代次数head变量值设为5,并执行步骤四。/n...

【技术特征摘要】
1.一种基于Torus网络拓扑结构分解的时间触发消息调度表生成方法,所述时间触发消息置于航空电子系统的本地调度器中;其特征在于是对待调度TT消息的调度步骤为:
步骤一:将所有TT消息按照Torus网络拓扑结构特征进行分组,执行步骤二;
使用行row和列col来表示二维规则Torus网络拓扑结构中的网络节点,其中Region1包含torus结构的首行网络节点,Region2包含torus结构的末行网络节点,Region3包含torus结构的首列网络节点,Region4包含torus结构的末列网络节点;
根据TT消息的源节点、目的节点与节点区域的关系,将待调度TT消息分成4个消息组TTG,分别为第一组待调度TT消息msg_group1、第二组待调度TT消息msg_group2、第三组待调度TT消息msg_group3、第四组待调度TT消息msg_group4;
第一组待调度TT消息msg_group1:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且分别在Region3和Region4两个区域的TT消息放在msg_group1消息组TTG中;
第二组待调度TT消息msg_group2:将TT消息的源节点和目的节点分别在Region1和Region2两个区域,且不满足msg_group1条件的TT消息放在msg_group2消息组TTG中;
第三组待调度TT消息msg_group3:将TT消息的源节点和目的节点分别在Region3和Region4两个区域,且不满足msg_group1条件的TT消息放在msg_group3消息组TTG中;
第四组待调度TT消息msg_group4:将不属于前三组的TT消息放入msg_group4消息组TTG中;
步骤二:制定消息组TTG路径规划方式并设置消息组TTG调度顺序,执行步骤3A;
根据消息组TTG制定了TT消息传输路径的规化方式:
第一种传输路径:msg_group1中的TT消息通过从源节点发出的和发送到目的节点的两条回绕链路进行传输;
第二种传输路径:msg_group2和msg_group3中的消息通过从源节点发出的或发送到目的节点的一条回绕链路加若干条普通链路进行传输;
第三种传输路径:msg_group4中的消息通过从源节点到目的节点的若干条普通链路进行传输;
根据消息组TTG设置了TT消息的调度顺序:首先调度msg_group1消息组TTG,接着比较msg_group2和msg_group3消息组TTG中的TT消息数量,数量多的先进行调度;最后调度msg_group4,使用数组scheduling记录调度消息组TTG顺序,并设置迭代次数head来表示当前调度进度,初始值head为1;
步骤三:向待调度消息组使用SMT求解器进行求解;
步骤3A,在数组scheduling中找到排序序号为head值的消息组TTG名称,标记为待调度消息组;
步骤3B,将待调度消息组中的TT消息使用SMT消息调度模型进行求解;传输路径的分配是依据路径规划方式;发送时刻分配的范围是整个消息传输周期,即超周期,记为hyper-period;
步骤3C,利用SMT消息调度模型求解获得可行解,记录可行解所表示的传输路径和发送时刻,添加在消息调度表中,并执行步骤四;
步骤3D,利用SMT消息调度模型求解未能获得可行解,执行步骤五进行回溯调度操作;
步骤四:检测调度进度判断调度过程是否结束;
如果当前的迭代次数head变量值小于消息组TTG数量,即head<4,将head变量值增加1,表示调度尚未结束,并执行步骤3A;
如果当前的迭代次数head变量值与消息组TTG数量相等,即head=4,则表示调度结束,应返回本地调度器中的调度成功模块,并结束调度过程;
如果当前的迭代次数head变量值大于消息组TTG数量,即head>4,则表示调度失败,应返回本地调度器中的调度失败模块,并结束调度过程;
步骤五:为无法调度的消息组TTG进行回溯调度操作,执行步骤四;
对于当前无法调度的消息组TTG,重新使用SMT消息调度模型对其进行求解,其中的传输路径规划范围扩大到整个网络上的所有链路,发送时刻分配的范围是整个消息传输周期;
若SMT消息调度模型求出可行解,记录可行解所表示的传输路径和发送时刻,添加到消息调度表中,并执行步骤四;
若SMT消息调度模型不存在可行解,将迭代次数head变量值设为5,并执行步骤四。


2.根据权利要求1所述的基于Torus网络拓扑结构分解的时间触发消息调度表生成方法,其特征在于:建立SMT消息调度模型包括所需的TT消息调度的常量、TT消息调度的变量和TT消息约束条件三方面内容;
所述的TT消息调度的常量用于描述网络拓扑结构、消息信息和时钟精度,是网络的固定参数,须在调度前进行配置;
网络拓扑结构的节点连接矩阵C:



其中,ci,j表示网络节点i与网络节点j之间是否由全双工链路直接连接;0表示不直接相连,1则表示直接相连;
网络拓扑结构的最小跳格数矩阵H:



其中,hi,j表示网络节点i和网络节点j之间需经过的最小跳格数;规则torus结构的对角线节点之间的最小跳格数是矩阵的最大值,记为AAmax:
AAmax=(rows+cols)-2
任意一条时间触发消息的基本信息可用4个参数表示,记为message=[src,dest,length,period];
其中,src表示时间触发消息的源节点编号,dest表示时间触发消息的目的节点编号,length表示时间触发消息的消息帧长,period表示时间触发消息的消息周期;
同一条TT消息的源节点和目的节点不能是同一节点;
将所有TT消息周期的最小公倍数定义为超周期,记为hyper-period,它代表TT消息调度表的调度周期;一个超周期中,时间触发消息的子周期数,记为num-period:



NoC上的TT消息的传输和控制是以一个称为时钟节拍的时分多址插槽来表示的;
一条TT消息从一个节点发出到被另一个节点接收的时长是一个同步时钟周期;
所述的TT消息调度的变量用于记录每条时间触发消息的传输路径和发送时刻;
节点变量是使用一维布尔矩阵记录TT消息从源节点到达目的节点的过程中历经的所有节点的编号,即节点矩阵O:
O=[o0,…,oi,…,on-1]
其中,oi表示TT消息从源节点到达目的节点是否经过了网络节点i;0表示未经过,1表示经过;
链路变量是使用二维布尔矩阵记录消息从源节点到目的节点的过程中历经的所有链路,即链路矩阵L:



其中,li,j表示TT消息的传输路径中是否包含从节点i到节点j的普通链路,为1表示TT消息的传输路径中包含从节点i到节点j的普通链路,为0则表示不包含从节点i到节点j的普通链路;
其中,l′i,j表示TT消息的传输路径中是否包含从节点i到节点j的回绕链路,为1表示TT消息的传输路径中包含从节点i到节点j的回绕链路,为0则表示不包含从节点i到节点j的回绕链路;
在本发明中,链路矩阵L受到节点连接矩阵C的限制,只有当ci,j为1时,li,j或l′i,j才能为1;同一TT消息的节点矩阵O和链路矩阵L是相互约束的;节点矩阵O中历经的节点必须在传输路径上有对应的传输链路;TT消息历经链路的两个端节点必须在节点矩阵中体现;
相位变量使用发送时刻矩阵phase表示;phase共有num_period个子矩阵用于记录消息在相应子周期中每条链路的发送时刻;
Phase=[P1,P2,…,Pa,…,Pnum_period]



P1表示TT消息在超周期hyper-period内的第一个子周期的发送时刻;
P2表示TT消息在超周期hyper-period内的第二个子周期的发送时刻;
Pa表示TT消息在超周期hyper-period...

【专利技术属性】
技术研发人员:李峭史亚菲李国梁
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1