一种片上网络中实时通信的可调度性分析方法与流程

文档序号:16819679发布日期:2019-02-10 22:39阅读:130来源:国知局
一种片上网络中实时通信的可调度性分析方法与流程

本发明属于集成电路片上网络通信技术领域,更具体地,涉及一种片上网络中实时通信的可调度性分析方法。



背景技术:

相比于非实时通信,实时通信除了要求传输结果的逻辑正确性,还要求传输延时小于或等于预设阈值,以保证服务质量(Quality of Service,简称QoS)。对于关键性系统,如果在运行的时候,实时通信未能满足相应的预设阈值,结果将是灾难性的。因此,在设计阶段对片上网络中所有实时通信流能否满足对应的预设阈值进行验证,即可调度性分析,显得尤为重要。

针对这个问题,发表于2008年第十届IEEE/ACM International Symposium on Networks-on-Chip国际会议第161-170页的“Real-time communication analysis for on-chip networks with wormhole switching”运用实时调度分析理论,建立了一个模型(以下简称为SB模型)来分析每个目标流的最大延时,该模型易于计算,但是引入了过多的不存在的干扰,导致所计算的最大延时过大,可调度性过低。发表于《IEEE Transactions on Computers》2015年第64卷第4期1177-1190页的“SLA:A stage-level latency analysis for real-time communication in a pipelined resource model”提出了一种更细粒度的模型(以下简称为SLA模型),能够在一定程度上除去以前模型中引入的不存在的干扰,从而使得所计算出来的最大延时和可调度性更贴近实际,但是该模型提高了计算的复杂性。同时,上述模型所计算出来的最大延时可能比实际中的延时小,将本来不可调度的流认为是可以调度的,在实时系统中引起灾难性后果。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种片上网络中实时通信的可调度性分析方法,其目的在于,通过区分上下游对间接干扰流对目标流产生的不同干扰效果,以实时调度分析理论为基础,分析得到与实际相符的、正确的可调度性结果,从而解决了现有模型中可能产生错误分析结果的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种片上网络中实时通信的可调度性分析方法,包括以下步骤:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流;

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流;

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流;

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰;

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时;

步骤f:判断目标流的最大延时是否小于或等于预设阈值,该阈值的取值是根据服务等级协议确定的,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中的实时通信不可被调度,过程结束。

优选地,步骤b中,如果目标流的路由路径上存在一个或多个流,其优先级比目标流的优先级高,那么该流就被视作高优先级流。

优选地,干扰流包括直接干扰流和间接干扰流,直接干扰流集合其中,i和j为编号,λi和λj分别为目标流和直接干扰流,和分别为λi和λj的路由路径上的链路资源集合,Pi和Pj分别为λi和λj的优先级。

优选地,步骤c中高优先级流指的是如果直接干扰流的路由路径上存在一个或多个流,其优先级比直接干扰流的优先级高,那么该流就被视作高优先级流。

优选地,步骤c中,间接干扰流集合其中k为编号,λk为间接干扰流,上游间接干扰流集合下游间接干扰流集合其中,fji和fjk分别为λi和λk与λj共享的第一条链路在λj的路由路径上的编号。

优选地,最大间接干扰Iji和最大下游间接干扰分别为:

Iji=Rj-Cj

其中,Cj为λj在没有受到干扰时的最大延时,Ikj为λk对λj产生的干扰,Rj为λj的最大延时,其计算公式如下:

其中,Tk为λk中最小发包间隔,Ck为λk在没有受到干扰时的最大延时,Jk为λk发包间隔的时间抖动。

优选地,步骤e中目标流的最大延时计算公式为:

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)本发明能够解决现有模型中由于最大延时的计算出现错误,导致系统中出现灾难性后果这一问题:由于采用了步骤c、d和e,将间接干扰流进一步区分为上游间接干扰流和下游间接干扰流,从而计算出最大下游间接干扰,并运用于最大延时的计算,因此能够修正现有模型中存在的计算错误,得到正确的片上网络中实时实时通信的可调度性分析结果。

