CN103973482A - 具有全局通信事务管理能力的容错片上网络***及方法 - Google Patents
具有全局通信事务管理能力的容错片上网络***及方法 Download PDFInfo
- Publication number
- CN103973482A CN103973482A CN201410164138.5A CN201410164138A CN103973482A CN 103973482 A CN103973482 A CN 103973482A CN 201410164138 A CN201410164138 A CN 201410164138A CN 103973482 A CN103973482 A CN 103973482A
- Authority
- CN
- China
- Prior art keywords
- fault
- network
- link
- node
- path
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种具有全局通信事务管理能力的容错片上网络***,该***以网络监控器与容错路由器为核心通过专用总线互连构成。本发明还公开了应用于上述容错片上网络***的路径分配方法和网络数据传输方法。本发明能实现对全局网络状态的监测,定位和辨别网络中的拥塞和故障链路,并及时进行数据重传避免瞬时故障,通过重新路由绕开拥塞和永久性故障链路,有效提高片上网络故障容错能力,同时优化改善高通信负载下网络数据传输性能。
Description
技术领域
本发明属于片上网络***设计领域,具体涉及一种具有全局通信事务管理能力的容错片上网络***及应用于该***的方法。
背景技术
片上网络(Network on Chip,NoC)通过在单个芯片上构建一个基于数据报文交换的微网络,为IP核之间的互连提供高效、可靠、灵活的通信架构,成为解决复杂片上***设计中全局互连与通信问题的有效方案。一个典型的片上网络***如图1所示,每个路由器(Router,R)与四个相邻的路由器相连,并通过网络接口(Network Interface,NI)与一个功能IP核相连。路由器之间以及路由器与功能IP核间的互连通道由两条单向的链路组成。
随着***芯片面积和特征尺寸的不断减小,芯片上可能出现的故障变得不可忽视。因而,采用容错策略以便在出现通信故障时继续有效转发数据包,成为NoC***可靠性设计需考虑的一个重要问题。NoC通信故障分为瞬时故障和永久性故障两类。瞬时故障是指在数据传输中,由于串扰、电磁干扰、工艺的不稳定等原因造成一个或多个比特错误,解决的方法有基于随机通信的容错路由以及基于检错纠错码的重传机制。永久性故障通常是由于生产过程或芯片运行过程中对某些模块产生的物理上的损坏,它不可能被修复,需要找出一条可替代的路径重新路由数据包。目前容错路由主要分为静态路由和动态路由两类。静态容错路由需先根据已知的故障点确定故障区域,再设计绕道路由避开故障区域,因而当***运行过程中出现新的物理故障时,其便不能绕过新的故障节点。动态容错路由可根据当前的网络状态,自适应的调整路由路径。然而,已有的动态容错路由算法仅考虑相邻节点或所构造区域中的故障状态,而忽略了由局部故障可能会导致的全局网络拥塞以及数据包并发传输时的相关性。
因此,从全局通信事务管理角度进行片上网络可靠性设计,不仅能够有效提高片上网络故障容错能力,还能优化和改善高通信负载下网络拥堵问题,以进一步提高片上网络数据传输的吞吐量。
发明内容
本发明的目的是针对目前片上网络***缺乏全局通信事务管理的问题,提供一种具有全局通信事务管理能力的容错片上网络***架构。本发明通过一个网络监控器模块监控全局网络状态,定位和辨别片上网络中的拥塞和故障链路,并能区分瞬时和永久性链路故障,采用重传方式避免瞬时故障,通过重新路由计算绕开拥塞和永久性故障链路,有效提高片上网络故障容错能力,同时优化改善高通信负载下网络数据传输性能。
实现本发明的技术方案如下:
一种具有全局通信事务管理能力的容错片上网络***,包括互联的容错路由器和功能IP核,其特征在于:还包括一个网络监控器,所述网络监控器通过专用总线与片上网络中每个容错路由器相连,用于监控全局网络状态,并基于网络实时状态确定应用任务所有通信踪迹的路由路径,以绕开拥塞和故障链路,所述的网络监控器包括如下部分:
a)网络状态采集模块,该模块与每个路由器相连,用于收集整个网络的实时链路状态信息;
b)路径分配算法模块,该模块根据通信任务以及链路状态信息执行路径分配算法为每条通信踪迹计算路由路径;
c)路由路径发送模块,该模块将路径分配算法模块计算得到的路由路径数据发送给相连路由器;
d)存储模块,该模块由通信任务表、链路状态表以及全局路由表组成,其中通信任务表用于保存应用任务每一条通信踪迹的源节点和目的节点编号以及通信带宽约束信息,链路状态表用于保存路由器间互连链路的空闲、拥塞和故障状态,全局路由表用于保存路径分配算法模块计算得到的路由路径数据。
网络监控器的核心功能是基于网络实时状态为应用任务所有通信踪迹计算路由路径,本发明进一步提供了应用于上述容错片上网络***的路径分配算法,包括如下步骤:
a)将应用任务的每条通信踪迹按通信带宽需求降序排列,并根据源/目的节点对以及故障或拥塞链路位置生成象限图。
b)输入象限图w及其邻接表,源节点r和目的节点t。
c)初始化象限图w中所有节点的距离,距离d(i)表示从源节点r到节点i路径上所占用的链路带宽之和。令r的距离d(r)=0;对于v≠r,d(v)=∞。
d)设象限图w的节点集合为T,以u=r开始搜索。
e)计算u的后继节点集合N(u),对于每一个v?N(u),如果v?T且d(v)>d(u)+w(uv),表示找到v的更短路径,则更新v的距离d(v)=d(u)+w(uv)。其中,uv边上的权重w(uv) 为描述应用任务通信关系的核通信图CCG中给出的通信踪迹带宽需求。接着从T中删除当前u指向的节点,则T=T-u,同时令u为T中另一个距离最小的节点。
f)重复步骤(e),直到搜索到目的节点t,输出距离d(t)。在迭代过程中,若由于链路故障或拥塞,从当前节点u到其后继节点集合N(u)中可访问的节点均无法找到一条更短的路径,则沿之前建立的最短路径回溯到当前节点u的前一个节点,并将当前节点u从T中删除,接着重复执行步骤(e),直到能找到下一个符合要求的节点u。如此,最终生成的路径便会绕开故障或拥塞链路,同时保证距离d(t)即分配路径占用的链路带宽最小,使得链路负载均衡。
本发明还提供了应用于上述容错片上网络***的网络数据传输方法,包括如下步骤:
(1)初始化每个路由器的路由表;一旦片上网络应用***开始工作,网络监控器向所有路由器广播路由路径信息;各个路由器仅接收源节点是自己本地IP核的通信路径,并将路径保存到路由表中;
(2)在正常数据包传输时,源节点所连接的路由器查询路由表,并将路径信息记录到数据包的头微片中,以源路由方式传输;
(3)在传输过程中,当链路发生永久性故障或者拥塞时,与链路相连的各个路由器同时通过专用总线告知网络监控器网络状态发生了变化;
(4)网络监控器接收到全局网络实时状态信息后,重新为所有通信踪迹计算最优可替换的路径,避开故障节点,且使得网络链路负载均衡,避免拥塞,并将新的路径信息发送给所有路由器;在下一个传输周期,源节点按网络监控器更新的最优路由路径,重新组包发往目的节点。
在本发明中,容错路由器除了完成传统片上网络中路由器单元的数据路由和转发工作,还需要具有获取相邻节点状态功能以定位拥塞和故障链路、具有检错重传功能以辨别瞬时和永久性故障、具有与网络监控器交互信息的功能。因此优选地,容错路由器包含如下部分:
a)缓冲存储区,包括输入缓冲区和重传缓冲区,分别用于保存输入端口接收的数据微片和需要重新传输的数据微片;
b)编/解码器,包括输入解码器和输出编码器,其中输入解码器用于对输入通道的数据微片进行解码,并验证其是否正确,若检测到微片中有错误,则认为传输过程中产生了瞬时故障;输出编码器用于对将要经输出端口发送到下一级路由器的数据微片进行编码;
c)端口控制器,用于将输入缓冲区的数据微片存入该端口的重传缓冲区,同时记录数据微片重传的请求次数和监控本方向输入缓冲区的占用率,以此判断互连链路是否发生了永久性故障或拥塞;
d)路由模块,该模块对存入输入缓冲区的数据包头微片进行解析,根据包头微片中的路由标志选择源路由或自适应路由,确定转发方向,选择输出端口;
e)仲裁模块,该模块当有多个输入端口请求相同的输出端口时,根据各方向输入缓冲区的拥塞程度进行仲裁,选择输出拥塞程度较大(缓冲区占用率高)的输入端口的数据;
f)交换开关,采用全连接开关结构,将各个输入端口与输出端口之间的信号线直接相连,用于将数据从一个端***换到另一个端口;
g)状态控制器,该模块接收各个方向输出端口连接的下级路由器的状态反馈信号和重传请求信号,控制缓冲存储区中已存数据的转发工作,并将接收到的状态信息存入链路状态表,请求网络监控器从链路状态表中读取数据;
h)路由表,用于保存从网络监控器发送来的路由路径信息。
本发明采用以上技术方案,与现有技术相比,具有以下技术效果:
本发明引入一个片上网络监控器,用于获取全局网络实时状态信息及执行路径分配算法,构建具有全局通信事务管理能力的片上网络***。本发明可以检测和定位片上网络中的拥塞和故障链路,并能区分瞬时和永久性链路故障,采用重传方式避免瞬时故障,通过重新路由计算绕开拥塞和永久性故障,对平衡片上网络负载、提高片上网络数据吞吐量以及可靠性有着积极良好的应用价值。
附图说明
图1是典型的片上网络***结构图;
图2是具有全局通信事务管理能力的容错片上网络***结构图;
图3是三模冗余结构图;
图4是网络监控器电路结构图;
图5A是片上网络象限图;
图5B是基于象限图的路由路径分配示例图;
图6是容错路由器电路结构图;
图7是偶校验编解码电路结构图;
图8是容错路由器端口控制器模块的电路框图;
图9是包头微片格式图;
图10A是容错路由器路由模块电路框图;
图10B是路由算法处理流程图;
图11是交换开关示电路结构图;
图12是状态控制器电路结构图;
图13是本发明***的数据传输流程图。
具体实施方式
以下结合附图,通过具体实施方式对本发明进行详细描述。
下面以图1所示典型的4×4 二维网格结构片上网络为例,对本发明作具体说明。
图2为在4×4 二维网格结构片上网络上构建的具有全局通信事务管理能力的容错片上网络***。如图2所示,每个路由器R除了与四个相邻路由器和一个本地IP核c相连外,还通过专用总线连接到一个网络监控器。该专用总线用于传输网络状态和路由路径信息,采用三模冗余技术(Triple Module Redundancy,TMR),即使用3根线和一个投票表决器电路以保证信息传输的可靠性,如图3所示,输出数据状态f由三个输入数据状态a、b、c决定。
网络监控器用于获取全局网络实时负载和可用链路的状态信息及执行路径分配算法,主要由网络状态采集模块、路径分配算法模块、路由路径发送模块、存储模块以及内建自测试模块组成,其电路结构图如图4所示。各部分实现功能分别如下:
(1)网络状态采集模块
该模块与每个路由器相连,用于收集整个网络的实时链路状态信息。当接收到任何一个路由器的请求信号Req后,采集模块开始读取相应数据线Link_state上链路状态信息,存入链路状态表中,并发送Ack信号到相应路由器,并置位触发信号routing_trigger将每一条链路状态信息输出到路径分配算法模块。
(2)路径分配算法模块
该模块根据当前网络状态,执行路径分配算法为给定应用任务中的每一条通信踪迹计算路由路径new_rout,计算完毕后置位触发信号send_trigger,请求路径发送模块准备发送路由路径。为提高路径分配算法的计算效率和可扩展性,本发明通过基于AHB-Lite总线扩展ARM Cortex-M0处理器核及数据程序存储器的方式,由处理器核运行路径分配算法。该路径分配算法包括如下六个步骤:
(a)将应用任务的每条通信踪迹按通信带宽需求降序排列,并根据源/目的节点对以及故障或拥塞链路位置生成象限图。
其中,根据源节点与目的节点的相对位置,NoC中可划分为8种类型的象限图,如图5A所示,分别为ES、SW、WN、NE、WE、EW、NS、SN。若源/目的节点对生成的象限图为WE、EW、NS 或SN,且其中存在链路故障或拥塞,则将源节点和目的节点所在行或列各向外扩展一个节点,生成新的象限图。如图5B所示,源节点S1与目的节点D1生成象限图SN,其中存在故障或拥塞的链路(用“×”表示),则将源/目的节点所在列向外扩展一个节点,生成新的象限图WE+WN。
(b)输入象限图w及其邻接表,源节点r和目的节点t。
(c)初始化w中所有节点的距离,距离d(i)表示从源节点r到节点i路径上所占用的链路带宽之和。令r的距离d(r)=0;对于v≠r,d(v)=∞。
(d)设w的节点集合为T,以u=r开始搜索。
(e)计算u的后继节点集合N(u),对于每一个v?N(u),如果v?T且d(v)>d(u)+w(uv),表示找到v的更短路径,则更新v的距离d(v)=d(u)+w(uv)。其中,uv边上的权重w(uv) 为描述应用任务通信关系的核通信图CCG中给出的通信踪迹带宽需求。接着从T中删除当前u指向的节点,则T=T-u,同时令u为T中另一个距离最小的节点。
(f)重复步骤(e),直到搜索到目的节点t,输出距离d(t)。在迭代过程中,若由于链路故障或拥塞,从当前节点u到其后继节点集合N(u)中可访问的节点均无法找到一条更短的路径,则沿之前建立的最短路径回溯到当前节点u的前一个节点,并将当前节点u从T中删除,接着重复执行步骤(e),直到能找到下一个符合要求的节点u。如图5B中,在为源节点S2与目的节点D2分配路径时,沿北向遇到节点E时无法继续往前,则回溯至节点N绕过故障或拥塞的链路,虚线箭头表示生成的路由路径。
如此,最终生成的路径便会绕开故障或拥塞链路,同时保证距离d(t)即分配路径占用的链路带宽最小,使得链路负载均衡。
(3)路由路径发送模块
该模块将路径分配算法模块计算得到的当前结果new_rout与之前保存在全局路由表中的路径信息old_rout进行比较,仅将变化了的路径数据发送给相应路由器,并将其存入全局路由表,以提高路由路径信息更新效率。发送时向相应路由器发送请求信号RT_request,同时输出路由信息至数据线RT_output。
(4)存储模块
该模块中的通信任务表用于保存每一条通信踪迹的源节点和目的节点编号以及通信带宽需求信息,其中分别用4bit数据表示源节点编号Src_ID和目的节点编号Dest_ID,用16bit数据表示通信踪迹的带宽需求BW_req。4×4 Mesh拓扑中16个网络节点的ID可表示为0000~1111。链路状态表使用4bit数据Router_ID标识路由器,2bit数据Link_ID标识与路由器相连的链路(“00”、“01”、“10”、“11”分别表示路由器东南西北四个方向的链路),2bit数据Status Value描述链路状态(“00”、“01”、“1X”分别表示链路状态为空闲、拥塞和故障)。全局路由表中的每条路由路径均按源节点编号、目的节点编号和每一跳转发方向(“00”、“01”、“10”、“11”分别表示东南西北四个转发方向)的格式保存。其中,在4×4 Mesh网络中最短路由路径的最大跳数为6,考虑到为了避开拥塞或故障节点需要采用绕道路由,定义路由路径的转发方向Forward Direction为16bit。
(5)内建自测试模块
用于验证网络监控器本身的可靠性,该模块由测试生成器、响应分析器以及测试控制器组成,采用有限状态机实现。
除了上述网络监控器,本发明片上网络***中还有一个重要组成部分是容错路由器,其电路结构图如图6所示,包含缓冲存储区、编/解码器、端口控制器、路由模块、仲裁模块、交换开关、状态控制器以及路由表。各部分实现功能分别如下,其中路由器采用虫孔交换技术,在数据传输过程中,每个数据包会被分割成多个微片,设定每个微片长度为32bit。
(1)缓冲存储区
为了降低传输延时,本发明容错路由器仅在输入端口设置数据缓冲区,输出端口不缓存数据。输入缓冲区是一个同步写异步读的静态RAM,其容量设置为320K比特,数据宽度为32比特,根据需要其容量和数据宽度是可变的。本发明还在输入端口设置重传缓冲区,作为从输入缓冲区输出的数据备份区,即输入端口每次从数据缓冲区中送出的数据同时存入重传缓冲区,以在下级路由器故障的情况下,可以从重传缓冲区再次发送之前没有被成功接收的数据。重传缓冲区的深度设为1,即其容量为32比特。
(2)编/解码器
本发明在路由器输入端口设置解码器,在输出端口设置编码器。输入解码器用于对输入通道的数据微片进行解码,并验证其是否正确,如果检测到微片中有错误,则认为传输过程中产生了瞬时故障,端口控制器会发送Nack信号要求发送者(上级路由器)重新传输该微片,并将接收的数据丢弃;若接收的数据微片没有错误,则存入输入缓冲区。输出编码器用于对将要经输出端口发送到下一级路由器的数据微片进行编码。本发明中采用简单易实现的偶校验码,32比特的数据编码为33比特,最高位为偶校验位,编解码电路如图7所示。
(3)端口控制器
除了本地输入端口控制器,其余四个方向的端口控制器会记录数据微片重传的请求次数和监控本方向输入缓冲区的占用率。如果重传次数超过设定的门限值,端口控制器将会发送状态信号(Status Value = “10”)到上级路由器,告知其互连链路发送了永久性故障;如果缓冲区占用率达到设定的门限,端口控制器会发送状态值“01”,告知上级路由器其互连链路发送了拥塞。此外,如果状态值为“00”,表示当前互连链路不存在拥塞和故障,上级路由器需要尽可能快地将数据发送出去,以降低延时。
端口控制器进一步可划分为传输控制器、重传计数器、链路状态分析器以及Buffer控制器四个子模块,其电路框图如图8所示。当上级路由器有发送数据请求Req时,在没有检测到解码器发送的微片错误信号Error_flag情况下,传输控制器向上级路由器反馈应答信号Ack,同时控制Buffer控制器发出写地址信号Wr_addr[3:0]和写使能信号Wr_n,将数据存入输入缓冲区。反之,若检测到Error_flag信号有效,传输控制器发送Nack信号要求上级路由器重传数据微片。Buffer控制器通过发出片选信号Cs_n和读地址信号Rd_addr[3:0]将输入缓冲区的数据发送到输出端口。重传计数器对Error_flag信号进行计数,若连续收到次数超过设定门限值,则由链路状态分析器对Stress_value相应位置位,表示链路发生了故障。同时链路状态分析器也会根据Buffer控制器通过读写地址差计算得到的缓冲区占用率来判断当前链路是否发生拥塞,并对Stress_value相应位置位。
(4)路由模块
路由模块对存入输入缓冲区的包头微片进行解析,确定转发方向,选择输出端口。定义数据包头微片长度为32bit,格式如图9所示。字段Dest_ID和Src_ID分别表示目的节点地址和源节点地址,Routing_path记录路由路径信息,Rt_flag为路由类型标志,Packet_legnth为数据包长度,Hops表示路由跳数。路由模块的电路框图如图10A所示,各信号含义及处理流程如图10B所示。
在图10A中,信号E_routing_en表示东输入方向的缓冲区中已有包头微片到达,数据解析器读取该方向输入的包头微片E_head_flit,解析出其中的目的节点地址Dest_ID和路由标志位Rt_flag。路由计算函数模块判断该方向数据的路由标志信号E_Rt_flag,若信号值为0,则采用源路由,提取包头微片中的路径信息和跳数,计算出下一跳的位置(Next_X, Next_Y),同时根据状态控制器反馈的是否拥塞或故障标志E_stress_flag,判断该下一跳路径是否可以传输,若无法传输,则根据目的节点地址E_Dest_ID和当前节点地址Local_ID采用部分自适应XY路由算法重新计算下一个跳的位置,同时发送Modify_req信号通知输出端口将包头微片中的Rt_flag值改为1;若直接读到E_Rt_flag信号值为1,则采用部分自适应XY路由算法计算下一跳位置。发送方向控制器根据下一跳的位置(Next_X, Next_Y)确定该输入端口数据的输出端口E_dir,并发送至仲裁模块。
(5)仲裁模块
如果有多个输入端口请求相同的输出端口,仲裁模块根据图8所示的端口控制器发送的Stress_value获知各个方向输入缓冲区的占用程度,让拥塞程度较大(缓冲区占用率高)的输入端口缓冲区中的数据先行,如果竞争同一输出端口的多个输入端口的负载情况相同,则采用轮询算法。
(6)交换开关
本发明采用高速、简单的全链接的交换开关结构,将每个输入端口与输出端口之间的信号线直接相连,如图11所示,以最大限度提高并行传输能力。输入端口将接收来的数据进行转发时,数据被分别传输至另外四个输出端口,由仲裁器控制输出端口经由交换开关完成数据输出。
(7)状态控制器
状态控制器用于处理链路状态值Status Value和Nack信号,它们由下一级路由器四个输入端口控制器反馈。
该模块进一步可划分为状态分析器、拥塞/故障状态发送器以及Buffer选择控制器三个子模块,其电路结构图如图12所示。当有某输入方向的Nack信号输入时,状态分析器会通知Buffer选择控制模块对该方向的输入端口的MUX发出信号,控制MUX选择从该端口的重传缓冲区发送数据。当X_status_value[1:0]不为00时(X代表东南西北方向E、S、W、N),表示输入方向的连接链路上发生了拥塞或故障。状态分析器解析出链路状况,将相应的状态标志位X_stress_flag置位,发送到路由模块。同时,拥塞/故障状态发生器按相应格式将链路状态值Link_state发送给链路状态表,并向网络监控器发送请求Req,当接收到网络监控器反馈的应答信号Ack后,将下一条链路状态值送出。
(8)路由表
路由表由寄存器组组成,用于保存从网络监控器发送来的路由路径信息,其格式与网络监控器中全局路由表相同。
基于由上述网络监控器和容错路由器为核心构成的容错片上网络***,数据包传输的过程如图13所示,包含以下四个步骤。
(1)初始化每个路由器的路由表。
首先基于确定的网络拓扑结构以及IP核对间的通信带宽与延时信息,网络监控器调用路径分配算法模块为每条通信踪迹计算最短路由路径。一旦片上网络应用***开始工作,网络监控器向所有路由器广播路由路径信息。各个路由器仅接收源节点是自己本地IP核的通信路径,并将路径保存到路由表中。
(2)在正常数据包传输时,源节点所连接的路由器查询路由表,并将路径信息记录到数据包的头微片中,以源路由方式传输。
(3)在传输过程中,当链路发生永久性故障或者拥塞时,与链路相连的各个路由器同时通过专用总线告知网络监控器网络状态发生了变化。
(4)网络监控器接收到全局网络实时状态信息后,重新为所有通信踪迹计算最优可替换的路径,避开故障节点,且使得网络链路负载均衡,避免拥塞,并将新的路径信息发送给所有路由器。在下一个传输周期,源节点就可按网络监控器更新的最优路由路径,重新组包发往目的节点。
应用上述方法可以构成具有全局通信事务管理能力的容错片上网络***,实现对全局网络状态的监测,定位和辨别网络中的拥塞和故障链路,并及时进行数据重传避免瞬时故障,通过重新路由计算绕开拥塞和永久性故障链路,达到高性能高可靠性的通信目的。
Claims (6)
1.一种具有全局通信事务管理能力的容错片上网络***,包括互连的容错路由器和功能IP核,其特征在于:还包括一个网络监控器,所述网络监控器通过专用总线与片上网络中每个容错路由器相连,用于监控全局网络状态,并基于网络实时状态确定应用任务所有通信踪迹的路由路径,以绕开拥塞和故障链路,所述的网络监控器包括如下部分:
a)网络状态采集模块,该模块与每个路由器相连,用于收集整个网络的实时链路状态信息;
b)路径分配算法模块,该模块根据通信任务以及链路状态信息执行路径分配算法为每条通信踪迹计算路由路径;
c)路由路径发送模块,该模块将路径分配算法模块计算得到的路由路径数据发送给相连路由器;
d)存储模块,该模块由通信任务表、链路状态表以及全局路由表组成,其中通信任务表用于保存应用任务每一条通信踪迹的源节点和目的节点编号以及通信带宽约束信息,链路状态表用于保存路由器间互连链路的空闲、拥塞和故障状态,全局路由表用于保存路径分配算法模块计算得到的路由路径数据。
2.根据权利要求1所述的具有全局通信事务管理能力的容错片上网络***,其特征在于:所述的网络监控器还包括一个内建自测试模块,用于验证网络监控器本身的可靠性。
3.根据权利要求1所述的具有全局通信事务管理能力的容错片上网络***,其特征在于:所述的容错路由器包含如下部分:
a)缓冲存储区,包括输入缓冲区和重传缓冲区,分别用于保存输入端口接收的数据微片和需要重新传输的数据微片;
b)编/解码器,包括输入解码器和输出编码器,其中输入解码器用于对输入通道的数据微片进行解码,并验证其是否正确,若检测到微片中有错误,则认为传输过程中产生了瞬时故障;输出编码器用于对将要经输出端口发送到下一级路由器的数据微片进行编码;
c)端口控制器,用于将输入缓冲区的数据微片存入该端口的重传缓冲区,同时记录数据微片重传的请求次数和监控本方向输入缓冲区的占用率,以此判断互连链路是否发生了永久性故障或拥塞;
d)路由模块,该模块对存入输入缓冲区的数据包头微片进行解析,根据包头微片中的路由标志选择源路由或自适应路由,确定转发方向,选择输出端口;
e)仲裁模块,当有多个输入端口请求相同的输出端口时,该模块根据各方向输入缓冲区的拥塞程度进行仲裁,选择输出拥塞程度较大的输入端口的数据;
f)交换开关,采用全连接开关结构,将各个输入端口与输出端口之间的信号线直接相连,用于将数据从一个端***换到另一个端口;
g)状态控制器,该模块接收各个方向输出端口连接的下级路由器的状态反馈信号和重传请求信号,控制缓冲存储区中已存数据的转发工作,并将接收到的状态信息存入链路状态表,请求网络监控器从链路状态表中读取数据;
h)路由表,用于保存从网络监控器发送来的路由路径信息。
4.根据权利要求1所述的具有全局通信事务管理能力的容错片上网络***,其特征在于:所述的专用总线采用三模冗余技术。
5.应用于权利要求1所述具有全局通信事务管理能力的容错片上网络***的路径分配方法,其特征在于包括如下步骤:
a)将应用任务的每条通信踪迹按通信带宽需求降序排列,并根据源/目的节点对以及故障或拥塞链路在片上网络中的位置生成象限图w;
b)输入象限图w及其邻接表,源节点r和目的节点t;
c)初始化象限图w中所有节点的距离,距离d(i)表示从源节点r到节点i路径上所占用的链路带宽之和;令r的距离d(r)=0;对于v≠r,d(v)=∞;
d)设象限图w的节点集合为T,以u=r开始搜索;
e)计算u的后继节点集合N(u),对于每一个v?N(u),如果v?T且d(v)>d(u)+w(uv),表示找到v的更短路径,则更新v的距离d(v)=d(u)+w(uv);其中,uv边上的权重w(uv) 为描述应用任务通信关系的核通信图CCG中给出的通信踪迹带宽需求;接着从T中删除当前u指向的节点,则T=T-u,同时令u为T中另一个距离最小的节点;
f)重复步骤(e),直到搜索到目的节点t,输出距离d(t);在迭代过程中,若由于链路故障或拥塞,从当前节点u到其后继节点集合N(u)中可访问的节点均无法找到一条更短的路径,则沿之前建立的最短路径回溯到当前节点u的前一个节点,并将当前节点u从T中删除,接着重复执行步骤(e),直到能找到下一个符合要求的节点u;如此,最终生成的路径便会绕开故障或拥塞链路,同时保证距离d(t)即分配路径占用的链路带宽最小,使得链路负载均衡。
6.应用于权利要求1所述具有全局通信事务管理能力的容错片上网络***的网络数据传输方法,其特征在于包括如下步骤:
(1)初始化每个路由器的路由表;一旦片上网络应用***开始工作,网络监控器向所有容错路由器广播路由路径信息;各个容错路由器仅接收源节点是自己本地IP核的通信路径,并将路径保存到路由表中;
(2)在正常数据包传输时,源节点所连接的路由器查询路由表,并将路径信息记录到数据包的头微片中,以源路由方式传输;
(3)在传输过程中,当链路发生永久性故障或者拥塞时,与链路相连的各个路由器同时通过专用总线告知网络监控器网络状态发生了变化;
(4)网络监控器接收到全局网络实时状态信息后,重新为所有通信踪迹计算最优可替换的路径,避开故障节点,且使得网络链路负载均衡,避免拥塞,并将新的路径信息发送给所有路由器;在下一个传输周期,源节点按网络监控器更新的最优路由路径,重新组包发往目的节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410164138.5A CN103973482A (zh) | 2014-04-22 | 2014-04-22 | 具有全局通信事务管理能力的容错片上网络***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410164138.5A CN103973482A (zh) | 2014-04-22 | 2014-04-22 | 具有全局通信事务管理能力的容错片上网络***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103973482A true CN103973482A (zh) | 2014-08-06 |
Family
ID=51242549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410164138.5A Pending CN103973482A (zh) | 2014-04-22 | 2014-04-22 | 具有全局通信事务管理能力的容错片上网络***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973482A (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270279A (zh) * | 2014-10-28 | 2015-01-07 | 电子科技大学 | 一种片上网络非法路径故障在线检错电路 |
CN104796343A (zh) * | 2015-03-21 | 2015-07-22 | 西安电子科技大学 | 一种基于片上网络的通信结构 |
CN105187272A (zh) * | 2015-08-24 | 2015-12-23 | 阔地教育科技有限公司 | 一种网络状态检测方法及装置 |
CN105450524A (zh) * | 2015-12-08 | 2016-03-30 | 北京飞讯数码科技有限公司 | 一种媒体转发路由优化算法 |
CN105656773A (zh) * | 2016-03-24 | 2016-06-08 | 合肥工业大学 | 片上网络中针对瞬时故障和间歇性故障的高可靠链路容错模块及其方法 |
CN105893321A (zh) * | 2016-03-24 | 2016-08-24 | 合肥工业大学 | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 |
CN106487673A (zh) * | 2016-12-08 | 2017-03-08 | 北京时代民芯科技有限公司 | 一种基于三模冗余的检错重传容错路由单元 |
CN106506267A (zh) * | 2016-10-26 | 2017-03-15 | 合肥工业大学 | 面向功耗温度的动静态相结合的NoC实时监测配置电路 |
CN106792832A (zh) * | 2017-01-25 | 2017-05-31 | 合肥工业大学 | 一种无线片上网络中无线节点的拥塞判别模块及其方法 |
CN105207841B (zh) * | 2015-08-24 | 2018-12-18 | 阔地教育科技有限公司 | 一种基于在线课堂的网络状态检测方法及装置 |
CN109802889A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种信息传输方法及装置 |
CN110351192A (zh) * | 2019-08-15 | 2019-10-18 | 电子科技大学 | 一种面向片上网络的多层次动态可选复合型路由控制方法 |
CN111147198A (zh) * | 2020-01-02 | 2020-05-12 | 中科驭数(北京)科技有限公司 | 数据重传方法和装置 |
CN111382115A (zh) * | 2018-12-28 | 2020-07-07 | 北京灵汐科技有限公司 | 一种用于片上网络的路径创建方法、装置及电子设备 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN111522775A (zh) * | 2020-04-22 | 2020-08-11 | 合肥工业大学 | 片上网络路由装置及其控制方法 |
CN111651118A (zh) * | 2020-04-27 | 2020-09-11 | 中国科学院微电子研究所 | 存储器***、控制方法和控制装置 |
CN111817952A (zh) * | 2019-10-11 | 2020-10-23 | 西安电子科技大学 | 基于mesh结构的高容错低时延路由算法 |
CN112491666A (zh) * | 2021-02-03 | 2021-03-12 | 之江实验室 | 一种针对电网广域相位测量***的弹性可靠路由器 |
JP2021052385A (ja) * | 2019-08-16 | 2021-04-01 | ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited | システムオンチップのためのアドレス指定メカニズム |
CN113218437A (zh) * | 2021-04-30 | 2021-08-06 | 华中师范大学 | 一种高密度电荷传感器芯片大面阵可容错网络读出装置及方法 |
CN113382431A (zh) * | 2021-06-16 | 2021-09-10 | 复旦大学 | 适用于大规模并行计算的节点间容错通信***及通信方法 |
US20220166705A1 (en) * | 2019-05-23 | 2022-05-26 | Hewlett Packard Enterprise Development Lp | Dragonfly routing with incomplete group connectivity |
WO2022143020A1 (zh) * | 2020-12-31 | 2022-07-07 | Oppo广东移动通信有限公司 | 芯片及其控制方法、计算机可读存储介质和电子设备 |
US11437846B2 (en) | 2021-02-03 | 2022-09-06 | Zhejiang Lab | Reliable resilient router for wide-area phasor measurement system of power grid |
CN115225694A (zh) * | 2022-06-13 | 2022-10-21 | 中科驭数(北京)科技有限公司 | 数据流传输方法、装置、设备和介质 |
CN115361332A (zh) * | 2022-08-16 | 2022-11-18 | 中国工商银行股份有限公司 | 容错路由的处理方法及装置、处理器和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035723A (zh) * | 2009-09-28 | 2011-04-27 | 清华大学 | 一种片上网络路由及实现方法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及*** |
CN102546406A (zh) * | 2011-12-28 | 2012-07-04 | 龙芯中科技术有限公司 | 片上网络路由集中控制***和装置及自适应路由控制方法 |
CN102629912A (zh) * | 2012-03-27 | 2012-08-08 | 中国人民解放军国防科学技术大学 | 面向无缓冲片上网络的容错偏转路由方法及装置 |
CN102868604A (zh) * | 2012-09-28 | 2013-01-09 | 中国航空无线电电子研究所 | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 |
-
2014
- 2014-04-22 CN CN201410164138.5A patent/CN103973482A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035723A (zh) * | 2009-09-28 | 2011-04-27 | 清华大学 | 一种片上网络路由及实现方法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及*** |
CN102546406A (zh) * | 2011-12-28 | 2012-07-04 | 龙芯中科技术有限公司 | 片上网络路由集中控制***和装置及自适应路由控制方法 |
CN102629912A (zh) * | 2012-03-27 | 2012-08-08 | 中国人民解放军国防科学技术大学 | 面向无缓冲片上网络的容错偏转路由方法及装置 |
CN102868604A (zh) * | 2012-09-28 | 2013-01-09 | 中国航空无线电电子研究所 | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 |
Non-Patent Citations (2)
Title |
---|
葛芬: "专用片上网络设计关键技术研究", 《中国博士论文全文数据库信息科技辑》 * |
葛芬等: "基于网络监控器的专用片上网络动态容错路由", 《电子学报》 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104270279B (zh) * | 2014-10-28 | 2017-07-18 | 电子科技大学 | 一种片上网络非法路径故障在线检错电路 |
CN104270279A (zh) * | 2014-10-28 | 2015-01-07 | 电子科技大学 | 一种片上网络非法路径故障在线检错电路 |
CN104796343A (zh) * | 2015-03-21 | 2015-07-22 | 西安电子科技大学 | 一种基于片上网络的通信结构 |
CN105187272A (zh) * | 2015-08-24 | 2015-12-23 | 阔地教育科技有限公司 | 一种网络状态检测方法及装置 |
CN105207841B (zh) * | 2015-08-24 | 2018-12-18 | 阔地教育科技有限公司 | 一种基于在线课堂的网络状态检测方法及装置 |
CN105187272B (zh) * | 2015-08-24 | 2018-12-18 | 阔地教育科技有限公司 | 一种网络状态检测方法及装置 |
CN105450524A (zh) * | 2015-12-08 | 2016-03-30 | 北京飞讯数码科技有限公司 | 一种媒体转发路由优化算法 |
CN105450524B (zh) * | 2015-12-08 | 2020-06-09 | 北京飞讯数码科技有限公司 | 一种媒体转发路由优化计算的方法 |
CN105656773B (zh) * | 2016-03-24 | 2018-10-02 | 合肥工业大学 | 片上网络中针对瞬时故障和间歇性故障的高可靠链路容错模块及其方法 |
CN105893321A (zh) * | 2016-03-24 | 2016-08-24 | 合肥工业大学 | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 |
CN105893321B (zh) * | 2016-03-24 | 2019-01-11 | 合肥工业大学 | 片上网络中基于路径多样性的交叉开关细粒度容错模块及其方法 |
CN105656773A (zh) * | 2016-03-24 | 2016-06-08 | 合肥工业大学 | 片上网络中针对瞬时故障和间歇性故障的高可靠链路容错模块及其方法 |
CN106506267A (zh) * | 2016-10-26 | 2017-03-15 | 合肥工业大学 | 面向功耗温度的动静态相结合的NoC实时监测配置电路 |
CN106506267B (zh) * | 2016-10-26 | 2019-04-05 | 合肥工业大学 | 面向功耗温度的动静态相结合的NoC实时监测配置电路 |
CN106487673A (zh) * | 2016-12-08 | 2017-03-08 | 北京时代民芯科技有限公司 | 一种基于三模冗余的检错重传容错路由单元 |
CN106487673B (zh) * | 2016-12-08 | 2019-06-04 | 北京时代民芯科技有限公司 | 一种基于三模冗余的检错重传容错路由单元 |
CN106792832A (zh) * | 2017-01-25 | 2017-05-31 | 合肥工业大学 | 一种无线片上网络中无线节点的拥塞判别模块及其方法 |
CN106792832B (zh) * | 2017-01-25 | 2019-06-14 | 合肥工业大学 | 一种无线片上网络中无线节点的拥塞判别模块及其方法 |
CN109802889A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种信息传输方法及装置 |
CN109802889B (zh) * | 2017-11-17 | 2020-10-27 | 华为技术有限公司 | 一种信息传输方法及装置 |
US11398981B2 (en) | 2018-12-28 | 2022-07-26 | Lynxi Technologies Co., Ltd. | Path creation method and device for network on chip and electronic apparatus |
CN111382115A (zh) * | 2018-12-28 | 2020-07-07 | 北京灵汐科技有限公司 | 一种用于片上网络的路径创建方法、装置及电子设备 |
CN111382115B (zh) * | 2018-12-28 | 2022-04-15 | 北京灵汐科技有限公司 | 一种用于片上网络的路径创建方法、装置及电子设备 |
US20220166705A1 (en) * | 2019-05-23 | 2022-05-26 | Hewlett Packard Enterprise Development Lp | Dragonfly routing with incomplete group connectivity |
US11985060B2 (en) * | 2019-05-23 | 2024-05-14 | Hewlett Packard Enterprise Development Lp | Dragonfly routing with incomplete group connectivity |
CN110351192A (zh) * | 2019-08-15 | 2019-10-18 | 电子科技大学 | 一种面向片上网络的多层次动态可选复合型路由控制方法 |
JP2021052385A (ja) * | 2019-08-16 | 2021-04-01 | ウルトラソック、テクノロジーズ、リミテッドUltrasoc Technologies Limited | システムオンチップのためのアドレス指定メカニズム |
JP7369104B2 (ja) | 2019-08-16 | 2023-10-25 | シーメンス インダストリー ソフトウェア インコーポレイテッド | システムオンチップのためのアドレス指定メカニズム |
CN111817952A (zh) * | 2019-10-11 | 2020-10-23 | 西安电子科技大学 | 基于mesh结构的高容错低时延路由算法 |
CN111147198B (zh) * | 2020-01-02 | 2021-05-25 | 中科驭数(北京)科技有限公司 | 数据重传方法和装置 |
CN111147198A (zh) * | 2020-01-02 | 2020-05-12 | 中科驭数(北京)科技有限公司 | 数据重传方法和装置 |
CN111475457A (zh) * | 2020-04-08 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种片上网络的数据传输路径确定方法、装置及存储介质 |
CN111522775B (zh) * | 2020-04-22 | 2023-05-16 | 合肥工业大学 | 片上网络路由装置及其控制方法 |
CN111522775A (zh) * | 2020-04-22 | 2020-08-11 | 合肥工业大学 | 片上网络路由装置及其控制方法 |
CN111651118B (zh) * | 2020-04-27 | 2023-11-21 | 中国科学院微电子研究所 | 存储器***、控制方法和控制装置 |
CN111651118A (zh) * | 2020-04-27 | 2020-09-11 | 中国科学院微电子研究所 | 存储器***、控制方法和控制装置 |
WO2022143020A1 (zh) * | 2020-12-31 | 2022-07-07 | Oppo广东移动通信有限公司 | 芯片及其控制方法、计算机可读存储介质和电子设备 |
CN112491666A (zh) * | 2021-02-03 | 2021-03-12 | 之江实验室 | 一种针对电网广域相位测量***的弹性可靠路由器 |
WO2022165822A1 (zh) * | 2021-02-03 | 2022-08-11 | 之江实验室 | 一种针对电网广域相位测量***的弹性可靠路由器 |
US11437846B2 (en) | 2021-02-03 | 2022-09-06 | Zhejiang Lab | Reliable resilient router for wide-area phasor measurement system of power grid |
CN113218437B (zh) * | 2021-04-30 | 2022-05-13 | 华中师范大学 | 高密度电荷传感器芯片大面阵可容错网络读出装置及方法 |
CN113218437A (zh) * | 2021-04-30 | 2021-08-06 | 华中师范大学 | 一种高密度电荷传感器芯片大面阵可容错网络读出装置及方法 |
CN113382431B (zh) * | 2021-06-16 | 2022-12-13 | 复旦大学 | 适用于大规模并行计算的节点间容错通信***及通信方法 |
CN113382431A (zh) * | 2021-06-16 | 2021-09-10 | 复旦大学 | 适用于大规模并行计算的节点间容错通信***及通信方法 |
CN115225694A (zh) * | 2022-06-13 | 2022-10-21 | 中科驭数(北京)科技有限公司 | 数据流传输方法、装置、设备和介质 |
CN115225694B (zh) * | 2022-06-13 | 2023-12-12 | 中科驭数(北京)科技有限公司 | 数据流传输方法、装置、设备和介质 |
CN115361332A (zh) * | 2022-08-16 | 2022-11-18 | 中国工商银行股份有限公司 | 容错路由的处理方法及装置、处理器和电子设备 |
CN115361332B (zh) * | 2022-08-16 | 2024-05-28 | 中国工商银行股份有限公司 | 容错路由的处理方法及装置、处理器和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103973482A (zh) | 具有全局通信事务管理能力的容错片上网络***及方法 | |
JP3816531B2 (ja) | 非同期パケット交換 | |
CN102868604B (zh) | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 | |
CN103618673A (zh) | 一种保障服务质量的片上网络路由方法 | |
CN102629912B (zh) | 面向无缓冲片上网络的容错偏转路由方法及装置 | |
US6952419B1 (en) | High performance transmission link and interconnect | |
US20130242745A1 (en) | Relay device, method of controlling relay device, and relay system | |
US9798603B2 (en) | Communication device, router having communication device, bus system, and circuit board of semiconductor circuit having bus system | |
CN106487673B (zh) | 一种基于三模冗余的检错重传容错路由单元 | |
US6615221B2 (en) | Scalable transport layer protocol for multiprocessor interconnection networks that tolerates interconnection component failure | |
CN104579951A (zh) | 片上网络中新颖的故障与拥塞模型下的容错方法 | |
WO2018004931A1 (en) | Techniques for virtual ethernet switching of a multi-node fabric | |
Schley et al. | Fault localizing end-to-end flow control protocol for networks-on-chip | |
RU2562388C2 (ru) | Гибридная ячеистая коммуникационная сеть | |
CN105656773A (zh) | 片上网络中针对瞬时故障和间歇性故障的高可靠链路容错模块及其方法 | |
CN100571183C (zh) | 一种基于胖树拓扑的屏障操作网络***、装置及方法 | |
WO2008057831A2 (en) | Large scale multi-processor system with a link-level interconnect providing in-order packet delivery | |
CN105871761A (zh) | 一种高阶矩阵开关、片上网络及通信方法 | |
CN111682966B (zh) | 带故障主动报告功能的网络通信装置,***及其方法 | |
CN109347607A (zh) | 高效可靠传输控制方法和*** | |
CN112910795B (zh) | 一种基于众源的边缘负载均衡方法和*** | |
Sanusi et al. | Smart-flooding: A novel scheme for fault-tolerant NoCs | |
CN102724115B (zh) | 一种适用于片上网络***的链路层容错电路设计 | |
CN103401775A (zh) | 源报文转换装置及其报文转换方法、目标报文转换装置及其报文转换方法 | |
Khichar et al. | Fault aware adaptive routing algorithm for mesh based NoCs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140806 |
|
RJ01 | Rejection of invention patent application after publication |