低延时网络路由器的制作方法

文档序号:18587853发布日期:2019-09-03 20:00阅读:508来源:国知局
低延时网络路由器的制作方法

本实用新型涉及一种用于家庭或小工业区领域的低延时网络路由器。



背景技术:

随着半导体工业技术进步和系统多核化发展,多核芯片的片内的通信技术一直是人们关注的焦点之一,与传统总线相比,片上网络(networkonchip noc)具有可扩展性强、灵活性高等特点,被认为是解决多核互连的有效方案[1].而路由器作为提供NOC通信的实体,其架构设计对片上网络的性能至关重要。在高负载情况下的现有NOC网络中,某些路由器可能由于长时间处理大量的数据包而局部发热过高所形成热点的情况,影响了系统的可靠性。现有技术中通过并行处理虚通道分配,交叉开关分配,以及数据传输阶段,实现一个两级流水的虚通道路由器架构。由于所述的并行处理虚通道只能储存相应类型的数据包不能处理,容易导致并行处理虚通道网络容易陷入拥塞状态或被堵的状态。



技术实现要素:

本实用新型的技术目的是为了解决上述现有技术存在的问题而提供一种能够提高数据传输的成功率,提高网络系统的可靠性的新低压电力线网络路由器系统。

为了实现上述技术问题,本实用新型所提供一种低延时网络路由器,其包括复数个路由器顶层架构,该路由器顶层架构包括下游虚通道状态记录模块:用于控制拥塞信息输出到上游的功能,用于控制虚通道状态是否更新。

输入端口模块1:包含虚通道号,下游输出方向,下游虚通道号,该输入端口模块1分别与下游虚通道状态记录模块,超前路由计算模块1,虚通道模块P相互连接,控制是否输出请求指令功能,具有5个输入端口模块1。

虚通道模块1:用于待发送微片信息,分别与输入端口模块1相互连接的;有5个虚通道。

超前路由计算模块1:该模块与输入端口模块1,超前路由计算模块P相互连接,用于控制目的地址,输出方向,下游输出方向的功能。

虚通道模块P:用于待发送图片,该虚通道模块P与输入端口模块P。

输入端口模块P:包含虚通道号,下游输出方向,下游虚通道号,该输入端口模块P与虚通道模块P相互连接。

超前路由计算模块P:用于输出方向,下游输出方向的功能;该超前路由计算模块P与超前路由计算模块1,输入端口模块P相互连接。

热点检测模块,用于热点信息输出的功能,该热点检测模块一端连接于输入端口模块1与输入端口模块P相交处。

交叉开关分配模块,用于供端口分配功能,该交叉开关分配模块分别与热点检测模块,输入端口模块P相互连接。

交叉开关,该交叉开关分别与虚通道模块1,输入端口模块1与交叉开关分配模块相互连接;每个路由器顶层架构是由5个个虚通道,5个输入端口模块,5个超前路由计算模块,1个下游虚通道状态记录模块,1个热点检测模块,1个交叉开关分配模块,以及1个交叉开关。

本实用新型的有益效果:因本技术方案中所述的虚通道模块1与虚通道模块P相交处设置有交叉开关,所述的输入端口模块1与输入端口模块P相交处设置有交叉开关分配模块,所述的交叉开关与交叉开关分配模块相互连接。在此结构中,因采用交叉开关与交叉开关分配模块相互连接的结构,去除了现有技术中虚通道分配街道,缩短了路由器内部数据的流水级数,并通过增加了路由器拥塞和热点感知功能,有利于提高了路由器不同形式的自适应性,减少路由器内部单跳传输延时和多跳传输延时,从而达到提高数据传输的成功率,提高网络系统的可靠性。

下面结合附图和实施例,对本实用新型的技术方案做进一步的详细描述。

【附图说明】

图1是本实用新型低延时网络路由器的架构示意图;

图2是本实用新型微片格式的示意图;

图3是本实用新型下游虚通道状态记录模块的示意图;

图4是本实用新型低延时网络路由器的关键传输路径的示意图。

【具体实施方式】

为了使本实用新型所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本实用新型进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本实用新型,并不用于限定本实用新型。

请参考图1至图4所示,下面结合实施例说明一种低延时网络路由器,其包括复数个路由器顶层架构,该路由器顶层架构包括下游虚通道状态记录模块:用于控制拥塞信息输出到上游的功能,用于控制虚通道状态是否更新。