(2)本发明能够保证上游间接干扰流和下游间接干扰流区分的准确性:在步骤c中,使用间接干扰流与直接干扰流共享的第一条链路和直接干扰流与目标流共享的第一条链路之间的相对位置作为判决条件,可以快速而准确的区分出上游间接干扰流和下游间接干扰流。

(3)本发明能够求解出正确的最大下游间接干扰:在步骤d中,通过对下游间接干扰流对直接干扰流产生的干扰进行求和,保证了得到的结果不小于任何情况下的下游间接干扰,即最大间接干扰。

(4)本发明方法的计算速度快,效率高。

附图说明

图1是本发明片上网络中实时通信的可调度性分析方法的流程图;

图2是含有5条实时通信流的片上网络。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明片上网络中实时通信的可调度性分析方法包括以下步骤:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流;

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流;具体而言,如果目标流的路由路径上存在一个或多个流,其优先级比目标流的优先级高,那么该流就被视作高优先级流;

干扰流分为直接干扰流和间接干扰流。直接干扰流集合其中,i和j为编号,λi和λj分别为目标流和直接干扰流,和分别为λi和λj的路由路径上的链路资源集合,Pi和Pj分别为λi和λj的优先级。

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流;具体而言,本步骤中所提到的高优先级流,指的是如果直接干扰流的路由路径上存在一个或多个流,其优先级比直接干扰流的优先级高,那么该流就被视作高优先级流;

间接干扰流集合其中k为编号,λk为间接干扰流。间接干扰流依据与直接干扰流共享链路资源的相对位置被划分为上游和下游间接干扰流。上游间接干扰流集合下游间接干扰流集合其中,fji和fjk分别为λi和λk与λj共享的第一条链路在λj的路由路径上的编号(一个流的路由路径上的链路编号沿着流的前进方向自1开始依次递增)。具体来讲,如果间接干扰流与直接干扰流共享的第一条链路在直接干扰流与目标流共享的第一条链路上游,则该间接干扰流为上游间接干扰流;反之,则为下游间接干扰流。

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰;

最大间接干扰Iji和最大下游间接干扰分别为:

Iji=Rj-Cj

其中,Cj为λj在没有受到干扰时的最大延时,Ikj为λk对λj产生的干扰,Rj为λj的最大延时,其计算公式如下:

其中,Tk为λk中最小发包间隔,Ck为λk在没有受到干扰时的最大延时,Jk为λk发包间隔的时间抖动。

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时;

目标流的最大延时计算公式为

步骤f:判断目标流的最大延时是否小于或等于预设阈值,该阈值的取值是根据服务等级协议(Service Level Agreement)确定的,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中的实时通信不可被调度,过程结束。

一、实施例:

以图2中五条实时通信流为例,推导分析可调度性计算过程。表1中为5条实时流的参数,其中,Ci、Ti、Pi、Di和Ji分别为流对应的无干扰最大延时、最小发包间隔、优先级、预设阈值和发包间隔的抖动。

表1

由于本实施例中实时流的数量是5个,因此本发明的过程应包括有5个循环过程,具体如下:

(1)第一次循环:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流。

片上网络中未分析的流有λ1、λ2、λ3、λ4和λ5,其中λ1的优先级最高。因此,λ1为目标流。

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流。

对于λ1,不存在直接干扰流,

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流。

对于λ1,不存在间接干扰流,也不存在下游间接干扰流,

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰。

对于λ1,最大间接干扰和下游间接干扰均为0。

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时。

对于λ1,最大延时为R1=C1=30。

步骤f:判断目标流的最大延时是否小于或等于预设阈值,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中实时通信不可被调度,过程结束。

对于λ1,R1=30<D1=100,小于预设阈值,同时还有未分析的流,因此重复步骤a至f。

(2)第二次循环:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流。

片上网络中未分析的流有λ2、λ3、λ4和λ5,其中λ2的优先级最高。因此,λ2为目标流。

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流。

