CN111817952B - 基于mesh结构的高容错低时延路由算法 - Google Patents
基于mesh结构的高容错低时延路由算法 Download PDFInfo
- Publication number
- CN111817952B CN111817952B CN201910965218.3A CN201910965218A CN111817952B CN 111817952 B CN111817952 B CN 111817952B CN 201910965218 A CN201910965218 A CN 201910965218A CN 111817952 B CN111817952 B CN 111817952B
- Authority
- CN
- China
- Prior art keywords
- node
- routing
- nodes
- data
- fault
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于mesh结构的高容错低时延路由算法,包括有以下步骤:S1:确定节点分类规则及表示方式;S2:规定基本路由方法;S3:根据节点状态对节点进行标记;S4:路由决策规则,本发明涉及无线通信技术领域。本发明,解决了容错路由算法无法同时满足高容错率、低延时等片上网络的路由需求的问题。
Description
技术领域
本发明涉及无线通信领域,具体涉及一种2D-mesh结构中的片上网络路由方法,每个节点通过记录周围节点的状态而更新自身状态信息,根据每个节点的状态和当前节点与目的节点的位置选择最优路径。
背景技术
片上网络NoC由传统的片上系统SoC发展而来,是片上系统的一种新的设计方法。近年来,随着集成电路制造工艺技术、封装与测试技术等微电子相关技术的快速发展,芯片制造工艺不断提升,芯片体积不断缩小,功能更加强大。但是,由于受到功率上限、器件可靠性及自然老化等因素的限制,以提升单一芯片性能的方式来提升系统性能的方法变得难以实现。片上网络由此应运而生。传统的片上系统将整个系统集中于一个芯片,有体积小,集成度高等优点。而片上网络是在片上系统的基础之上发展而来,以解决传统的片上系统可扩展性差、通信效率较低、难以采用单一时钟同步等问题。Mesh组网技术就是NoC片上网络的一种典型的应用情形。2D-mesh拓扑结构是一张由点构成的m×n二维路由表。每个节点具有唯一的地址,可与其相邻的节点进行通信。当路由表完整且无故障节点时,采用X-Y确定性路由方法传递信息,而一旦传递路径上有节点发生故障,数据就无法到达目的节点。因此,在实际应用中,必须设计一种基于节点状态而确定路径的动态路由算法来实现容错路由,以提升片上网络的稳定性。目前主要的容错算法有:洪泛算法、故障区域算法等。洪泛算法采用将数据分组沿多个方向随机分发的策略以实现容错,该算法功率较高,但具有高延迟、功耗大的缺点。故障区域算法通过生成故障区域,并采取绕开故障区域传递的方法,同时利用转弯限制避免死锁,此算法功耗较低,但节点利用率较低,在数据传输量较大的情况下易发生网络阻塞。
发明内容
为了解决容错路由算法无法同时满足高容错率、低延时等片上网络的路由需求的问题,本发明的目的是提供基于mesh结构的高容错低时延路由算法。
为了实现上述目的,本发明采用如下技术方案:基于mesh结构的高容错低时延路由算法,包括有以下步骤:
S1:确定节点分类规则及表示方式;
S2:规定基本路由方法;
S3:根据节点状态对节点进行标记;
S4:路由决策规则。
优选的,所述S1中,节点分为初始节点、生成节点,初始节点包括源节点、目的节点和故障节点,源节点为m×n 2D-mesh路由矩阵中数据传输的起始节点,在路由过程中不会被标记为其他类型的节点;目的节点为m×n 2D-mesh路由矩阵中数据传输所要到达的节点,在路由过程中不会被标记为其他类型的节点;故障节点为m×n 2D-mesh路由矩阵中遭到损坏而不能正常行使数据收发功能的节点;生成节点包括无效节点、不可达节点和当前节点,无效节点为路由矩阵中能正常行使功能,但由于其与目的节点及故障节点特殊的位置关系,在正常情况下将其等效于故障节点处理;不可达节点为能正常行使功能,但由于其与目的节点及故障节点特殊的位置关系,将其等效于故障节点处理;当前节点为在路由过程中当前状态下存储所传数据的节点;在路由矩阵中,每个节点都具有唯一的二维坐标地址,将任一节点表示为N[x,y]。
优选的,所述S2中,路由包括 X-Y路由、X方向路由、Y-X路由和Y方向路由,规定X-Y路由方法,先比较当前节点与目的节点的横坐标,当差值不为零时,将数据沿能使横坐标差值的绝对值减小的方向路由,当横坐标差值的绝对值为零时,比较当前节点与目的节点的纵坐标,将数据沿能使纵坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;规定X方向路由方法,将数据沿能使当前节点与目的节点横坐标差值的绝对值减小的方向路由,直至到达目的节点;规定Y-X路由方法,先比较当前节点与目的节点的纵坐标,当差值不为零时,将数据沿能使纵坐标差值的绝对值减小的方向路由。当纵坐标差值的绝对值为零时,比较当前节点与目的节点的横坐标,将数据沿能使横坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;规定Y方向路由方法,将数据沿能使当前节点与目的节点纵坐标差值的绝对值减小的方向路由,直至到达目的节点。
优选的,所述S3中,节点进行标记步骤为,
步骤一:对m×n路由矩阵进行初始化:
每个节点向其相邻的四个节点发送一段包含其位置信息的数据R,同时每个节点在收到数据后向数据发出者回复一段包含自身位置信息的数据A,节点在发出数据R之后开始计时,若在T时间内仍未受到相邻节点回复的数据,则将该邻节点标记为故障节点,通过此方法,完成对路由矩阵中故障节点的排查和标记,并使得每个节点获取其四个相邻节点的工作状态信息;
步骤二:根据路由表中源节点、目的节点、故障节点的位置关系标记无效节点及不可达节点:如果某一节点靠近目的节点方向的两个相邻节点均为故障节点,将此类节点标记为无效节点,在同行或者同列的情形中,若某节点靠近目的节点的方向为非正常节点,则将该节点标记为无效节点;若节点有三个相邻节点为故障节点且唯一可进行路由的方向远离目的节点,则将该节点标记为不可达节点,在节点标记和路由过程中,不可达节点始终等效为故障节点处理,且不可达节点优先级高于无效节点,即同一节点既被标记为无效节点,又被标记为不可达节点,将该节点当做不可达节点处理;规定标记无效节点及不可达节点时,从目的节点开始,逐行逐列向源节点方向进行标记直至路由矩阵边界;
步骤三:根据已有的标记信息,确定当前节点禁行信息,具体规则如下:
根据当前节点的相邻节点的工作状态,确定当前节点禁行信息:
其东向相邻节点为非正常节点,则该节点东向禁行;
其西向相邻节点为非正常节点,则该节点西向禁行;
其南向相邻节点为非正常节点,则该节点南向禁行;
其北向相邻节点为非正常节点,则该节点北向禁行;
当有一个以上相邻节点为非正常节点时规则同上;
对于边界节点,将其所处边界方向标记为禁行方向;
在路由过程中,首先每进行一步路由,当前节点就更新一次禁行信息,禁止当前节点向禁行方向路由。
优选的,所述S4中,以目的节点位于源节点东北方为例,包括有以下步骤:
1.判断当前节点与目的节点的位置关系。
2.根据不同的位置关系,分为以下情形:
A,当目的节点与当前节点非同行非同列时:
首先进行X方向路由,成功后切换为Y方向路由直至到达目的节点X路由过程中遭遇非正常节点则切换为Y方向路由,Y路由过程中遭遇非正常节点则切换为X方向路由,若某节点两方向均路由失败,则按当前节点为源节点和非源节点分情况处理;
A.1,当前节点为源节点时:
若西方为正常节点,则向西进行路由直至北方节点为正常节点时,切换为Y-X路由,若Y-X路由失败则返回步骤1重新进行判断,若向西路由过程中遭遇故障节点且北方仍未非正常节点,则判断无可达路径,路由结束;
若西方非正常节点,且南方为非正常节点时,判断目的节点不可达,当南方为正常节点时,则向南进行路由直至东方节点为正常节点时,切换为X-Y路由,若X-Y路由失败则返回步骤1重新进行判断,若向南路由过程中遭遇故障节点且东方仍未非正常节点,则判断无可达路径,路由结束;
A.2,当前节点非源节点时:
若西方为正常节点,则向西进行路由直至北方节点为正常节点:此时若西方节点为故障节点,则切换为Y-X路由,否则根据北向和西向节点的是否接受过数据进行选择,若北方节点接收过数据继续向西路由,若北方节点未接收过数据,则切换为Y-X路由,若Y-X路由失败则返回步骤1重新进行判断,若向西路由过程中遭遇故障节点且北方仍为非正常节点,则判断目的节点无法到达,路由结束;
若西方为非正常节点,南方也为非正常节点,判断目的节点无法到达,路由结束,若南方为正常节点,则向南进行路由直至东方节点为正常节点:此时若南方节点为故障节点,则切换为X-Y路由,否则根据南向和东向节点的是否接受过数据进行选择,若东方节点接收过数据继续向南路由,若东方节点未接收过数据,则切换为X-Y路由,若X-Y路由失败则返回步骤1重新进行判断,若向南路由过程中遭遇故障节点且东方仍为非正常节点,则判断目的节点无法到达,路由结束;
B,当目的节点与当前节点同行时:
先进行X方向路由,遭遇故障节点时,若北方为非故障节点,则向北进行路由直至X方向路由可行,切换为X-Y路由,路由转变为目的节点位于源节点东南方向的情形,若路由失败则退回同行节点向南进行路由直至X方向路由可行,再切换为X-Y路由,路由转变为另一种目的节点位于源节点东北方的情形,若再次路由失败,则判断无可达路径,路由结束;
C,当目的节点与当前节点同列时:
先进行Y方向路由,遭遇故障节点时,若东方为非故障节点,则向东进行路由直至Y方向路由可行,再切换为Y-X路由,路由转变为目的节点位于源节点西南方向的情形,若路由失败则退回同列节点向西进行路由直至Y方向路由可行,再切换为Y-X路由,路由转变为另一种目的节点位于源节点东北方的情形,若再次路由失败,则判断无可达路径,路由结束。
与现有技术相比,本发明实现的有益效果:本发明中,根据路由矩阵中不同节点的位置关系生成无效节点及不可达节点,有效地降低路由延时。若某一节点靠近目的节点方向的相邻节点均为故障节点,则此时无论沿X方向还是沿Y方向路由均会遭遇故障节点,因此若数据由此节点进行路由,必然会向远离目的节点的方向传输,从而增加延时,故将此类节点标记为无效节点,不可达节点同理,在路由过程中避开无效节点及不可达节点,可有效降低延时;本发明中,在标记节点及路由过程中,针对不同情况采取不同的决策方案,例如标记无效节点时同行或同列的情形中,若某节点靠近目的节点的方向为非正常节点,则将该节点标记为无效节点,更大程度地减小了延时,并得到超高的容错率。
本发明,采用生成无效节点、不可达节点等方法降低时延,并在不同的路由情形下对非正常节点采取不同的处理方式,大大提高了算法的容错率,并且保证了非故障节点的利用率。
附图说明
以下结合附图和具体实施方式来进一步详细说明本发明:
图1为本发明的初始路由矩阵的示意图;
图2为本发明的路由路线的示意图;
图3为本发明的仅考虑故障节点的路由路线的示意图;
图4为本发明的无效节点生成流程的示意图;
图5为本发明的不可达节点生成流程的示意图;
图6为本发明的非同行非同列路由流程的示意图;
图7为本发明的同列路由流程的示意图;
图8为本发明的同行路由流程的示意图;
图9为本发明的平均路由步数对比的示意图;
图10为本发明的路由成功率对比的示意图。
图1至图3中,正:表示正常节点,源:表示源节点,目:表示目的节点,故:表示故障节点,无:表示无效节点,不:表示不可达节点,图4至图8为算法执行流程图,图9和图10中无效节点和不可达节点统称为useless node。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
请参阅图1至图10。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
在如图1所示的6×6 2D-mesh路由矩阵中,除边界上的节点,每个节点均有四个相邻节点,分别位于东、西、南、北四个方向,
算法的实现包括以下步骤:
S1:
确定节点分类规则及表示方式:
1.1初始节点:
源节点:6×6 2D-mesh路由矩阵中数据传输的起始节点,在路由过程中不会被标记为其他类型的节点;
目的节点:6×6 2D-mesh路由矩阵中数据传输所要到达的节点,在路由过程中不会被标记为其他类型的节点;
故障节点:6×6 2D-mesh路由矩阵中遭到损坏而不能正常行使数据收发功能的节点。
1.2生成节点:
无效节点:路由矩阵中能正常行使功能,但由于其与目的节点及故障节点特殊的位置关系,在正常情况下将其等效于故障节点处理;
不可达节点:能正常行使功能,但由于其与目的节点及故障节点特殊的位置关系,将其等效于故障节点处理;
当前节点:在路由过程中当前状态下存储所传数据的节点;
1.3 在路由矩阵中,每个节点都具有唯一的二维坐标地址,将源节点表示为S[5,1],目的节点表示为D[1,5],其余任一节点表示为N[x,y];
1.4最大延时T:判断一个节点是否为故障节点的标志:若某节点与其他节点进行数据交换的时间超过T,则将其视为故障节点;
S2:
规定基本路由方法:
2.1 1 X-Y路由:
先比较当前节点与目的节点的横坐标,当差值不为零时,将数据沿能使横坐标差值的绝对值减小的方向路由。当横坐标差值的绝对值为零时,比较当前节点与目的节点的纵坐标,将数据沿能使纵坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束。
2.1.2 X方向路由:
将数据沿能使当前节点与目的节点横坐标差值的绝对值减小的方向路由,直至到达目的节点;
2.2.1 Y-X路由:
先比较当前节点与目的节点的纵坐标,当差值不为零时,将数据沿能使纵坐标差值的绝对值减小的方向路由,当纵坐标差值的绝对值为零时,比较当前节点与目的节点的横坐标,将数据沿能使横坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;
2.2.2 Y方向路由
将数据沿能使当前节点与目的节点纵坐标差值的绝对值减小的方向路由,直至到达目的节点;
S3:
根据节点状态对节点进行标记,包括以下子步骤:
3.1对6×6路由矩阵进行初始化:
每个节点向其相邻的四个节点发送一段包含其位置信息的数据R,同时每个节点在收到数据后向数据发出者回复一段包含自身位置信息的数据A,节点在发出数据R之后开始计时,若在T时间内仍未受到相邻节点回复的数据,则将该邻节点标记为故障节点,通过此方法,将坐标为[1,0],[1,4],[2,1],[3,3],[4,1],[4,4],[5,2],[5,5]的节点标记为故障节点,如图1所示;
3.2 根据路由表中源节点、目的节点、故障节点的位置关系标记无效节点及不可达节点,包括以下子步骤:
3.2.1 如果某一节点靠近目的节点方向的两个相邻节点均为故障节点,将此类节点标记为无效节点,在同行或者同列的情形中,若某节点靠近目的节点的方向为非正常节点,则将该节点标记为无效节点,据此方法,将坐标为[1,1],[1,2],[1,3],[2,0],[4,3],[5,3],[5,4]的节点标记为无效节点;
3.2.2 若节点有三个相邻节点为故障节点且唯一可进行路由的方向远离目的节点,则将该节点标记为不可达节点,据此方法,将坐标为[2,0],[5,4]的节点标记为不可达节点,如图2所示;
3.3根据已有的标记信息,确定当前节点禁行信息,具体规则如下:
根据当前节点的相邻节点的工作状态,确定当前节点禁行信息:
其东向相邻节点为非正常节点,则该节点东向禁行;
其西向相邻节点为非正常节点,则该节点西向禁行;
其南向相邻节点为非正常节点,则该节点南向禁行;
其北向相邻节点为非正常节点,则该节点北向禁行;
当有一个以上相邻节点为非正常节点时规则同上;
对于边界节点,将其所处边界方向标记为禁行方向,例如,将路由矩阵北方边界节点北向禁行,将路由矩阵东北脚的节点东北向均禁行;
在路由过程中,首先每进行一步路由,当前节点就更新一次禁行信息,禁止当前节点向禁行方向路由;
S4:
路由过程如图2所示:
源节点位于目的节点东北方,非同行非同列;
根据情形A决策规则,由源节点S[5,1]出发进行X方向路由,遭遇故障节点N[5,2],切换为Y方向路由,Y方向遭遇故障节点N[4,1],两方向均路由失败,且当前节点为源节点,根据情形A.1决策规则,按如下方式路由:
西方为正常节点,则向西进行路由至节点N[5,0],此时北方节点[4,0]为正常节点,切换为Y-X路由;
按Y-X路由方式进行路由,数据从节点N[5,0]向北路由,经节点N[4,0]传递至N[3,0],遭遇北向不可达节点N[2,0],根据情形A决策规则,采用X方向路由;
由节点N[3,0]出发进行X方向路由,经节点N[3,1],路由至节点N[3,2],遭遇故障节点N[3,3],根据情形A决策规则,切换为Y方向路由,向北路由至节点N[2,2],遭遇无效节点N[1,2],再由情形A决策规则,切换为X方向路由,经节点N[2,3],N[2,4]路由至与目的节点同列节点N[2,5];
由节点N[2,5]出发进行Y方向路由,到达目的节点D[1,5]。路由成功,共进行了10步路由;
如上文所述,本发明的一大优点是通过生成无效节点及不可达节点,从而有效降低路由时延。
图3为不考虑无效节点和不可达节点时的路由图,路由过程如下:
根据情形A决策规则,由源节点S[5,1]出发进行X方向路由,遭遇故障节点N[5,2],切换为Y方向路由,Y方向遭遇故障节点N[4,1],两方向均路由失败,且当前节点为源节点,根据情形A.1决策规则,西方为正常节点,则向西进行路由至节点N[5,0],此时北方节点[4,0]为正常节点,根据情形A.1决策规则,切换为Y-X路由。
按Y-X路由方式进行路由,数据从节点N[5,0]向北路由,经节点N[4,0],N[3,0],传递至节点N[2,0],遭遇故障节点,向北向东均路由失败,根据情形A.2决策规则,向南路由至节点N[3,0],切换为X-Y路由方法;
由节点N[3,0],按照X-Y路由方法,经节点N[3,1]路由至节点N[3,2],遭遇故障节点N[3,3],根据情形A决策规则,切换为Y方向路由,经节点N[2,2]路由至节点N[1,2],此时当前节点与目的节点纵坐标差值为0,属于同行的情况。根据情形B决策规则,先进行X方向路由,到达节点N[1,3],遭遇故障节点N[1,4],此时北方为正常节点,向北路由至节点N[0,3],再切换为X-Y路由方法,由节点N[0,3 ]经节点N[0,4],N[0,5],到达目的节点D[1,5],路由成功;
如图3所示,在只考虑故障节点的情况下,共进行了14步路由;
图8图9则展现了在无效和不可达节点的引入对平均路由步数和路由成功率的影响。在实验中,我们使用8*8大小的mesh网络,通过随机设置源节点、目的节点与故障节点,采用完全相同的路由决策,分别对考虑无效和不可达节点的路由状况和仅考虑故障节点的路由状况进行了40000次重复实验后的实验结果。
如图8所示,随着网络中故障率的上升,无论是否考虑无效节点与不可达节点,路由所需的跳步均会有所增加。但是可以明显地看出,在所有故障率的情况下,考虑无效节点与目的节点进行路由所需的步数,始终低于仅考虑故障节点时所需的路由步数。而在网络传输中,路由所需的跳步正是产生传输时延的主要问题之一,所以本算法所引入的无效节点与不可达节点概念有助于减少网络传输时延。图9则说明了,在引入无效节点与目的节点的情况下,有助于提高算法的路由成功率,进一步证实了引入无效节点的必要性。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (1)
1.基于mesh结构的高容错低时延路由算法,其特征在于,包括有以下步骤:
S1:确定节点分类规则及表示方式;
S2:规定基本路由方法;
S3:根据节点状态对节点进行标记;
S4:路由决策规则;
所述S1中,节点分为初始节点、生成节点,初始节点包括源节点、目的节点和故障节点,源节点为m×n 2D-mesh路由矩阵中数据传输的起始节点,在路由过程中不会被标记为其他类型的节点;目的节点为m×n 2D-mesh路由矩阵中数据传输所要到达的节点,在路由过程中不会被标记为其他类型的节点;故障节点为m×n 2D-mesh路由矩阵中遭到损坏而不能正常行使数据收发功能的节点;生成节点包括无效节点、不可达节点和当前节点,无效节点为路由矩阵中能正常行使功能的节点,但由于其与目的节点及故障节点的位置关系,将其等效于故障节点处理;不可达节点为能正常行使功能的节点,但由于其与目的节点及故障节点的位置关系,将其等效于故障节点处理;当前节点为在路由过程中当前状态下存储所传数据的节点;在路由矩阵中,每个节点都具有唯一的二维坐标地址,将任一节点表示为N[x,y];
所述S2中,路由包括X方向路由、Y方向路由、X-Y路由、Y-X路由,规定X方向路由方法,将数据沿能使当前节点与目的节点东西坐标差值的绝对值减小的方向路由,直至数据与目的节点在东西方向的坐标一致,即同一列;规定Y方向路由方法,将数据沿能使当前节点与目的节点南北方向坐标差值的绝对值减小的方向路由,直至数据与目的节点南北方向的坐标一致,即同一行;规定X-Y路由方法,先比较当前节点与目的节点的东西方向坐标,当差值不为零时,将数据沿能使东西方向坐标差值的绝对值减小的方向路由,当东西方向坐标差值的绝对值为零时,比较当前节点与目的节点的南北方向坐标,将数据沿能使南北方向坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;规定Y-X路由方法,先比较当前节点与目的节点的南北方向坐标,当差值不为零时,将数据沿能使南北方向坐标差值的绝对值减小的方向路由,当南北方向坐标差值的绝对值为零时,比较当前节点与目的节点的东西方向坐标,将数据沿能使东西方向坐标差值的绝对值减小的方向路由直至到达目的节点,路由结束;
所述S3中,节点进行标记步骤为,
步骤一:对m×n路由矩阵进行初始化:
每个节点向其相邻的四个节点发送一段包含其位置信息的数据R,同时每个节点在收到数据R后向数据R发出者回复一段包含自身位置信息的数据A,节点在发出数据R之后开始计时,若在T时间内仍未受到相邻节点回复的数据A,则将该邻节点标记为故障节点,通过此方法,完成对路由矩阵中故障节点的排查和标记,并使得每个节点获取其四个相邻节点的工作状态信息;
步骤二:根据路由表中源节点、目的节点、故障节点的位置关系标记无效节点及不可达节点:如果某一节点靠近目的节点方向的两个相邻节点均为故障节点,将此类节点标记为无效节点,如果一个节点与目的节点在同行或同列,若该节点靠近目的节点的方向为故障节点,则将该节点标记为无效节点;若节点有三个相邻节点为故障节点且唯一可进行路由的方向远离目的节点,则将该节点标记为不可达节点,在节点标记和路由过程中,不可达节点始终等效为故障节点处理,且不可达节点优先级高于无效节点,即同一节点既被标记为无效节点,又被标记为不可达节点,将该节点当做不可达节点处理;规定标记无效节点及不可达节点时,从目的节点开始,逐行逐列向源节点方向进行标记直至路由矩阵边界;
步骤三:根据已有的标记信息,确定当前节点禁行信息,具体规则如下:
根据当前节点的相邻节点的工作状态,确定当前节点禁行信息:
其东向相邻节点为故障节点,则该节点东向禁行;
其西向相邻节点为故障节点,则该节点西向禁行;
其南向相邻节点为故障节点,则该节点南向禁行;
其北向相邻节点为故障节点,则该节点北向禁行;
当任何节点一个以上相邻节点为不可达节点时规则同上;
对于边界节点,将其所处边界方向标记为禁行方向;
在路由过程中,首先每进行一步路由,当前节点就更新一次禁行信息,禁止当前节点向禁行方向路由;
所述S4中,当目的节点位于源节点东北方,包括有以下步骤:
5.1判断当前节点与目的节点的位置关系;
5.2根据不同的位置关系,分为以下情形:
A,当目的节点与当前节点非同行非同列时:
首先进行X方向路由,数据到达目的节点同一列后切换为Y方向路由,若数据到达目的节点X方向路由过程中遭遇故障节点则切换为Y方向路由,若Y方向路由过程中遭遇故障节点则切换为X方向路由,若当前节点两方向均路由失败,则按当前节点为源节点和非源节点分情况处理;
A.1,当前节点为源节点时:
若西向相邻节点为正常节点,则数据向西进行路由直至北向相邻节点为正常节点后,切换为Y-X路由,若Y-X路由失败则返回5.1重新进行判断,若数据向西路由过程中遭遇故障节点且北向相邻节点仍为故障节点,则判断无可达路径,路由结束;
若西向相邻节点是故障节点,且南向相邻节点为故障节点时,判断目的节点不可达,当南向相邻节点为正常节点时,则数据向南进行路由直至东向相邻节点为正常节点时,切换为X-Y路由,若X-Y路由失败则返回5.1重新进行判断,若数据向南路由过程中遭遇故障节点且东向相邻节点仍为故障节点,则判断无可达路径,路由结束;
A.2,当前节点非源节点时:
若西向相邻节点为正常节点,则数据向西进行路由直至北向相邻节点为正常节点,此时若当前西向相邻节点为故障节点,则切换为Y-X路由,若当前西向相邻节点为正常节点,则根据北向相邻节点和西向相邻节点是否接收过数据进行选择,若北向相邻节点接收过数据继续向西路由,若北向相邻节点未接收过数据,则切换为Y-X路由,若Y-X路由失败则返回5.1重新进行判断,若数据向西路由过程中遭遇故障节点且北向相邻节点仍为故障节点,则判断目的节点无法到达,路由结束;
若西向相邻节点为故障节点,南向相邻节点也为故障节点,判断目的节点无法到达,路由结束,若南向相邻节点为正常节点,则数据向南进行路由直至东向相邻节点为正常节点,此时若当前南向相邻节点为故障节点,则切换为X-Y路由,若当前南向相邻节点为正常节点,则根据南向相邻节点和东向相邻节点是否接收过数据进行选择,若东向相邻节点接收过数据继续向南路由,若东向相邻节点未接收过数据,则切换为X-Y路由,若X-Y路由失败则返回5.1重新进行判断,若数据向南路由过程中遭遇故障节点且东向相邻节点仍为故障节点,则判断目的节点无法到达,路由结束;
B,当目的节点与当前节点同行时:
数据先进行X方向路由,遭遇故障节点时,若北向相邻节点为正常节点,则数据向北进行路由直至X方向路由可行,并切换为X-Y路由,在切换后,由于之前向北路由,此时目的节点位于当前节点的东南方向,因此返回5.1,并按目的节点位于源节点东南方向的情形路由,若路由失败则将数据南向路由至与目的节点同行的节点,并向南进行路由直至X方向路由可行,再切换为X-Y路由,返回5.1并按照目的节点位于源节点东北方的情形路由,若再次路由失败,则判断无可达路径,路由结束;
C,当目的节点与当前节点同列时:
数据先进行Y方向路由,遭遇故障节点时,若东向相邻节点为正常节点,则数据向东进行路由直至Y方向路由可行,再切换为Y-X路由,在切换后,由于之前向东路由,此时目的节点位于当前节点的西南方向,因此返回5.1,并按照目的节点位于源节点西南方向的情形路由,若路由失败则数据向西路由至与目的节点同列节点,并向西进行路由直至Y方向路由可行,再切换为Y-X路由,返回5.1并按照目的节点位于源节点东北方的情形路由,若再次路由失败,则判断无可达路径,路由结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965218.3A CN111817952B (zh) | 2019-10-11 | 2019-10-11 | 基于mesh结构的高容错低时延路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910965218.3A CN111817952B (zh) | 2019-10-11 | 2019-10-11 | 基于mesh结构的高容错低时延路由算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817952A CN111817952A (zh) | 2020-10-23 |
CN111817952B true CN111817952B (zh) | 2021-10-08 |
Family
ID=72844072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910965218.3A Active CN111817952B (zh) | 2019-10-11 | 2019-10-11 | 基于mesh结构的高容错低时延路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817952B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546417A (zh) * | 2012-01-14 | 2012-07-04 | 西安电子科技大学 | 基于网络信息的片上网络路由器调度方法 |
CN104202241A (zh) * | 2014-08-06 | 2014-12-10 | 长春理工大学 | 2D-Mesh拓补结构下的片上网络偏转容错路由算法 |
CN105049362A (zh) * | 2015-06-18 | 2015-11-11 | 西安电子科技大学 | 一种二维环绕网格片上网络的拓扑结构以及路由方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834797A (zh) * | 2010-05-06 | 2010-09-15 | 复旦大学 | 一种针对片上网络的低复杂度和可扩展的容错路由算法 |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN110048947B (zh) * | 2019-03-06 | 2020-06-16 | 清华大学 | 二维Mesh网络中数据包的自适应路由方法与电子设备 |
-
2019
- 2019-10-11 CN CN201910965218.3A patent/CN111817952B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546417A (zh) * | 2012-01-14 | 2012-07-04 | 西安电子科技大学 | 基于网络信息的片上网络路由器调度方法 |
CN104202241A (zh) * | 2014-08-06 | 2014-12-10 | 长春理工大学 | 2D-Mesh拓补结构下的片上网络偏转容错路由算法 |
CN105049362A (zh) * | 2015-06-18 | 2015-11-11 | 西安电子科技大学 | 一种二维环绕网格片上网络的拓扑结构以及路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111817952A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Park et al. | A highly adaptive distributed routing algorithm for mobile wireless networks | |
Li et al. | Localized topology control for heterogeneous wireless sensor networks | |
CN105187313B (zh) | 一种片上网络拓扑结构及其自适应路由方法 | |
Scheideler | Models and techniques for communication in dynamic networks | |
US20230327976A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
CN103763750B (zh) | 在tdma协议的无线自组网中实现快速分组转发的方法 | |
CN106339350B (zh) | 众核处理器片上访存距离优化的方法及其装置 | |
Benchaïba et al. | Distributed mutual exclusion algorithms in mobile ad hoc networks: an overview | |
CN102437953A (zh) | 片上网络中的低功耗自适应路由方法 | |
CN101267394A (zh) | 三维mesh网中无死锁的平面自适应路由方法 | |
CN110830394B (zh) | 一种基于RapidIO网络的路由表生成方法 | |
CN114844827A (zh) | 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法 | |
CN116886591B (zh) | 计算机网络系统及路由方法 | |
CN111817952B (zh) | 基于mesh结构的高容错低时延路由算法 | |
CN117097661B (zh) | 数据包的转发方法及装置、存储介质、电子设备 | |
CN111447091B (zh) | 一种网络环路检测方法、装置、设备及存储介质 | |
CN103457855A (zh) | 无类域间路由表建立、以及报文转发的方法和装置 | |
CN111866069A (zh) | 数据处理方法及装置 | |
CN113203940B (zh) | 3D NoC测试规划中的并行测试方法 | |
CN110825689B (zh) | 电子芯片的实现方法及电子芯片 | |
CN104410985A (zh) | 一种拓扑控制报文的处理方法和装置 | |
Ohta et al. | Hi-TORA: a hierarchical routing protocol in ad hoc networks | |
CN110972206B (zh) | 一种实现5g物联网网络路由路径的多跳路由方法 | |
CN115665041B (zh) | 片上网络结构、数据传输方法、电子设备及存储介质 | |
Tao et al. | Spherical Coordinate Routing for 3D wireless ad-hoc and sensor networks |
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 |