CN107171954A - 容错路由方法、装置及片上网络 - Google Patents

容错路由方法、装置及片上网络 Download PDF

Info

Publication number
CN107171954A
CN107171954A CN201610129690.XA CN201610129690A CN107171954A CN 107171954 A CN107171954 A CN 107171954A CN 201610129690 A CN201610129690 A CN 201610129690A CN 107171954 A CN107171954 A CN 107171954A
Authority
CN
China
Prior art keywords
node
ring
failure
type
positional information
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.)
Granted
Application number
CN201610129690.XA
Other languages
English (en)
Other versions
CN107171954B (zh
Inventor
袁泉
李扬
张惠敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610129690.XA priority Critical patent/CN107171954B/zh
Publication of CN107171954A publication Critical patent/CN107171954A/zh
Application granted granted Critical
Publication of CN107171954B publication Critical patent/CN107171954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance

Abstract

本发明公开了一种容错路由方法、装置及片上网络,属于计算机领域。该方法应用于片上互联网络NoC的第一节点,包括:接收待传输信息,该待传输信息包括:目的节点的位置信息,该位置信息用于指示在该NoC的芯片上的位置;当该第一节点不是该目的节点,且为故障环上的节点时,判断该待传输信息是否能够在该故障环上双向绕行传输,该双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;当该待传输信息能够在该故障环上双向绕行传输时,在该双向绕行传输所形成的路径中确定最短路径;基于该最短路径,将该待传输信息传输至下一节点。本发明能够解决信息的传输效率较低的问题,实现了提高信息的传输效率。本发明实施例用于NoC上的节点间通信。

Description

容错路由方法、装置及片上网络
技术领域
本发明涉及计算机领域,特别涉及一种容错路由方法、装置及片上网络。
背景技术
片上网络(英文:network-on-chip;简称:NoC)是指在芯片上集成大量的计算资源以及连接这些资源的片上通信网络。NoC包括计算和通信两个子系统,计算子系统完成广义的“计算”任务,包括多个计算资源,该计算资源包括处理模块(英文:process element;简称:PE),也称核,该PE既可以是中央处理器(英文:Central Processing Unit;简称:CPU),也可以是各种专用功能的知识产权核(英文:intellectual property core;简称:ip核)、存储器阵列或可重构硬件等;通信子系统负责连接PE,实现计算资源之间的高速通信。通信节点(也即路由器)及其间的互连线所构成的网络被称为片上通信网络(英文:on-chipnetwork;简称:OCN),通信子系统包括该OCN,OCN借鉴了分布式计算系统的通信方式,用路由和分组交换技术替代传统的片上总线来完成通信任务。
网格(mesh)型NoC是NoC的一种,网格型NoC是将NoC的芯片的表面区域由多个横纵交错的互连线划分为多个形状、大小相同的网格,在互连线的每个交点处设置通信节点,该通信节点简称为节点。由于网格型NoC有可测量性较高等优点,其应用较为广泛。
目前提出针对NoC上节点分区域(partition或者region)的概念,即把NoC上的一部分节点组成一个小区域系统以独立完成某一任务。相关技术中,将符合预设规律的节点划分为一个区域,在网格型NoC上,由于节点的数量较多,有些节点在生产或使用过程中可能会坏死,这些坏死节点称为故障节点。在网格型NoC上,通常将故障节点及其相关节点划分为一个区域,例如,每个节点在出厂时均标记为正常(active)节点,认为其能够正常执行其相应的功能;当一个正常节点检测其连接到的故障(faulty)节点和非正常(deactivated)节点的个数大于或等于2,该节点将自身标记为非正常(deactivated)节点,其中,非正常节点还可以包括不安全节点,当一个非正常节点检测其连接到至少一个正常节点,该节点将自身标记为不安全(unsafe)节点;互相连接的非正常节点和故障节点组成的矩形区域称为故障区域(faulty region);环绕在故障区域外围,且与故障区域邻接的的正常节点组成故障环(fault ring),其中,包括网格型NoC的南(south)边和/或西(west)边的故障环也称为故障链(fault chain)。
相关技术中,提出一种容错路由算法,当一个故障环上的节点接收到待传输信息后,可以根据该节点的位置信息和目的节点的位置信息确定待传输信息的传输类型,然后根据该传输类型以及该节点和目的节点的相对位置确定传输路径,根据确定的传输路径,将待传输信息传输至下一节点。
但是,现有的容错路由算法中,当故障环上的节点通过多种传输路径均能将待传输信息传输至目的节点时,会按照预设的传输方式确定传输路径来进行待传输信息的传输,容易出现传输路径较长,传输时延较大的情况,影响信息的传输效率。
发明内容
为了解决信息的传输效率较低的问题,本发明实施例提供了一种容错路由方法、装置及片上网络。所述技术方案如下:
第一方面,提供了一种容错路由方法,应用于片上互联网络NoC的第一节点,所述方法包括:
接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
基于所述最短路径,将所述待传输信息传输至下一节点。
可选的,所述判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
获取所述故障环的位置信息;
根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
可选的,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
可选的,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述根据所述故障环的位置信息,确定所述故障环的类型,包括:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
本发明实施例可以识别故障环的具体类型,提高识别的准确性,提高识别粒度。
可选的,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,在所述接收待传输信息之前,所述方法还包括:
当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,在所述接收待传输信息之前,所述方法还包括:
当所述第一节点为实体参考节点,且接收到两个虚拟节点的位置信息时,根据所述两个虚拟节点的位置信息及所述实体参考节点的位置信息,确定虚拟参考节点的位置信息,该两个虚拟节点的位置信息分别由故障环上的两个位于所述芯片的边界上的非边角节点确定并发送;
将所述虚拟节点的位置信息发送至所述故障环上的每个节点上。
第二方面,提供一种容错路由装置,应用于片上互联网络NoC的第一节点,所述装置包括:
接收模块,用于接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
判断模块,用于当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
确定模块,用于当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
传输模块,用于基于所述最短路径,将所述待传输信息传输至下一节点。
可选的,所述判断模块包括:
获取子模块,用于获取所述故障环的位置信息;
确定子模块,用于根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
判断子模块,用于根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
可选的,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
可选的,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述确定子模块,用于:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
可选的,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述判断子模块,用于:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,
所述确定模块,还用于当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
所述判断模块,还用于根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
所述传输模块,还用于当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
所述传输模块,还用于当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,
搜书确定模块,还用于当所述第一节点为实体参考节点,且接收到两个虚拟节点的位置信息时,根据所述两个虚拟节点的位置信息及所述实体参考节点的位置信息,确定虚拟参考节点的位置信息,该两个虚拟节点的位置信息分别由故障环上的两个位于所述芯片的边界上的非边角节点确定并发送;
所述传输模块,还用于将所述虚拟节点的位置信息发送至所述故障环上的每个节点上。
第三方面,提供一种片上网络,包括第一节点,所述第一节点包括上述第一方面提供的任一所述的容错路由装置。
可选的,所述片上网络NoC还包括:第二节点,所述第二节点位于所述芯片的边界上,且为故障环上的非边角节点,所述第二节点用于:
确定所述故障环上与所述第二节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
可选的,所述片上网络NoC还包括:实体参考节点,所述实体参考节点用于:
当所述实体参考节点接收到两个虚拟节点的位置信息时,根据所述两个虚拟节点的位置信息及所述实体参考节点的位置信息,确定虚拟参考节点的位置信息,该两个虚拟节点的位置信息分别由故障环上的两个位于所述芯片的边界上的非边角节点确定并发送;
将所述虚拟节点的位置信息发送至所述故障环上的每个节点上。
需要说明的是,所述第一节点和所述第二节点可以是同一节点,也可以是不同节点,所述第一节点和所述实体参考节点可以是同一节点,也可以是不同节点。且本发明中,第一节点是实体节点。
本发明实施例提供的容错路由方法、装置及片上网络,由于在待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径,并基于最短路径,将待传输信息传输至下一节点,因此,采用最短路径进行待传输信息的传输,避免了传输路径较长,传输时延较大的情况,提高了信息的传输效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种容错路由方法所涉及的一种网格型NoC的结构示意图;
图2是本发明实施例提供的节点状态标记示意图;
图3是本发明实施例提供的一种容错路由方法的流程图;
图4是本发明实施例提供的另一种容错路由方法的流程图;
图5是本发明实施例提供的一种容错路由方法所涉及的另一种网格型NoC的结构示意图;
图6是本发明实施例提供的一种判断待传输信息是否能够在故障环上双向绕行传输的方法流程图;
图7是本发明实施例提供的一种各种类型的故障环在芯片上的位置示意图;
图8是本发明实施例提供的一种根据故障环的类型,判断待传输信息是否能够在故障环上双向绕行传输的方法流程图;
图9是本发明实施例提供的一种待传输信息在故障环上的传输路径示意图;
图10是本发明实施例提供的一种传输类型示意图;
图11是现有技术提供的一种待传输信息的传输路径示意图;
图12是本发明实施例提供的一种待传输信息的传输路径示意图;
图13是本发明实施例提供的一种容错路由装置的结构示意图;
图14是本发明实施例提供的一种判断模块的结构示意图;
图15是本发明实施例提供的另一种容错路由装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明实施例提供的容错路由方法所涉及的一种网格型NoC的结构示意图。如图1所示,在该网格型NoC上,NoC的芯片的表面区域由多个横纵交错的互连线划分为多个形状、大小相同的网格,通常为正方形网格,在互连线的每个交点处设置通信节点,简称节点,图1以该网格型NoC被划分为10*10个正方形网格为例进行示例性说明。以圆圈表示节点。需要说明的是,容错(fault-tolerance)指的是容忍故障,在故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行。当出现某些指定的硬件故障或软件错误时,系统仍能执行规定的一组程序,或者说程序不会因系统中的故障而中止或被修改,并且执行结果也不包含系统中故障所引起的差错。路由算法:又名选路算法,可以根据多个特性来加以区分,该路由算法的目的是找到一条从源节点(也称源路由器)到目的节点(也称目的路由器)的最佳路径(即具有最低功耗的路径)。本发明实施例提供的容错路由算法即是一种容忍故障且能够寻找源节点到目的节点的最佳路径的算法,应用于NoC上。
如图1所示,网格型NoC上的节点包括正常节点、非正常节点和故障节点,非正常节点又包括不安全节点。其中,正常节点为能够正常执行其功能的节点;故障节点为不能执行其功能的节点;非正常节点为至少能够执行其部分功能的节点。如图2所示,通常每个节点在出厂时均标记为正常节点,认为其能够正常执行其相应的功能;当一个正常节点检测其连接到的故障节点和非正常节点的个数大于或等于2,该节点将自身标记为非正常节点,如图1中坐标位置为(0,6)的节点;当一个非正常节点检测其连接到至少一个正常节点,该节点将自身标记为不安全节点,如图1中坐标位置为(7,0)的节点;互相连接的非正常节点和故障节点组成的矩形区域称为故障区域,如图1中的区域01中的坐标位置分别为(8,9)、(8,8)、(9,8)、(9,9)的节点形成的区域;在本发明实施例中,不区分故障环和故障链,将环绕在故障区域外围,且与故障区域邻接的正常节点组成的环(封闭环形)或链(非封闭环形)均称为故障环,如图1中的区域02中的坐标位置分别为(7,9)、(7,8)、(7,7)、(8,7)、(9,7)的正常节点形成一个故障环。
通常的,节点对自身的标记是不可逆的,例如,当一个正常节点将自身标记为非正常节点后,便不能在将自身重置回正常节点,除非对该节点进行了维修或替换。
如图3所示,本发明实施例提供一种容错路由方法,应用于NoC的第一节点,该NoC可以是图1所示的网格型NoC,该第一节点可以为NoC上任一节点,该方法包括:
步骤301、接收待传输信息,该待传输信息包括:目的节点的位置信息,该位置信息用于指示在NoC的芯片上的位置。
步骤302、当第一节点不是目的节点,且为故障环上的节点时,判断待传输信息是否能够在故障环上双向绕行传输,双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输。
步骤303、当待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径;
步骤304、基于最短路径,将待传输信息传输至下一节点。
综上所述,本发明实施例提供的容错路由方法,由于在待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径,并基于最短路径,将待传输信息传输至下一节点,因此,采用最短路径进行待传输信息的传输,避免了传输路径较长,传输时延较大的情况,提高了信息的传输效率。
如图4所示,本发明实施例提供一种容错路由方法,应用于NoC的第一节点,假设该NoC的芯片上形成有M×N个网格,基于该NoC的芯片建立预设坐标系,该预设坐标系的坐标系原点可以为芯片的西南角(即左下角)的节点,芯片在预设坐标系的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数。实际应用中,坐标系原点可以为预设坐标系的其他节点,如东北角的节点,本发明实施例只是示意性说明。例如,当M=N=10时,该NoC可以是图1所示的网格型NoC,该第一节点可以为NoC上任一节点,示例的,本发明实施例提供的容错路由方法包括:
步骤401、接收待传输信息,该待传输信息包括:目的节点的位置信息。执行步骤402。
在本发明实施例中,位置信息用于指示在NoC的芯片上的位置,通常为在预设坐标系中的坐标位置,也即是,节点的位置信息指的是节点在NoC的芯片上的位置,故障环的位置信息指的是故障环在NoC的芯片上的位置。本发明实施例中假设待传输信息均为NoC内部进行传输的信息,不是与其他NoC进行传输的信息。
需要说明的是,待传输信息可以包括目的节点的位置信息,还可以包括源节点的位置信息。其中,源节点为发出该待传输信息的初始节点,目的节点是该待传输信息所传输的目的地。待传输信息中的源节点的位置信息可以方便目的节点来知晓待传输信息的来源。
步骤402、判断第一节点是否为目的节点。当第一节点为目的节点时,执行步骤403,当第一节点不为目的节点时,执行步骤404。
NoC上的每个节点都预先配置有自身在芯片上的位置信息,用于标明其具体位置,第一节点可以将第一节点在芯片上的位置信息与目的节点进行比较,若两者相同,说明第一节点是目的节点,若两者不同,说明第一节点不是目的节点。例如,以图1所示的NoC为例,假设第一节点在芯片上的位置信息指示第一节点的坐标位置为(5,7),即第一节点为图1中的节点P01,目的节点在芯片上的位置信息指示目的节点的坐标位置为(9,5),即目的节点为图1中的P02。由于坐标位置(5,7)和(9,5)不同,则第一节点不为目的节点。
步骤403、结束待传输信息的传输。
当第一节点为目的节点时,则说明待传输信息到达了传输的目的地,第一节点可以根据待传输信息进行相应的操作。例如,待传输信息为数据请求信息,则第一节点根据该数据请求信息生成数据请求响应信息,发送回源节点,该数据响应信息包括该数据请求信息所请求的数据。
步骤404、判断第一节点是否为故障环上的节点,当第一节点为故障环上的节点时,执行步骤405,当第一节点不为故障环上的节点时,执行步骤406。
实际应用中,NoC上的每个节点会实时或周期性检测其相邻节点的状态(通常是通过与相邻节点进行信息通信来检测),当某一节点检测到位于其正东(east)或正西(west)的相邻节点为故障节点或者非正常节点时,就将指示该相邻节点的状态(即故障、不安全或非正常)的状态信息发送至位于该某一节点的正南(south)和正北(north)的相邻节点;当某一节点检测到位于其正南和正北的相邻节点均满足边角条件时,就将指示该相邻节点的状态的状态信息发送位于该某一节点的正东或正西的相邻节点,该边角条件为:节点为故障节点、不安全节点和非正常节点中的任一种。这样一来,NoC上的每个节点都会接收到从自己周围的相邻节点发送的状态信息。假设当前节点(也即第一节点)为节点X,则具体的伪代码如下述所示:
Procedure Form-Ring/*current node is X*/
if(EX or WX is faulty,unsafe,or deactivated)
send status information to SX and NX
if(SX and NX is faulty,unsafe,or deactivated)
send status information to EX or WX
receive from all active neighbors their status information;
在本发明实施例中,每个节点根据接收到的状态信息可以确定自身是否为故障环上的边角上的节点,当该节点为故障环边角上的节点时,判断自身是否为参考(reference)节点,当该节点为参考节点时,向该参考节点所在故障环上所有的节点发送参考节点的位置信息,当任一节点接收到参考节点发送的位置信息时,可以确定该任一节点为故障环上的节点。
参考节点用于标识故障环,当一个位于边角的节点确定自身为参考节点时,会向其所在的故障环上的所有其他节点发送参考节点的位置信息,以便于该故障环上的所有节点都记录有该故障环上的参考节点的位置信息,相关技术中,通常将位于故障环东北角的节点确定为参考节点。当一个节点接收到参考节点发送的位置信息,可以确定自身是一个以该参考节点所在点为东北角的故障环上的一个节点,所以相关技术中,参考节点主要是用于使故障环上的节点确定自身是否位于故障环上。
本发明实施例中,参考节点可以有两个,该两个参考节点是位于故障环的四个顶点上的节点中,在同一对角线上的两个节点。例如,该两个参考节点可以为位于芯片东北角的节点和位于芯片西南角的节点,或者该两个参考节点可以为位于芯片东南角的节点和位于芯片西北角的节点。在本发明实施例中,参考节点不仅可以用于使故障环上的节点确定自身是否位于故障环上,还可以标识故障环在预设坐标系中的位置,即指示故障环的位置信息。通常的,网格型NoC的节点是将NoC的芯片的表面区域由多个横纵交错的互连线划分为多个形状、大小相同的网格,在互连线的每个交点处设置的节点;在本发明实施例中,在设置了预设坐标系后,节点可以分为实体节点和虚拟节点,如图5所示,基于该NoC的芯片建立预设坐标系,该预设坐标系的坐标系原点(0,0)可以为芯片的西南角(即左下角)的节点,该坐标系的x轴与芯片的行方向平行,y轴与芯片的列方向平行,实体节点是将芯片的表面区域由多个横纵交错的互连线划分为多个形状、大小相同的网格后,位于芯片上的实际存在的节点,本发明实施例中能够进行信息收发的节点全部是实体节点,如图5中芯片上处于该预设坐标系中第一象限中的节点,以及x轴和y轴正方向上的节点,也即是,在图5所示的坐标系中,实体节点的x坐标和y坐标均为非负数,即图5中,处于区域03中的节点;虚拟节点是将芯片的表面区域由多个横纵交错的互连线划分为多个形状、大小相同的网格后,位于坐标系中,但在芯片外的,互连线的交点处的点,是虚拟的节点,是实际不存在的节点,也即假想的节点,不能进行信息的收发,如图5中,处于区域03之外的区域中圆形虚线所标识的节点,也即是,在图5所示的坐标系中,虚拟节点的x坐标和y坐标至少存在一个为负数。
步骤405、判断待传输信息是否能够在故障环上双向绕行传输,其中,双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输。当待传输信息能够在故障环上双向绕行传输时,执行步骤407,当待传输信息不能在故障环上双向绕行传输时,执行步骤406。
如图6所示,在本发明实施例中,步骤405中判断待传输信息是否能够在故障环上双向绕行传输的过程,可以包括:
步骤4051、获取故障环的位置信息。
在本发明实施例中,故障环的位置信息可以包括:预设坐标系中两个参考节点的位置信息,该两个参考节点是位于故障环的四个顶点上的节点中,在同一对角线上的两个节点。在本发明实施例中,假设两个参考节点为故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于东北角的节点为第一参考节点,位于西南角的节点为第二参考节点。例如,图5中故障环L1的第一参考节点为R1,第二参考节点为R2,故障环L2的第一参考节点为R3,第二参考节点为R4。
根据步骤404可知,当故障环上的某一节点确定自身为参考节点时,会向该故障环上的所有节点发送其位置信息,故障环上的任一节点接收到参考节点发送的位置信息后会将该参考节点的位置信息记录,当一个故障环上的第一参考节点和第二参考节点均为实体节点时,故障环上的任一实体节点均可以获取两个参考节点发送的位置信息;当一个故障环上的第一参考节点和第二参考节点中存在一个实体节点和一个虚拟节点时,故障环上的任一实体节点仍可以接收到实体参考节点的位置信息和虚拟参考节点的位置信息,该实体参考节点的位置信息由实体参考节点发送,具体过程可以参考相关技术,但是在不同场景中,虚拟参考节点的位置信息的发送节点不同,当故障环上存在与虚拟参考节点相邻的实体节点时,虚拟参考节点的位置信息可以由该实体节点确定并发送;当故障环上不存在与虚拟参考节点相邻的实体节点时,虚拟参考节点的位置信息可以由实体参考节点确定并发送。其中,实体参考节点指得是故障环上既是参考节点又是实体节点的节点,在本发明实施例提供的上述预设坐标系中,如图5所示的坐标系,该实体参考节点的x,y坐标均为非负数,虚拟参考节点指的是故障环上既是参考节点又是虚拟节点的节点,在本发明实施例提供的上述预设坐标系中,如图5所示的坐标系,该虚拟参考节点的x,y坐标至少存在一个为负数。
当一个故障环上的两个参考节点中存在一个实体节点和一个虚拟节点时,本发明实施例以第一节点为例,对故障环上的任一实体节点获取虚拟参考节点的位置信息的过程进行说明,该过程可以包括:
A1、当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息。
实际应用中,当第一节点为位于所述芯片的边界上,且为故障环上的非边角节点,与该第一节点相邻的虚拟节点必然位于第一节点所在故障环上,如图5可知,第一节点A为位于所述芯片的边界上,且为故障环L1上的非边角节点,与第一节点A相邻的虚拟节点R2为故障环上的节点。
在本发明实施例中,位于故障环上且位于所述芯片的边界上的节点,可以代替虚拟参考节点来发送其位置信息。
以第一节点为例,假设第一节点为图5中故障环L1上的节点A,第一节点A的位置信息为:坐标位置为(0,4),第一节点A可以根据其位置信息确定故障环L1上与其相邻的虚拟节点R2的位置信息,也即坐标位置为(-1,4)。
需要说明的是,当第一节点位于芯片的边界上,且为故障环上的非边角节点,可以先确定该第一节点接收的参考节点的位置信息的个数,如果该第一节点接收了两个参考节点的位置信息,若该两个参考节点为实体参考节点,则说明故障环上不存在虚拟参考节点,若该两个参考节点包括一个实体参考节点和一个虚拟参考节点,则说明故障环上已经有一个位于故障环上且位于所述芯片的边界上的节点确定了虚拟参考节点的位置信息,因此,与第一节点相邻的虚拟节点,必然不是虚拟参考节点,只要第一节点接收到了2个参考节点的位置信息,即可停止执行确定故障环上与第一节点相邻的虚拟节点的位置信息的动作,以减少不必要的运算。
A2、根据虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点。
一方面,第一节点可以将该虚拟节点的位置信息和实体参考节点的位置信息进行比较,判断该虚拟节点与实体参考节点是否位于故障环的同一对角线上,若虚拟节点与实体参考节点位于故障环的同一对角线上,则确定该虚拟节点为虚拟参考节点,若虚拟节点与实体参考节点不位于故障环的同一对角线上,则确定该虚拟节点不为虚拟参考节点。可选的,第一节点可以通过分别比较虚拟节点与实体参考节点的横纵坐标来判断两者是否在同一对角线上,如果虚拟节点与实体参考节点的横坐标相同或者虚拟参考节点与实体参考节点的纵坐标相同,则确定两者不在同一对角线上;如果虚拟节点与实体参考节点的横坐标、纵坐标均不相同,则确定两者在同一对角线上。
例如,图5中故障环L1上的节点A可以获取故障环L1上的实体参考节点R1的位置信息:坐标位置为(3,8),实体参考节点R1的坐标位置(3,8)与虚拟节点R2的坐标位置(-1,4)的横坐标和纵坐标均不相同,则可以确定两者位于同一对角线上,虚拟节点R2为虚拟参考节点。
另一方面,由于第一节点已获取了参考节点的位置信息,第一节点可以参考现有技术的方法,来判断虚拟节点是否为参考节点,当其为参考节点时,可以确定其为虚拟参考节点,本发明实施例对此不做赘述。
A3、当虚拟节点为虚拟参考节点时,将虚拟节点的位置信息发送至故障环上的每个节点上。
例如,节点A在确定虚拟节点R2为虚拟参考节点,会将其位置信息:坐标位置(3,8)发送至故障环上的每个节点上。
A4、当虚拟节点不为虚拟参考节点时,将虚拟节点的位置信息发送至实体参考节点,以便于实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
实体参考节点可以接收到两个位于故障环上的虚拟节点的位置信息时,可以根据该两个虚拟节点的位置信息,确定虚拟参考节点的位置信息。此时,该虚拟参考节点位于坐标系的第三象限。
例如,当第一节点为图5中的故障环L3上的节点D时,其接收到实体参考节点C的位置信息:坐标位置(2,3)后,确定故障环上与节点D相邻的节点E不为虚拟参考节点,便将节点E的位置信息:坐标位置(2,-1)发送至实体参考节点C;当第一节点为图5中的故障环L3上的节点F时,其接收到实体参考节点C的位置信息:坐标位置(2,3)后,确定故障环上与节点F相邻的节点G不为虚拟参考节点,便将节点G的位置信息:坐标位置(-1,3)发送至实体参考节点C,由于实体参考节点、该两个虚拟节点以及虚拟参考节点分别为故障环的四个顶点,因此实体参考节点根据该两个虚拟节点的位置信息很容易算出虚拟参考节点的位置信息:坐标位置(-1,-1),实体参考节点可以将虚拟参考节点的位置信息:坐标位置(-1,-1)发送至故障环上的每个节点上。
实际应用中,也可以是故障环上的预设实体节点接收到两个位于故障环上的虚拟节点的位置信息时,根据该两个虚拟节点的位置信息以及预先接收的实体参考节点的位置信息,确定虚拟参考节点的位置信息,该预设实体节点可以是该故障环上的任一实体节点。此时,该虚拟参考节点位于坐标系的第三象限。
在本发明实施例中,由于故障环上的任一实体节点都能获取故障环的位置信息,从而能够确定故障环上每个节点的位置信息,并且该实体节点根据自身的位置信息及故障环的位置信息,可以确定自身在故障环的位置。
步骤4052、根据故障环的位置信息,确定故障环的类型,故障环的类型用于指示故障环在芯片上所形成的形状为封闭环形或非封闭环形。
其中,当故障环在芯片上所形成的形状为封闭环形(如图5中的故障环L2,其全部在芯片内,因此在芯片上的形状为封闭环形)时,其故障环的类型为正常环,该正常环上的任一节点均为位于芯片上的实体节点,实体节点为芯片上实际存在的节点,当故障环在芯片上所形成的形状为非封闭环形(如图5中的故障环L1,其一部分在芯片内,一部分在芯片外,因此在芯片上的形状是链状,也即非封闭环形)时,其故障环的类型根据其非封闭的边在芯片上的位置所确定。
假设如表1所示,两个参考节点为故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,第一参考节点为位于故障环东北角上的节点Pne,第二参考节点为位于故障环西南角的节点Psw,则根据故障环的位置信息,确定故障环的类型的过程可以包括:
当两个参考节点的位置信息指示两个参考节点在预设坐标系中的坐标位置在芯片的坐标范围内时,确定故障环的类型为正常环(normal ring);
当两个参考节点的位置信息指示第一参考节点Pne的x坐标(即x_Pne)为M时(即x_Pne=M),确定故障环的类型为东(E)型环,即E-ring;
当两个参考节点的位置信息指示第一参考节点Pne的y坐标为N时(即y_Pne=N),确定故障环的类型为北(N)型环,即N-ring;
当两个参考节点的位置信息指示第二参考节点Psw的x坐标为-1时(即x_Psw=-1),确定故障环的类型为西(W)型环,即W-ring;
当两个参考节点的位置信息指示第二参考节点Psw的y坐标为-1时(即y_Psw=-1),确定故障环的类型为南(S)型环,即S-ring;
当根据两个参考节点的位置信息确定该故障环既为E型环,又为N型环,也即该故障环属于E型环和N型环的交集,则确定故障环为东北(NE)型环,即NE-ring;
当根据两个参考节点的位置信息确定该故障环既为W型环,又为N型环,也即该故障环属于W型环和N型环的交集,则确定故障环为西北(NW)型环,即NW-ring;
当根据两个参考节点的位置信息确定该故障环既为S型环,又为W型环,也即该故障环属于S型环和W型环的交集,则确定故障环为西南(SW)型环,即SW-ring;
当根据两个参考节点的位置信息确定该故障环既为E型环,又为S型环,也即该故障环属于E型环和S型环的交集,则确定故障环为东南(SE)型环,即SE-ring。
其中,上述H型环中的H表示该故障环包括芯片的H边,该H包括:东、西、南、北、东北、西北、西南和东南的任一种。
表1
如图7所示,图7为表1中各种类型的故障环在芯片上的位置示意图。正常环全部位于芯片的内部,而除正常环之外的其他类型的故障环均存是一部分位于芯片的内部,另一部分位于芯片的外部。
传统的容错路由方法,只能识别出S-ring和非S-ring两种故障环类型,无法识别具体的故障环类型,而本发明实施例可以识别故障环的具体类型,提高识别的准确性,提高识别粒度。
步骤4053、根据故障环的类型,判断待传输信息是否能够在故障环上双向绕行传输。
根据步骤4052可知,故障环的类型可以包括:正常环,正常环上的任一节点均为位于芯片上的实体节点,实体节点为芯片上实际存在的节点,则如图8所示,根据故障环的类型,判断待传输信息是否能够在故障环上双向绕行传输的过程可以包括:
步骤4053a、检测故障环的类型是否为正常环。当故障环的类型不为正常环时,执行步骤4053b;当故障环的类型为正常环时,执行步骤4053c。
由图5或图7可以看出,当故障环的类型为正常环时,待传输信息才有双向绕行的可能,当故障环的类型不是正常环时,由于故障环在芯片上所形成的形状为非封闭环形,待传输信息不存在双向绕行的可能,因此,本发明实施例中需要通过检测故障环的类型是否为正常环,来确定待传输信息是否能在故障环上双向绕行传输。
步骤4053b、确定待传输信息不能在故障环上双向绕行传输。
步骤4053c、根据待传输信息的传输类型和故障环的位置信息,确定待传输信息在故障环上的备选传输路径。执行步骤4053d。
本发明实施例中,在故障环上的备选传输路径指的是待传输信息在故障环上传输时可以选择的传输路径。实际应用中,待传输信息传输至目的节点的路径可以有多种,当第一节点是故障环上的节点时,待传输信息需要传输到的下一节点可能是该故障环上的节点,也可能不是该故障环上的节点,如图9所示,假设第一节点为故障环L4上的节点P1,若目的节点为节点P2,则待传输信息的传输路径为r1,该传输路径r1不在故障环上,则备选传输路径的个数为0;若目的节点为节点P3,则待传输信息的传输路径分别为顺时针的路径r2和逆时针的路径r3,该传输路径r2和r3在故障环上,则备选传输路径的个数为2。
实际应用中,在步骤302之前,第一节点在接收到待传输信息时,会根据第一节点的位置信息和待传输信息中携带的目的节点的位置信息,预先确定待传输信息的传输类型,待传输信息的传输类型用于根据第一节点与目的节点的相对位置关系来确定传递的优先级。其中,传输类型包括:行优先(英文:row-first;简称:RF)类型、列优先(英文:column-first;简称:CF)类型和行传递(英文:row-only;简称:RO)类型,如图10所示的第一种情况,RF类型用于指示目的节点在第一节点的西北方向或者西南方向;如图10所示的第二种情况,CF类型用于指示目的节点与第一节点在同一列;如图10所示的第三种情况,RO类型用于指示目的节点与第一节点在同一行。
由步骤4051可知,故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,第一节点根据该两个参考节点的位置信息可以很容易算出故障环上各个节点的位置信息,由于第一节点确定了故障环上各个节点的位置信息,则可以计算出从第一节点沿顺时针方向和沿逆时针方向是否存在可以到达目的节点的路径。
步骤4053d、统计待传输信息的备选传输路径的个数。执行步骤4053e或步骤4053f。
步骤4053e、当备选传输路径的个数为2,确定待传输信息能够在故障环上双向绕行传输。
步骤4053f、当备选传输路径的个数为0,确定待传输信息不能在故障环上双向绕行传输。
步骤406、根据待传输信息的传输类型、第一节点的位置信息和目的节点的位置信息,将待传输信息传输至下一节点。
当第一节点不是故障环上的节点,根据待传输信息的传输类型、第一节点的位置信息和目的节点的位置信息,将待传输信息传输至下一节点,具体过程如下:
通常的,如果待传输信息的传输类型是RF类型,则沿着EW通道(即从东到西的方向)将待传输信息传输至下一节点;
如果待传输信息的传输类型是CF类型并且目的节点在第一节点的正南方,则沿着NS通道(即从北到南的方向)将待传输信息传输至下一节点;
如果待传输信息的传输类型是CF类型并且目的节点在第一节点的正南方,则沿着SN通道(即从南到北的方向)将待传输信息传输至下一节点;
如果待传输信息的传输类型是RO类型,则沿着WE通道(即从西到东的方向)将待传输信息传输至下一节点。
当第一节点是故障环上的节点,但待传输信息不能在故障环上双向绕行传输时,根据待传输信息的传输类型、第一节点的位置信息、目的节点的位置信息和故障环的位置信息,将待传输信息传输至下一节点,具体包括如下两方面:
第一方面,当第一节点是故障环上的节点,但不是正常故障环上的节点时,其传输过程可以参考现有技术,本发明实施例对此不做赘述。
第二方面,当第一节点是正常故障环上的节点,但不能双向绕行传输时:其传输过程可以参考现有技术,本发明实施例对此不做赘述。
当下一节点接收到待传输信息时,其执行的步骤的可以参考第一节点的步骤,本发明实施例对此不做赘述。
步骤407、在双向绕行传输所形成的路径中确定最短路径。执行步骤408。
由于第一节点已经确定了故障环的位置信息,相应的可以知道故障环上每个节点的位置信息,根据自身的位置信息,便可以知道自身在故障环上的位置,那么就可以计算出,待传输信息传输时的具体路径,第一节点在确定了双向绕行传输所形成的路径后,可以将两个路径中经过的节点最少的路径作为最短路径。
步骤408、基于最短路径,将待传输信息传输至下一节点。
本发明实施例中提供的容错路由方法,由于在待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径,并基于最短路径,将待传输信息传输至下一节点,因此,采用最短路径进行待传输信息的传输,避免了传输路径较长,传输时延较大的情况,提高了信息的传输效率。如图11和图12所示,图11是现有技术提供的一种待传输信息的传输路径示意图,图11分别绘制了两组传输路径,一组是从源节点S1到目的节点D1的传输路径,另一组是从源节点S2到目的节点D2的传输路径。图12是本发明实施例提供的一种待传输信息的传输路径示意图,图12分别绘制了两组传输路径,一组是从源节点S1到目的节点D1的传输路径,另一组是从源节点S2到目的节点D2的传输路径。可以明显看出,采用本发明实施例提供的容错路由算法,从源节点S1到目的节点D1的传输路径较现有技术的要短,从源节点S2到目的节点D2的传输路径也较现有技术要短,因此,有效减小了传输路径。
需要说明的是,本发明实施例提供的容错路由方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
本发明实施例提供一种容错路由装置,如图13所示,应用于片上互联网络NoC的第一节点,该第一节点可以为路由器等具有通信功能的装置,所述装置包括:
接收模块50,用于接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
判断模块51,用于当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
确定模块52,用于当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
传输模块53,用于基于所述最短路径,将所述待传输信息传输至下一节点。
综上所述,本发明实施例提供的容错路由装置,由于确定模块在判断模块判断得到待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径,并由传输模块基于最短路径,将待传输信息传输至下一节点,因此,采用最短路径进行待传输信息的传输,避免了传输路径较长,传输时延较大的情况,提高了信息的传输效率。
可选的,如图14所示,所述判断模块51包括:
获取子模块511,用于获取所述故障环的位置信息;
确定子模块512,用于根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
判断子模块513,用于根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
可选的,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
可选的,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述确定子模块512,用于:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
可选的,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述判断子模块513,用于:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,
所述确定模块52,还用于当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
所述判断模块51,还用于根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
所述传输模块53,还用于当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
所述传输模块53,还用于当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
综上所述,本发明实施例提供的容错路由装置,由于确定模块在判断模块判断得到待传输信息能够在故障环上双向绕行传输时,在双向绕行传输所形成的路径中确定最短路径,并由传输模块基于最短路径,将待传输信息传输至下一节点,因此,采用最短路径进行待传输信息的传输,避免了传输路径较长,传输时延较大的情况,提高了信息的传输效率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供一种片上网络,可以设置于服务器中,该片上网络可以包括第一节点,所述第一节点包括如图13所示的容错路由装置。
进一步的,所述片上网络NoC还可以包括:第二节点,所述第二节点位于所述芯片的边界上,且为故障环上的非边角节点,所述第二节点用于:
确定所述故障环上与所述第二节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
本发明实施例提供一种容错路由装置,该容错路由装置可以为路由器等具有通信功能的装置,如图15所示,包括至少一个处理器601(例如CPU),该处理器601用于执行上述容错路由方法,至少一个网络接口602或者其他通信接口,存储器603,和至少一个通信总线604,用于实现这些装置之间的连接通信。处理器601用于执行存储器603中存储的可执行模块,例如计算机程序。存储器603可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口602(可以是有线或者无线)实现该容错路由装置与至少一个其他装置之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
在一些实施方式中,存储器603存储了程序6031,程序6031可以被处理器601执行,这个程序6031包括:
接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
基于所述最短路径,将所述待传输信息传输至下一节点。
可选的,所述判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
获取所述故障环的位置信息;
根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
可选的,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
可选的,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述根据所述故障环的位置信息,确定所述故障环的类型,包括:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
可选的,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,在所述接收待传输信息之前,所述方法还包括:
当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
本发明实施例还提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由容错路由装置的处理器执行时,使得容错路由装置能够执行一种容错路由方法,所述方法包括:
接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
基于所述最短路径,将所述待传输信息传输至下一节点。
可选的,所述判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
获取所述故障环的位置信息;
根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
可选的,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
可选的,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述根据所述故障环的位置信息,确定所述故障环的类型,包括:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
可选的,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
可选的,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,在所述接收待传输信息之前,所述方法还包括:
当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理包括,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种容错路由方法,其特征在于,应用于片上互联网络NoC的第一节点,所述方法包括:
接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
基于所述最短路径,将所述待传输信息传输至下一节点。
2.根据权利要求1所述的方法,其特征在于,所述判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
获取所述故障环的位置信息;
根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
3.根据权利要求2所述的方法,其特征在于,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
4.根据权利要求3所述的方法,其特征在于,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述根据所述故障环的位置信息,确定所述故障环的类型,包括:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
5.根据权利要求2至4任一所述的方法,其特征在于,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输,包括:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
6.根据权利要求3所述的方法,其特征在于,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,在所述接收待传输信息之前,所述方法还包括:
当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
7.一种容错路由装置,其特征在于,应用于片上互联网络NoC的第一节点,所述装置包括:
接收模块,用于接收待传输信息,所述待传输信息包括:目的节点的位置信息,所述位置信息用于指示在所述NoC的芯片上的位置;
判断模块,用于当所述第一节点不是所述目的节点,且为故障环上的节点时,判断所述待传输信息是否能够在所述故障环上双向绕行传输,所述双向绕行传输包括沿顺时针方向传输和沿逆时针方向传输;
确定模块,用于当所述待传输信息能够在所述故障环上双向绕行传输时,在所述双向绕行传输所形成的路径中确定最短路径;
传输模块,用于基于所述最短路径,将所述待传输信息传输至下一节点。
8.根据权利要求7所述的装置,其特征在于,所述判断模块包括:
获取子模块,用于获取所述故障环的位置信息;
确定子模块,用于根据所述故障环的位置信息,确定所述故障环的类型,所述故障环的类型用于指示所述故障环在所述芯片上所形成的形状为封闭环形或非封闭环形;
判断子模块,用于根据所述故障环的类型,判断所述待传输信息是否能够在所述故障环上双向绕行传输。
9.根据权利要求8所述的装置,其特征在于,所述故障环的位置信息包括:预设坐标系中两个参考节点的位置信息,所述两个参考节点是位于所述故障环的四个顶点上的节点中,在同一对角线上的两个节点。
10.根据权利要求9所述的装置,其特征在于,所述芯片上形成有M×N个网格,所述预设坐标系的坐标系原点为所述芯片的西南角的节点,在所述预设坐标系上,所述芯片的坐标范围包括:x轴的坐标范围为0~M-1,y轴的坐标范围为0~N-1,M和N均为大于或等于2的整数,所述两个参考节点为所述故障环的四个顶点上的节点中,位于东北角和西南角的两个节点,其中,位于所述东北角的节点为第一参考节点,位于所述西南角的节点为第二参考节点;
所述确定子模块,用于:
当所述两个参考节点的位置信息指示所述两个参考节点在所述预设坐标系中的坐标位置在所述芯片的坐标范围内时,确定所述故障环的类型为正常环;
当所述两个参考节点的位置信息指示第一参考节点的x坐标为M时,确定所述故障环的类型为东型环;
当所述两个参考节点的位置信息指示第一参考节点的y坐标为N时,确定所述故障环的类型为北型环;
当所述两个参考节点的位置信息指示第二参考节点的x坐标为-1时,确定所述故障环的类型为西型环;
当所述两个参考节点的位置信息指示第二参考节点的y坐标为-1时,确定所述故障环的类型为南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为北型环,则确定所述故障环为东北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为西型环,又为北型环,则确定所述故障环为西北型环;
当根据所述两个参考节点的位置信息确定所述故障环既为南型环,又为西型环,则确定所述故障环为西南型环;
当根据所述两个参考节点的位置信息确定所述故障环既为东型环,又为南型环,则确定所述故障环为东南型环。
11.根据权利要求8至10任一所述的装置,其特征在于,所述故障环的类型包括:正常环,所述正常环上的任一节点均为位于所述芯片上的实体节点,所述实体节点为所述芯片上实际存在的节点,
所述判断子模块,用于:
检测所述故障环的类型是否为正常环;
当所述故障环的类型不为正常环时,确定所述待传输信息不能在所述故障环上双向绕行传输;
当所述故障环的类型为正常环时,根据所述待传输信息的传输类型和所述故障环的位置信息,确定所述待传输信息在所述故障环上的备选传输路径,所述待传输信息的传输类型用于反映所述第一节点与所述目的节点的相对位置关系;
统计所述待传输信息的备选传输路径的个数;
当所述备选传输路径的个数为2,确定所述待传输信息能够在所述故障环上双向绕行传输;
当所述备选传输路径的个数为0,确定所述待传输信息不能在所述故障环上双向绕行传输。
12.根据权利要求9所述的装置,其特征在于,所述两个参考节点包括一个实体参考节点和一个虚拟参考节点,
所述确定模块,还用于当所述第一节点位于所述芯片的边界上,且为故障环上的非边角节点,确定所述故障环上与所述第一节点相邻的虚拟节点的位置信息;
所述判断模块,还用于根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
所述传输模块,还用于当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
所述传输模块,还用于当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
13.一种片上网络,其特征在于,包括第一节点,所述第一节点包括权利要求7至12任一所述的容错路由装置。
14.根据权利要求13所述的片上网络,其特征在于,所述片上网络NoC还包括:第二节点,所述第二节点位于所述芯片的边界上,且为故障环上的非边角节点,所述第二节点用于:
确定所述故障环上与所述第二节点相邻的虚拟节点的位置信息;
根据所述虚拟节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
根据所述虚拟节点的位置信息和预先接收的实体参考节点的位置信息,判断所述虚拟节点是否为虚拟参考节点;
当所述虚拟节点为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述故障环上的每个节点上;
当所述虚拟节点不为虚拟参考节点时,将所述虚拟节点的位置信息发送至所述实体参考节点,以便于所述实体参考节点在收到两个虚拟节点的位置信息时,确定虚拟参考节点的位置信息。
CN201610129690.XA 2016-03-08 2016-03-08 容错路由方法、装置及片上网络 Active CN107171954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610129690.XA CN107171954B (zh) 2016-03-08 2016-03-08 容错路由方法、装置及片上网络

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610129690.XA CN107171954B (zh) 2016-03-08 2016-03-08 容错路由方法、装置及片上网络

Publications (2)

Publication Number Publication Date
CN107171954A true CN107171954A (zh) 2017-09-15
CN107171954B CN107171954B (zh) 2020-06-26

Family

ID=59848690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610129690.XA Active CN107171954B (zh) 2016-03-08 2016-03-08 容错路由方法、装置及片上网络

Country Status (1)

Country Link
CN (1) CN107171954B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108304343A (zh) * 2018-02-08 2018-07-20 深圳市德赛微电子技术有限公司 一种复杂soc的片上通信方法
CN110048943A (zh) * 2018-01-17 2019-07-23 清华大学 适用于神经形态电路的路由容错方法、装置、设备及存储介质
CN110336744A (zh) * 2019-08-09 2019-10-15 合肥工业大学 一种无线片上网络中区域故障感知的容错路由方法
CN113342719A (zh) * 2021-06-30 2021-09-03 珠海市一微半导体有限公司 一种运算加速单元及其运算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394343A (zh) * 2008-10-27 2009-03-25 电子科技大学 并行计算机系统通信中网络存在故障域时的路由方法
CN102387077A (zh) * 2011-10-19 2012-03-21 西安电子科技大学 具有容错功能的热量均衡片上网络路径选择方法
US8412980B2 (en) * 2010-06-04 2013-04-02 International Business Machines Corporation Fault tolerant stability critical execution checking using redundant execution pipelines
CN103248566A (zh) * 2013-04-24 2013-08-14 复旦大学 一种应用于片上网络的基于错误阻挡模型的容错方法和结构

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394343A (zh) * 2008-10-27 2009-03-25 电子科技大学 并行计算机系统通信中网络存在故障域时的路由方法
US8412980B2 (en) * 2010-06-04 2013-04-02 International Business Machines Corporation Fault tolerant stability critical execution checking using redundant execution pipelines
CN102387077A (zh) * 2011-10-19 2012-03-21 西安电子科技大学 具有容错功能的热量均衡片上网络路径选择方法
CN102387077B (zh) * 2011-10-19 2014-02-12 西安电子科技大学 具有容错功能的热量均衡片上网络路径选择方法
CN103248566A (zh) * 2013-04-24 2013-08-14 复旦大学 一种应用于片上网络的基于错误阻挡模型的容错方法和结构

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110048943A (zh) * 2018-01-17 2019-07-23 清华大学 适用于神经形态电路的路由容错方法、装置、设备及存储介质
CN108304343A (zh) * 2018-02-08 2018-07-20 深圳市德赛微电子技术有限公司 一种复杂soc的片上通信方法
CN110336744A (zh) * 2019-08-09 2019-10-15 合肥工业大学 一种无线片上网络中区域故障感知的容错路由方法
CN110336744B (zh) * 2019-08-09 2021-05-04 合肥工业大学 一种无线片上网络中区域故障感知的容错路由方法
CN113342719A (zh) * 2021-06-30 2021-09-03 珠海市一微半导体有限公司 一种运算加速单元及其运算方法

Also Published As

Publication number Publication date
CN107171954B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN104539547B (zh) 一种用于三维集成电路片上网络的路由器及路由方法
CN107171954A (zh) 容错路由方法、装置及片上网络
US9785732B2 (en) Verification low power collateral generation
Liu et al. Low cost fault-tolerant routing algorithm for networks-on-chip
Killian et al. Smart reliable network-on-chip
US9143338B2 (en) Position discovery by detecting irregularities in a network topology
US11176297B2 (en) Detection and isolation of faults to prevent propagation of faults in a resilient system
CN103248566B (zh) 一种应用于片上网络的基于错误阻挡模型的容错方法和结构
WO2008128836A2 (en) Dynamically rerouting node traffic on a parallel computer system
CN109587048A (zh) 一种带有均衡策略的无虚通道容错路由算法
CN104579951B (zh) 片上网络中新颖的故障与拥塞模型下的容错方法
CN102629912B (zh) 面向无缓冲片上网络的容错偏转路由方法及装置
CN105577539B (zh) 一种面向非规则三维集成电路片上网络的路由方法及系统
Neishaburi et al. NISHA: A fault-tolerant NoC router enabling deadlock-free Interconnection of Subnets in Hierarchical Architectures
Silveira et al. Scenario preprocessing approach for the reconfiguration of fault-tolerant NoC-based MPSoCs
CN102904807A (zh) 一种通过数据分割传输实现容错可重构片上网络的方法
Coelho et al. A soft-error resilient route computation unit for 3D networks-on-chips
CN104270279B (zh) 一种片上网络非法路径故障在线检错电路
Lin et al. ACO-based fault-aware routing algorithm for Network-on-Chip systems
Moazzeni et al. Improving the reliability of Byzantine fault‐tolerant distributed software‐defined networks
Khichar et al. Fault aware adaptive routing algorithm for mesh based NoCs
Yoneda et al. Network-on-Chip based multiple-core centralized ECUs for safety-critical automotive applications
Kumar et al. Reconfigurable distributed fault tolerant routing algorithm for on-chip networks
Jiang et al. Notice of Violation of IEEE Publication Principles: Study of fault-tolerant routing algorithm of NoC based on 2D-Mesh topology
Rambo et al. Failure analysis of a network-on-chip for real-time mixed-critical systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211222

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.