输入端口模块1:包含虚通道号,下游输出方向,下游虚通道号,该输入端口模块1分别与下游虚通道状态记录模块,超前路由计算模块1,虚通道模块P相互连接,控制是否输出请求指令功能,具有5个输入端口模块1。

虚通道模块1:用于待发送微片信息,分别与输入端口模块1相互连接的;有5个虚通道。

超前路由计算模块1:该模块与输入端口模块1,超前路由计算模块P相互连接,用于控制目的地址,输出方向,下游输出方向的功能。

虚通道模块P:用于待发送图片,该虚通道模块P与输入端口模块P。

输入端口模块P:包含虚通道号,下游输出方向,下游虚通道号,该输入端口模块P与虚通道模块P相互连接。

超前路由计算模块P:用于输出方向,下游输出方向的功能;该超前路由计算模块P与超前路由计算模块1,输入端口模块P相互连接。

热点检测模块,用于热点信息输出的功能,该热点检测模块一端连接于输入端口模块1与输入端口模块P相交处。

交叉开关分配模块,用于供端口分配功能,该交叉开关分配模块分别与热点检测模块,输入端口模块P相互连接。

交叉开关,该交叉开关分别与虚通道模块1,输入端口模块1与交叉开关分配模块相互连接;每个路由器顶层架构是由5个个虚通道,5个输入端口模块,5个超前路由计算模块,1个下游虚通道状态记录模块,1个热点检测模块,1个交叉开关分配模块,以及1个交叉开关。

工作流程为:第一阶段,接收微片并存储,当微片到达某一路由器时,输入端口模块1首先根据微片中的标识字段将微片暂存到对应的虚通道中.第二阶段,完成超前路由计算1并判断是否符合输出条件,当缓存在虚通道中的微片继续向下传输时,需要完成以下工作:下游虚通道状态记录模块为每个输出端口提供一个下游路由器中可供使用的候选虚通道;超前路由计算模块1根据接收到的信息计算出该微片到达下游路由器的输出方向;对暂存在虚通道中的微片进行请求屏蔽。第三阶段,输出权限仲裁.交叉开关分配模块对输出请求进行仲裁。第四阶段,更新状态信息.下游虚通道状态记录模块更新下游路由器的虚通道使用状态,同时热点检测模块对当前路由器的热点状态进行更新。第五阶段,输出微片,输入端口模块将待传输微片送到交叉开关,然后交叉开关根据端口分配信号将各个微片传输到相应的输出端口。

每个微片通过路由器和链路到达下游路由器都会消耗一定的能量.根据微片传输过程可知,其能耗主要包括接收微片能耗E接收微片,路由计算能耗E路由计算,请求屏蔽能耗E请求屏蔽,开关分配能耗E开关分配,状态记录能耗E状态记录,以及发送微片能耗E发送微片.相比其他操作,路由计算阶段所消耗的能量可忽略.因此路由器能量消耗评估如下式所示,E微片=E接收微片+E请求屏蔽+E开关分配+E状态记录+E发送微片,式中E微片代表每个微片通过一个路由器所消耗的能量。

路由器的发热量则与其处理的数据量相关,如果一个路由器长时间处于忙碌状态,该节点的温度就会大大高于网络中其他节点的温度,造成节点老化甚至损坏。将此路由节点定义为热点。一种热点模块,HT≥Th式中,HT表示路由器在T时间内所消耗的能量,Th表示路由器在T时间内允许消耗的能量。路由器r在T时间内所产生的热量Hr可描述为:式中,Nr表示路由器r在单位时间内发送的微片数.若路由器r在时间T内发送的微片数大于该时间内其允许处理的最大微片数Nth,则若该路由器为热点,须满足条件如下式:式中,Nth=Th/E微片.为此,相比典型虚通道路由器,增加了一个热点检测模块,该模块不会对路由器流水线产生影响。