对于λ2,不存在直接干扰流,

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流。

对于λ2,不存在间接干扰流,也不存在下游间接干扰流,

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰。

对于λ2,最大间接干扰和下游间接干扰均为0。

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时。

对于λ2,最大延时为R2=C2=30。

步骤f:判断目标流的最大延时是否小于或等于预设阈值,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中实时通信不可被调度,过程结束。

对于λ2,R2=30<D2=100,小于预设阈值,同时还有未分析的流,因此重复步骤a至f。

(3)第三次循环:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流。

片上网络中未分析的流有λ3、λ4和λ5,其中λ3的优先级最高。因此,λ3为目标流。

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流。

对于λ3,直接干扰流集合为

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流。

对于λ3,不存在间接干扰流,也不存在下游间接干扰流,

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰。

对于λ3,最大间接干扰和下游间接干扰均为0,

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时。

对于λ3,最大延时为解得R3=270。

步骤f:判断目标流的最大延时是否小于或等于预设阈值,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中实时通信不可被调度,过程结束。

对于λ3,R3=270<D3=300,小于预设阈值,同时还有未分析的流,因此重复步骤a至f。

(4)第四次循环:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流。

片上网络中未分析的流有λ4和λ5,其中λ4的优先级最高。因此,λ4为目标流。

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流。

对于λ4,直接干扰流集合为

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流。

对于λ4,间接干扰流集合为与λ1共享链路的直接干扰流为λ3,由于f31=1<f34=5,故λ1为上游间接干扰流,不存在下游间接干扰流,

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰。

对于λ4,最大间接干扰为I24=0和I34=120,最大下游间接干扰为0,

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时。

对于λ4,最大延时为解得R4=340。

步骤f:判断目标流的最大延时是否小于或等于预设阈值,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中实时通信不可被调度,过程结束。

对于λ4,R4=340<D4=550,小于预设阈值,同时还有未分析的流,因此重复步骤a至f。

(5)第五次循环:

步骤a:将片上网络中未分析的流中最高优先级的流确定为目标流。

片上网络中未分析的流有λ5,其中λ5的优先级最高。因此,λ5为目标流。

步骤b:在目标流的路由路径上寻找共享链路资源的高优先级流,并将其作为直接干扰流。

对于λ5,直接干扰流集合为,

步骤c:在目标流的直接干扰流路径上,将与直接干扰流共享链路资源,但不与目标流共享链路资源的高优先级流确定为间接干扰流,根据间接干扰流与直接干扰流共享链路资源的相对位置将间接干扰流划分为上游间接干扰流和下游间接干扰流。

对于λ5,间接干扰流集合为与λ1和λ2共享链路的直接干扰流均为λ3,由于f31=1<f35=2<f32=5,故λ1为上游间接干扰流,λ2为下游间接干扰流,下游间接干扰流集合为

步骤d:根据直接干扰流、上游间接干扰流和下游间接干扰流计算最大间接干扰和最大下游间接干扰。

对于λ5,最大间接干扰为I35=120,最大下游间接干扰为

步骤e:根据最大间接干扰Iji和最大下游间接干扰计算目标流的最大延时。

对于λ5,最大延时为解得R5=310。

步骤f:判断目标流的最大延时是否小于或等于预设阈值,如果是则重复步骤a至f,直至片上网络中所有的流都处理完毕为止,否则表示该片上网络中实时通信不可被调度,过程结束。

对于λ5,R2=310<D5=260,大于预设阈值,分析结束,在此条件集合下,该片上网络中实时通信不可被调度。

二、采用SB模型和SLA模型分别对上述实例进行分析。

三、结果分析对比:

表2

表2中列出了SB模型、SLA模型和本发明方法的分析结果,以及通过仿真得到的实验数据。仿真结果显示,SB模型和SLA模型均得到了错误的分析结果,而本发明方法正确地分析出了此条件集合下该片上网络中实时通信的可调度性。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1