在本实施例中,所述虚通道与交叉开关分配模块过程为:输入端口模块向交叉开关分配模块发送输出请求;同时下游虚通道状态记录模块为请求的输出端口提供一个候选虚通道;当头微片赢得交叉开关分配的输出权限后,候选虚通道也被分配给该头微片使用.这种分配策略须确保微片所请求的下游路由器中存在可用虚通道,为此,在微片输出请求发送到交叉开关分配模块前,采取了请求屏蔽技术.即微片拟经过的下游路由器中虚通道无缓存或者没有可用虚通道,则该微片输出请求直接被屏蔽。此外,如果下游路由器为热点,输出请求同样被屏蔽,可见,请求屏蔽技术还有效缓解了某个路由器长时间处于热点的状况。虚通道分配过程完成后,头微片获得的虚通会一直为其后的数据微片和尾微片保留,而当尾微片传输结束,意味着当前数据包已经发送完毕,该虚通道就变为可用状态,此时,会被分配给其他数据包使用.所以相比现有路由器,本文中的虚通道使用方法允许虚通道同时存储多个数据包。

为进一步减少路由器的单跳传输延时,本实施例中还优化了路由器的关键路径.状态选择、请求屏蔽和交叉开关分配组成了路由器的关键路径。为了降低请求屏蔽所增加的延时,提前一个时钟将指定的下游虚通道状态保存起来,而在下一时钟直接读取该状态到请求屏蔽模块,这就消除了请求屏蔽过程引起的状态选择延时.而在交叉开关分配模块中,选择了拥有更低关键路径延时,面积和功耗开销的输入优先分离分配器.并且,设计还选用了一种快速仲裁器来,进一步减少分配延时.相比典型虚通道路由器,本设计虽然增加了请求屏蔽模块,但是有效减小了整个关键路径延时。

路由算法在很大程度上影响着片上网络路由器的性能,现有的低延时片上网络路由器大都使用维序路由算法,难以应对网络中的不同负载任务.另外,传统自适应路由算法一般将下游路由器中空闲虚通道数、虚通道缓存数或者输出端口请求数作为拥塞标准,然而这些评判标准仅仅反映了下游路由器中虚通道的当前状态.当网络长时间处于繁忙状态时,路由器有极大可能成为热点.因此,本设计将热点参数也作为路由指导信息,该信息与拥塞信息相结合,能更好地指导微片的传输,减少热点的产生,增加系统的可靠。

为了实现本实施例所提的路由算法,在路由器架构中添加了用于拥塞和热点感知的控制逻辑,这些控制逻辑的引入并不会增加路由器的流水阶段,也没有加重路由器关键路径的延时.设计在超前XY路由算法的基础上,实现了一种基于拥塞与热点感知的超前路由算法,该算法降低了数据包的多跳传输延时,并能平衡网络负载,减少网络热点产生,算法伪代码如下所示。

输入源路由器的坐标(XS,YS),目的路由器的坐标(XD,YD),表示East、South、West和North方向路由器内虚通道使用程度的CE、CS、CW和CN,以及表示各方向热点信息的HE、HS、HW和HN。

输出方向EOUTPORTE.Step1.路由器接收到微片,计算ΔX=XD-XS,ΔY=YD-YS。

Step2.如果ΔX=0,ΔY=0,则Local为输出方向;否则,执行下一步。

Step3.如果ΔY=0,若ΔX>0,则East为输出方向;若ΔX<0,则West为输出方向;如果ΔX=0,若ΔY>0,则South为输出方向;若ΔY<0,则North为输出方向;否则,执行下一步。

Step4.如果ΔX>0,ΔY>0,则East或South为候选方向;否则,执行步骤5.

Step4.1.比较HE与HS,若HE=1,HS=0,则South为输出方向;若HE=0,HS=1,则East为输出方向;否则,执行下一步.

Step4.2.若HE=HS,比较CE与CS.当CE=CS时,任意选择East或South为输出方向;当CE>CS时,选择South为输出方向;当CE<CS时,选择East为输出方向.

Step5.如果ΔX>0,ΔY<0,则East或North为候选方向;否则,执行步骤6.

Step5.1.比较HE与HN,若HE=1,HN=0,则North为输出方向;若HE=0,HN=1,则East为输出方向;否则,执行下一步.

Step5.2若HE=HN,比较CE与CN.当CE=CN时,任意选择East或North为输出方向;当CE>CN时,选择North为输出方向;当CE<CN时,选择East为输出方向.

Step6.如果ΔX<0,ΔY>0,则West或South为候选方向;否则,执行步骤7.

Step6.1比较HW与HS,若HW=1,HS=0,则South为输出方向;若HW=0,HS=1,则West为输出方向;否则,执行下一步.

Step6.2若HW=HS,比较CW与CS.当CW=CS时,任意选择West或South为输出方向;当CW>CS时,选择South为输出方向;当CW<CS时,选择West为输出方向.

Step7.如果ΔX<0,ΔY<0,则West或Nouth为候选方向.

Step7.1.比较HW与HN,若HW=1,HN=0,则North为输出方向;若HW=0,HN=1,则West为输出方向;否则,执行下一步.

Step7.2.若HW=HN,比较CW与CN.当CW=CN时,任意选择West或North为输出方向;当CW>CN时,选择North为输出方向;当CW<CN时,选择West为输出方向。

本实施例基于Verilon HDL实现了所涉及的片上网络路由器,通过Modelsim软件完成路由器功能验证,并在Quartusii软件环境下选用型号为EP3SL340F1760C2的FPGA进行综合与性能分析。另选取了两款低延时片上网络路由器作为对比:①CONNECT是面向FPGA所设计的一款开源片上网络软核。一款针对FPGA的通用低延时片上网络路由器.为了准确地评估三种路由器的性能指标,分别将它们按如表1所示的参数进行配置,由于路由器不支持虚通道技术,将三者分两组进行对比.在5X5网络规模下的硬件开销和最大工作频率(EP3SL340上总共可用资源ALUTs270400,Registers:270400,Memory bits:16662528.通过对所设计路由器关键路径进行了一定的优化,路由器的工作频率与路由器大约维持着一个两倍的关系.这样,路由器的单跳延时与路由器相比基本维持.而本文所设计的路由器是依靠其两级流水线的优势,吞吐量与相比有极大的提升.另外路由器的虚通道模块使用的是FPGA中的LAB资源实现的,造成其总资源消耗多,而本文路由器利用FPGA中的大量存储资源来实现虚通道缓存,所以整体资源消耗更平均,有利于系统的扩展。

当端口数为5时,两者的最大工作频率相当;但当端口数为7时,本设计的路由器最大工作频率提高了约10%.本文设计能灵活地适用于不同网络规格下,可扩展性强.此外,不支持虚通道技术在分析了单个路由器性能的基础上,利用本设计的路由器进一步构建了一个5x5规格的片上网络.作为比较,还设计了一个基于传统超前XY路由算法实现的路由器,并构建了同样规格的片上网络。为了对设计进行有效的性能评估,设置在Hotspot非均匀负载模型来对片上网络进行测试.本文设计的路由算法在非均匀负载下的延时性能优于超前XY路由算法。当注入率为42%时,其延时减少了25%。在注入率为42%情况下,本文设计的路由算法几乎能避免热点产生,大幅度改善了片上网络中的热点状况。

为了提高设计的灵活性和可扩展性,本文实现了一种高度可配置的虚通道路由器模型.通过设计一种新的虚通道/交叉开关分配方式,使路由器能够支持在较高的频率运行,同时拥有低单跳传输延时的特性。所设计的请求屏蔽技术不仅能提高对虚通道的使用率,还可以暂停微片发送到热点,系统的可靠性。此外,为了降低热点出现频率,本文还提出了一种基于拥塞和热点感知的超前路由算法,使微片在传输时能选择拥塞程度更小的非热点路径,减少微片的多跳传输延时,降低路由器变成热点的情况。这些特性使得所设计的片上网络能在合理的资源消耗范围内,工作在更高的频率,当网络的注入率上升时,系统能在改善热点情况的情况下,提供更低的通信延时。

综上所述,因本技术方案中所述的虚通道模块1与虚通道模块P相交处设置有交叉开关,所述的输入端口模块1与输入端口模块P相交处设置有交叉开关分配模块,所述的交叉开关与交叉开关分配模块相互连接。在此结构中,因采用交叉开关与交叉开关分配模块相互连接的结构,去除了现有技术中虚通道分配街道,缩短了路由器内部数据的流水级数,并通过增加了路由器拥塞和热点感知功能,有利于提高了路由器不同形式的自适应性,减少路由器内部单跳传输延时和多跳传输延时,从而达到提高数据传输的成功率,提高网络系统的可靠性。

以上参照附图说明了本实用新型的优选实施例,并非因此局限本实用新型的权利范围。本领域技术人员不脱离本实用新型的范围和实质内所作的任何修改、等同替换和改进,均应在本实用新型的权利范围之内。

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