CN102148763A - 一种应用于片上网络的动态路径分配方法及系统 - Google Patents
一种应用于片上网络的动态路径分配方法及系统 Download PDFInfo
- Publication number
- CN102148763A CN102148763A CN2011101076930A CN201110107693A CN102148763A CN 102148763 A CN102148763 A CN 102148763A CN 2011101076930 A CN2011101076930 A CN 2011101076930A CN 201110107693 A CN201110107693 A CN 201110107693A CN 102148763 A CN102148763 A CN 102148763A
- Authority
- CN
- China
- Prior art keywords
- node
- path
- source node
- destination node
- link
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000004891 communication Methods 0.000 claims abstract description 79
- 238000013507 mapping Methods 0.000 claims abstract description 30
- 238000012546 transfer Methods 0.000 claims description 10
- 238000012856 packing Methods 0.000 claims description 2
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 230000009191 jumping Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006798 recombination Effects 0.000 description 3
- 238000005215 recombination Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 2
- 238000010230 functional analysis Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种应用于片上网络的动态路径分配方法及系统,该方法实时收集片上网络中各路由单元的带宽占用情况和故障信息,并根据网络状态动态调整通信任务的路由路径,使之绕开拥塞和故障的链路。分配系统包括接收控制器、故障管理模块、通信任务管理模块、节点序列记录模块、路径映射模块、路径管理模块、发送控制器;本发明能在片上网络存在链路拥塞和永久性故障的情况下优化通信任务的路由路径,平衡网络负载,降低数据包阻塞率,有利于改善片上网络在链路拥塞和故障状态下的性能。
Description
技术领域
本发明涉及一种应用于片上网络的动态路径分配方法及系统,应用于集成电路领域,尤其涉及集成电路片上互连网络设计领域。
背景技术
随着深亚微米超大规模集成电路工艺技术的成熟及进一步发展,SoC(System on Chip,片上系统)的设计面临着严峻的问题,主要表现在三个方面:连线延迟与全局时钟的同步问题,有限地址空间和无法支持多组设备并行通信等结构性问题,以及系统扩展问题。为了解决SoC设计中遇到的问题,欧洲一些研究机构于2000年提出了NoC(Network on Chip,片上网络)的概念,其核心思想就是将计算机网络技术移植到芯片设计中来,将片上系统分割为执行通信的多个子系统,子系统之间通过网络互连,从体系结构上彻底解决总线架构带来的缺陷。
片上网络由RN(Resource Node,资源节点)和CN(Communication Node,通信节点)两个基本部分组成。资源节点执行计算功能,资源节点之间可以通过收发消息进行通信。在片上网络研究的众多分支中,路由方法占据着重要的地位。路由方法负责为数据包传输分配路径,方法的优劣直接影响片上网络的系统性能。目前片上网络路由方法主要是通过优化和裁剪并行计算领域中的路由方法得到的,其时间开销、资源开销以及容错性能等方面并不完全适应片上网络的需求,特别是在容错性方面,主要缺陷表现在现有的路由方法主要根据监控相邻节点获得局部网络状态,而忽略了全局网络状态对数据包传输的影响。应用该方法的路由方法存在如下几个问题:
a)当网络负载较重时,容易产生局部链路拥堵,导致一些关键路径的通信请求不能得到实时响应;
b)网络负载分布不均匀;在网络的某一区域内数据流量过大,数据包延时无法接受,而同时网络的某些区域的通信节点处于空闲状态,网络链路利用率过低;
c)当网络中出现故障节点或某些节点被暂时禁用而导致发生拥堵的链路数增加时,通信性能会大大降低。
因此,从全局网络状态信息的角度,研究保证QoS性能约束并且适用于片上网络的动态路径分配方法,使之能够根据网络状态的变化调整路由路径,以解决网络拥塞和链路故障的问题,是优化和改善片上网络通信性能的一种重要手段。
发明内容
本发明所要解决的技术问题是针对背景技术的缺陷,提供一种应用于片上网络的动态路径分配方法及应用该方法的动态路径分配系统,通过实时收集片上网络中各路由单元的带宽占用情况和故障信息,并根据网络状态动态调整通信任务的路由路径,使之绕开拥塞和故障的链路。
本发明为解决上述技术问题采用以下技术方案:
一种用于片上网络的动态路径分配方法,包括如下步骤:
a)根据源节点与目的节点的ID判断两者的相对位置,针对具体的相对位置判断源节点到目的节点是否有最短路径存在。
b)如果不存在最短路径,则寻找中继源节点,中继源节点分别与原来的目的节点、源节点分别组成子通信任务。根据源节点与目标节点的相对位置情况,记录当前节点及其路径方向上的节点,以及链路带宽。
c)分别整理以源节点为起点的正向路径和以目的节点为起点的逆向路径,寻找所有可能的最短路径组合和使用的带宽,直至结果一致。
d)将源节点的记录与目的节点的记录连接起来,分析各组记录的带宽,从中选择带宽最小的点序列进行路径映射。如果通信任务被拆分,将各部分路径组合起来得到源节点到目的节点的路径。
进一步的,为了优化路由方法的延时性能,本发明首先以最短路径满足QoS的延时约束,然后在满足延时约束的基础上计算满足带宽约束的路径。因此在得到通信任务中的源节点与目的节点位置后,首先应判断两者之间是否存在最短路径,其步骤如下:
a1)如果源节点和目的节点的x维坐标和y维坐标都不相同,在下列情况中存在最短路径:
①如果源节点的两条输出链路或者目的节点的两条输入链路只有一条发生故障,则存在最短路径。
②如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是2,并且故障链路分别位于x维和y维,则存在最短路径。
③如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是3,故障链路分别位于x维和y维,则存在最短路径。
④如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是3,故障链路都位于x维或y维,并且该维上的曼哈顿距离为1,则存在最短路径。
⑤源节点与目的节点的最短路径的曼哈顿距离不小于4。
a2)如果源节点与目的节点的x维坐标或y维坐标相同,只存在一条源节点到目的节点的最短路径,一旦该路径中的任何一条链路发生故障,将不会有最短路径存在。
进一步的,如果存在源节点到目的节点的最短路径,本发明从源节点到目的节点的多条最短路径中选择符合带宽约束的路径作为最优路径。如果不存在源节点到目的节点的最短路径,本发明将路由路径划分为多个子通信任务并寻找中继节点,然后分别为每个子任务分配符合带宽约束和延时约束的路径,再将各部分路径组合起来。该过程具体步骤如下:
b1)如果不存在最短路径,将源节点周围与数据传输方向相反的相邻节点作为中继源节点,将目的节点周围与数据传输方向相反的相邻节点作为中继目的节点,与原来的目的节点、源节点分别组成子通信任务。
b2)从源节点开始记录当前节点及其最短路径方向上的下一个节点,以及链路带宽。同时,从目的节点开始回溯,开始记录在最短路径方向上可能到达目的节点的节点ID,以及相应的链路带宽。记录节点时必须判断链路的状态,将故障链路的带宽设置为带宽上限。
b3)整理源节点的序列记录和目的节点的序列记录。如果有节点序列重复,则需要对其进行整理,保留使用带宽最小的相关节点序列。
进一步的,本发明通过节点序列记录通信任务中数据包经过的路径。根据记录序列顺序的不同,节点序列分为源节点序列记录、目的节点序列和相关节点序列。本发明通过对节点序列的整理,寻找最优的路由路径。具体步骤如下:
c1)根据源节点与目标节点的相对位置情况,从源节点开始记录当前节点及其最短路径方向上的下一个节点,以及链路带宽。同时,从目的节点开始回溯,开始记录在最短路径方向上可能到达目的节点的节点ID,以及相应的链路带宽。记录节点时必须判断链路的状态。
c2)分别把上次记录中的各个后继节点nextID作为源节点,保持目的节点不变,记录当前节点和最短路径方向上的后继结点以及使用的带宽。
c3)保持源节点不变,把上次记录中的前继节点preID作为目的节点,依次记录最短路径方向上可能到达目的节点的节点以及使用的带宽。
c4)重复c2)和c3)中的操作,直至nextID节点的集合与preID节点的集合完全相等。
与上述动态路径分配方法相对应,本发明还提供一种用于片上网络的动态路径分配系统,包括接收控制器、故障管理模块、通信任务管理模块、节点序列记录模块、路径映射模块、路径管理模块、发送控制器;其中,
接收控制器用于接收路由单元永久性故障或链路拥塞状态报告,并发送给故障管理模块;
故障管理模块用于根据通信任务判断源节点与目的节点两者之间的相对位置,针对相对位置判断源节点到目的节点是否有最短路径存在,并将判断结果发送至通信任务管理模块;
通信任务管理模块用于根据源节点与目的节点两者之间的路径情况对通信任务的路径进行划分和组合;
节点序列记录模块用于根据通信任务管理模块的处理结果,分别生成符合带宽和故障避免约束的路由路径结果并发送至路径映射模块;
路径映射模块用于将节点序列记录模块生成的路由路径结果转换成路由单元可识别的数据格式;
路径管理模块用于对路径映射模块生成的路由路径结果进行格式调整和数据包装,并传输至发送控制器;
发送控制器用于将路径管理模块生成的数据发送至输出总线。
本发明采用以上技术方案,与现有技术相比,具有以下技术效果:
本发明可以实时收集片上网络中各路由单元的带宽占用情况和故障信息,并根据网络状态动态调整通信任务的路由路径,使之绕开拥塞和故障的链路。该方法能在片上网络存在链路拥塞和永久性故障的情况下优化通信任务的路由路径,平衡网络负载,降低数据包阻塞率,有利于改善片上网络在链路拥塞和故障状态下的性能。
附图说明
图1是动态路径分配系统的电路结构图;
图2是故障处理模块的工作流程图;
图3是通信任务模块的电路结构图;
图4是节点序列记录模块的工作流程图;
图5是节点序列记录模块的电路结构图;
图6是路径映射模块的工作流程图;
图7是路径映射模块的电路结构图;
图8是路径管理模块的电路结构图。
具体实施方式
下面结合附图对本发明的技术方案做进一步详细说明:
如图1所示,动态路径分配系统按其实现的功能可划分为节点序列记录模块、路径映射模块、故障管理模块、通信任务管理模块和路径管理模块。各部分实现功能分别如下:
(1)故障管理模块针对不同相对位置根据全局网络状态信息判断是否存在源节点到目的节点的最短路径,分为存在最短路径和不存在最短路径两种情况将通信任务发送到通信任务管理模块进行处理。
(2)通信任务管理模块将存在最短路径的通信任务直接发送到节点序列记录模块,进行路径分配。对于不存在最短路径的通信任务,通信任务管理模块寻找合适的中继源节点与目的节点组成通信节点对,或者中继目的节点与源节点组成通信节点对,将重新组合的子通信任务发送到各个节点序列记录模块。
(3)节点序列记录模块分析源节点与目的节点的相对位置,针对不同的相对位置记录节点序列以及已占用的链路带宽,并对节点序列进行整理,把通信量最小的节点序列发送到路径映射模块。
(4)路径映射模块根据当前节点与其下一个节点的ID关系将点序列映射成路径,然后将路径和跳数组成固定的数据格式,发送到路径管理模块。
(5)路径管理模块对接收到的各部分路径进行组合,然后重新组包成路径格式,发送到输出控制模块的路径存储器。
根据故障处理模块的定义,故障处理函数分析源节点与目的节点的相对位置情况,针对不同的相对位置根据链路状态信息判断通信节点对之间是否有最短路径存在,然后根据是否存在最短路径进行下一步处理。故障处理模块的工作流程如图2所示。
故障处理模块根据源节点与目的节点的相对位置情况调用函数FaultManager_NE、FaultManager_WN、FaultManager_ES、FaultManager_WS、FaultManager_EW和FaultManager_SN完成通信任务的路径分配。函数首先针对不同的相对位置分析源节点与目的节点组成的矩形通信域内的链路状态,根据故障链路的位置判断是否有最短路径存在。如果存在最短路径,则直接调用节点序列记录函数和路径映射函数为通信任务分配路径。如果不存在最短路径,在通信网络中寻找合适的中继源节点或者中继目的节点,与源节点、目的节点组合成多个子通信任务,分别对各个子通信任务调用节点序列记录函数和路径映射函数获得各个子通信任务的最优路径,再将这些路径按照顺序组合起来,获得源节点到目的节点的最优路径。
当故障处理模块完成对最短路径判断,该模块必须通知通信任务管理模块是否需要对通信任务进行重组,因此模块使用信号线split_flag完成此功能。设置split_flag为低电平时表示不需要重组,为高电平时,通信任务管理模块必须对通信任务进行重组。
通信任务模块对不存在最短路径的通信任务进行重组,电路结构图如附图中图3所示。控制器接收信号线split_flag,根据它的状态控制发送模块和任务重组模块。如果split_flag是低电平,控制器设置send_trigger为高电平,设置split_trigger为低电平,控制发送模块发送通信任务,并将combine_flag设置为00状态。如果split_flag的状态是高电平,控制器设置send_trigger为低电平,设置split_trigger为高电平,启动任务重组模块。任务重组模块重组通信任务,按照不同的组合方式发送通信任务,并且设置combine_flag为相应状态的值。
节点序列记录模块针对不同的相对位置记录节点序列以及已占用的链路带宽,并对节点序列进行整理,以获得通信量最小的点序列。节点序列记录模块的工作流程如附图中图4所示。首先,节点序列记录函数分析源节点与目的节点的相对位置,根据不同的相对位置调用各自的节点记录程序记录节点序列,并且对重复的节点信息的进行处理。然后,对节点序列进行整理,调用路径映射函数对整理结束的点序列进行映射。
记录源节点启始的节点序列的过程,首先从源节点开始,把源节点作为当前节点,记录相对位置方向的下一个节点,以及该链路的带宽,记为pointRecord_s[0],源节点记录次数counter_s加1。然后分别把记录pointRecord_s[0]中每个节点point的低4位对应的节点作为当前节点,重复上述过程,直到counter_s ≥ recordCount_s。
记录目的节点启始的节点序列的过程,首先从目的节点开始,把目的节点作为当前节点,回溯相对位置方向能到达目的节点的节点,记录该节点以及链路的带宽,记为pointRecord_d[0],目的节点记录次数counter_d加1。然后分别把记录pointRecord_d[0]中每个节点point的高4位对应的节点作为当前节点,重复上述过程,直到counter_d ≥ recordCount_d。
每个节点序列在记录时都必须判断该节点到下一个节点的链路状态,如果发生故障或者拥塞将该序列的带宽设为最大值。在对节点序列进行处理的过程中,判断各序列的带宽是否为最大值,如果是最大值,舍弃该节点序列,以保证所记录的节点序列中无故障或者拥塞链路。
在矩形通信域内无拥塞和故障的情况下,对于NE、WN、ES、WS四种相对位置,每一个当前节点有两个节点序列;而对于相对位置EW和SN,每一个当前节点只有一个节点序列。各个相对位置方向记录节点序列的流程大致相同,但是节点记录的方向不同。相对位置体现了数据流的方向。在最短路径方向上记录的节点序列的方向与相对位置的方向相同。对于相对位置NE,数据流向为NE方向。源节点记录的节点序列分别是源节点在N方向和E方向的相邻节点及其链路带宽。目的节点记录的节点序列分别是从N方向和E方向能到该节点的相邻节点及其链路带宽。而对于相对位置EW和SN,体现了数据流的方向是东西方向或南北方向,但是没有体现出数据流的起点在哪个方向,因此必须判断数据流的准确流向,即目的节点在源节点的E方向还是W方向、S方向还是N方向。如果目的节点在源节点的E方向,则源节点记录的节点序列是源节点在E方向的相邻节点及其链路带宽,目的节点记录的节点序列是从E方向能到该节点的相邻节点及其链路带宽。
在counter_s ≥ 1时,pointRecord_s中将会有重复的节点序列。如果有节点序列重复,则需要对其进行整理,保留带宽较小的链路。
在节点序列记录模块的电路结构如附图中图5所示,模块设计了节点序列记录结束标志位finish_flag1、finish_flag2和finish_flag3。低电平表示节点序列记录未完成,高电平表示节点序列记录结束。如果源节点到目的节点的最短路径的跳数不超过2,设置finish_flag1为高电平;如果跳数是3或者4,设置finish_flag2为高电平,finish_flag1为低电平;如果跳数大于4,设置finish_flag1、finish_flag2为低电平,finish_flag3为高电平。
网络中无故障和拥塞发生时,在源节点与目的节点的六种相对位置中,NE、WN、ES和WS输入第二级节点记录子模块的源节点和目的节点的通信节点对有两个,而EW和SN输入第二级节点记录子模块的源节点和目的节点的通信节点对只有一个。因此,模块设计了src_flag2和desti_flag2分别记录输入第二级节点记录子模块的源节点和目的节点的通信节点对的位置,src_flag3和desti_flag3分别记录输入第三级节点记录子模块的源节点和目的节点的通信节点对的位置,设置高电平表示有效的通信任务。src_flag2[0]、src_flag2[1]分别对应通信任务src_task1、src_task2是否有效,desti_flag2[0]、desti_flag2[1]分别对应通信任务desti_task1、desti_task2是否有效。src_flag3[0]、src_flag3[1]、src_flag3[2]分别对应通信任务src_task3、src_task4、src_task5是否有效,desti_flag3[0]、desti_flag3[1]、desti_flag3[2]分别对应通信任务desti_task3、desti_task4、desti_task5是否有效。
节点序列记录模块按照三级节点管理,第一级节点记录模块记录通信任务task的源节点的点序列src_point1、src_point2和目的节点的点序列desti_point1、desti_point2,然后,根据曼哈顿距离判断节点序列记录是否完成。第二级节点的序列记录方法与第一级节点的方法不同。对于与目的节点组成的通信任务src_task1和src_task2,分别将的nextpoint作为当前节点,记录节点序列src_point3、src_point4、src_point5,不记录Desti_ID作为目的节点的节点序列。对于与源节点组成的通信任务desti_task1和desti_task2,分别将prepoint作为当前节点,记录节点序列desti_point3、desti_point4、desti_point5,不记录Src_ID作为源节点的节点序列。根据跳数判断节点序列记录是否完成。第三级节点与第二级节点记录的方法相同。不同之处在于,在拓扑结构中,源节点到目的节点的最短路径跳数不会超过6,第三级节点记录执行后节点序列记录必然完成。因此,模块设置finish_flag3为高电平并进行节点整理。
模块把节点序列按照数据传输的方向组成相关节点序列,对重复的节点序列进行整理,最终形成四组点序列point1、point2、point3、point4,分别比较各个点序列已传输的数据量BW_used,记录最大通信量为BW1、BW2、BW3、BW4,与各个点序列互相对应。输出仲裁模块和多路选择器从四组点序列中选取通信量最小的一组节点序列point,然后发送到节点拆分模块进行拆分,按照数据传输的方向保存到point1、point2、…、point7,并记录节点的个数pointcount,发送到路径映射模块。
路径映射模块将点序列映射成路径的形式。根据路径映射模块的功能定义,路径映射函数需要记录路径及其跳数。模块定义数据结构s_Path保存路径映射函数的执行结果,s_Path的数据格式定义如下:
struct s_Path
{
int hopnum;
char direction[6];
}Path;
hopnum表示路径跳数,direction[i]表示从源节点开始的第i个转发方向。路径映射模块的工作流程如附图中图6所示。图中,curID表示当前节点的ID,nextID表示下一个节点的ID。路径映射函数执行一次循环,只能对两个节点进行映射,需要循环多次完成整个点序列的映射。每次循环都在循环体中更新curID和nextID,然后根据curID和nextID的差值判断下一跳的方向,并将其保存在路径s_Path中。
在二维网格拓扑结构的片上网络系统中,通信节点的ID与其相邻节点ID的关系与各个传输方向互相对应,路径映射模块根据节点ID之间的关系对接收的节点进行路径映射。路径映射模块由方向选择模块,控制器和路径组合模块组成,电路结构如附图中图7所示。
控制器根据节点的个数使能各个方向选择模块。在4×4的二维网格拓扑结构中,由于节点记录模块限制在最短路径方向记录节点序列,通信任务的源节点、目的节点和源节点到目的节点的最短路径数据传输经历的中间节点总共不会超过7个。因此,点序列个数pointcount的取值范围为2 ≤pointcount≤7。
方向选择模块的功能是一个多路选择器。多路选择器的输入是四个方向00、01、10、11,输入节点pointi与pointi+1的关系作为仲裁选择相应的值赋给diri,其中1≤i≤7。各个方向选择模块执行结束后,在路径组合模块将这些方向组合成路径的形式,按照对应的位置排列。路径组合完成后把路径path发送到路径管理模块。
路径管理模块将各个子任务的路径组合成源节点到目的节点的路径,并调整路径的格式。路径管理模块由控制器、路径组合模块和格式调整模块三部分组成,如附图中图8所示。
控制器接收信号线combine_flag,判断是否需要对路径进行组合。如果combine_flag为状态00,则不需要组合路径,控制器通过信号线adjust_trigger控制格式调整模块对path1进行格式调整后输出。否则,控制器通过信号线combine_trigger启动路径组合模块,根据combine_flag的各个状态对相应的输入路径进行组合,然后将路径path_comb发送到格式调整模块进行格式调整后发送。
应用上述方法可以构成动态路径分配系统,实现对网络全局拥塞和故障信息的响应,以及对通信任务中数据传输路径的调整。
Claims (5)
1.一种用于片上网络的动态路径分配方法,其特征在于,包括如下步骤:
a)根据源节点与目的节点的ID判断两者的相对位置,根据相对位置判断源节点到目的节点是否有最短路径存在;
b)如果不存在最短路径,则寻找中继源节点,中继源节点与原来的目的节点、源节点分别组成子通信任务;根据源节点与目标节点的相对位置情况,记录当前节点及其路径方向上的节点,以及链路带宽;
c)分别整理以源节点为起点的正向路径和以目的节点为起点的逆向路径,寻找所有可能的最短路径组合和使用的带宽,直至结果一致;
d)将源节点的记录与目的节点的记录连接起来,分析各组记录的带宽,从中选择带宽最小的点序列进行路径映射;如果通信任务被拆分,将各部分路径组合起来得到源节点到目的节点的路径。
2. 根据权利要求1所述的用于片上网络的动态路径分配方法,其特征在于:所述的步骤a)具体包括以下步骤:
a1)如果源节点和目的节点的x维坐标和y维坐标都不相同,在下列情况中存在最短路径:
①如果源节点的两条输出链路或者目的节点的两条输入链路只有一条发生故障;
②如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是2,并且故障链路分别位于x维和y维;
③如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是3,故障链路分别位于x维和y维;
④如果源节点的一条输出链路和目的节点的一条输入链路故障,源节点与目的节点的最短路径的曼哈顿距离是3,故障链路都位于x维或y维,并且该维上的曼哈顿距离为1;
⑤源节点与目的节点的最短路径的曼哈顿距离不小于4;
a2)如果源节点与目的节点的x维坐标或y维坐标相同,只存在一条源节点到目的节点的最短路径,一旦该路径中的任何一条链路发生故障,将不会有最短路径存在。
3. 根据权利要求1所述的用于片上网络的动态路径分配方法,其特征在于:所述的步骤b)具体包括以下步骤:
b1)如果不存在最短路径,将源节点周围与数据传输方向相反的相邻节点作为中继源节点,将目的节点周围与数据传输方向相反的相邻节点作为中继目的节点,与原来的目的节点、源节点分别组成子通信任务;
b2)从源节点开始记录当前节点及其最短路径方向上的下一个节点,以及链路带宽;同时,从目的节点开始回溯,开始记录在最短路径方向上可能到达目的节点的节点ID、以及相应的链路带宽;记录节点时必须判断链路的状态,将故障链路的带宽设置为带宽上限;
b3)整理源节点的序列记录和目的节点的序列记录;如果有节点序列重复,则需要对其进行整理,保留使用带宽最小的相关节点序列。
4. 根据权利要求1所述的用于片上网络的动态路径分配方法,其特征在于:所述的步骤c)具体包括以下步骤:
c1)根据源节点与目标节点的相对位置情况,从源节点开始记录当前节点及其最短路径方向上的下一个节点、以及链路带宽;同时,从目的节点开始回溯,开始记录在最短路径方向上可能到达目的节点的节点ID、以及相应的链路带宽;记录节点时必须判断链路的状态;
c2)分别把上次记录中的各个后继节点作为源节点,保持目的节点不变,记录当前节点和最短路径方向上的后继结点以及使用的带宽;
c3)保持源节点不变,把上次记录中的前继节点作为目的节点,依次记录最短路径方向上可能到达目的节点的节点以及使用的带宽;
c4)重复c2)和c3)中的操作,直至后继节点的集合与前继节点的集合完全相等。
5. 一种用于片上网络的动态路径分配系统,其特征在于:包括接收控制器、故障管理模块、通信任务管理模块、节点序列记录模块、路径映射模块、路径管理模块、发送控制器;其中,
接收控制器用于接收路由单元永久性故障或链路拥塞状态报告,并发送给故障管理模块;
故障管理模块用于根据通信任务判断源节点与目的节点两者之间的相对位置,针对相对位置判断源节点到目的节点是否有最短路径存在,并将判断结果发送至通信任务管理模块;
通信任务管理模块用于根据源节点与目的节点两者之间的路径情况对通信任务的路径进行划分和组合;
节点序列记录模块用于根据通信任务管理模块的处理结果,分别生成符合带宽和故障避免约束的路由路径结果并发送至路径映射模块;
路径映射模块用于将节点序列记录模块生成的路由路径结果转换成路由单元可识别的数据格式;
路径管理模块用于对路径映射模块生成的路由路径结果进行格式调整和数据包装,并传输至发送控制器;
发送控制器用于将路径管理模块生成的数据发送至输出总线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101076930A CN102148763B (zh) | 2011-04-28 | 2011-04-28 | 一种应用于片上网络的动态路径分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101076930A CN102148763B (zh) | 2011-04-28 | 2011-04-28 | 一种应用于片上网络的动态路径分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148763A true CN102148763A (zh) | 2011-08-10 |
CN102148763B CN102148763B (zh) | 2013-12-25 |
Family
ID=44422773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101076930A Expired - Fee Related CN102148763B (zh) | 2011-04-28 | 2011-04-28 | 一种应用于片上网络的动态路径分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148763B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546406A (zh) * | 2011-12-28 | 2012-07-04 | 龙芯中科技术有限公司 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
CN102571608A (zh) * | 2012-02-29 | 2012-07-11 | 浙江工商大学 | 一种面向片上网络的永久故障容错路由控制方法 |
CN102761475A (zh) * | 2012-03-27 | 2012-10-31 | 西安交通大学 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
CN103729332A (zh) * | 2013-12-23 | 2014-04-16 | 北京工业大学 | 一种基于MoT结构的低功耗NoC路由方法 |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN110460523A (zh) * | 2019-08-15 | 2019-11-15 | 电子科技大学 | 一种用于实现片上网络跨层路由机制的路由控制单元 |
CN110933166A (zh) * | 2019-11-27 | 2020-03-27 | 中国联合网络通信集团有限公司 | 一种共识平台、终端、节点和路径选择方法 |
CN112468391A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 网络故障传递方法和相关产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136860A (zh) * | 2006-08-30 | 2008-03-05 | 三菱电机株式会社 | 计算机实现的用于寻找从源到宿的最优路径的方法 |
US20080186991A1 (en) * | 2005-05-18 | 2008-08-07 | Koninklijke Philips Electronics, N.V. | Integrated Circuit and Method of Arbitration in a Network on an Integrated Circuit |
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
US20110026400A1 (en) * | 2009-07-29 | 2011-02-03 | Kalray | Network on chip with quality of service |
-
2011
- 2011-04-28 CN CN2011101076930A patent/CN102148763B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080186991A1 (en) * | 2005-05-18 | 2008-08-07 | Koninklijke Philips Electronics, N.V. | Integrated Circuit and Method of Arbitration in a Network on an Integrated Circuit |
CN101136860A (zh) * | 2006-08-30 | 2008-03-05 | 三菱电机株式会社 | 计算机实现的用于寻找从源到宿的最优路径的方法 |
US20110026400A1 (en) * | 2009-07-29 | 2011-02-03 | Kalray | Network on chip with quality of service |
CN101808032A (zh) * | 2010-03-04 | 2010-08-18 | 南京大学 | 面向静态XY路由算法的二维网格NoC路由器优化设计方法 |
Non-Patent Citations (2)
Title |
---|
周干民: "《NoC基础研究》", 《中国博士学位论文全文数据库》 * |
王芳莉等: "《片上网络路由算法综述》", 《西安邮电学院学报》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546406A (zh) * | 2011-12-28 | 2012-07-04 | 龙芯中科技术有限公司 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
CN102546406B (zh) * | 2011-12-28 | 2014-08-20 | 龙芯中科技术有限公司 | 片上网络路由集中控制系统和装置及自适应路由控制方法 |
CN102571608A (zh) * | 2012-02-29 | 2012-07-11 | 浙江工商大学 | 一种面向片上网络的永久故障容错路由控制方法 |
CN102571608B (zh) * | 2012-02-29 | 2015-01-07 | 浙江工商大学 | 一种面向片上网络的永久故障容错路由控制方法 |
CN102761475B (zh) * | 2012-03-27 | 2015-08-05 | 西安交通大学 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
CN102761475A (zh) * | 2012-03-27 | 2012-10-31 | 西安交通大学 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
CN103729332A (zh) * | 2013-12-23 | 2014-04-16 | 北京工业大学 | 一种基于MoT结构的低功耗NoC路由方法 |
CN103729332B (zh) * | 2013-12-23 | 2016-09-14 | 北京工业大学 | 一种基于MoT结构的低功耗NoC路由方法 |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN104539533A (zh) * | 2014-12-22 | 2015-04-22 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN104539533B (zh) * | 2014-12-22 | 2017-12-01 | 合肥工业大学 | 依据3D NoC中每一层TSV连接状况建立通道表的方法及其应用 |
CN110460523A (zh) * | 2019-08-15 | 2019-11-15 | 电子科技大学 | 一种用于实现片上网络跨层路由机制的路由控制单元 |
CN110460523B (zh) * | 2019-08-15 | 2021-06-11 | 电子科技大学 | 一种用于实现片上网络跨层路由机制的路由控制单元 |
CN112468391A (zh) * | 2019-09-09 | 2021-03-09 | 华为技术有限公司 | 网络故障传递方法和相关产品 |
CN112468391B (zh) * | 2019-09-09 | 2024-04-26 | 华为技术有限公司 | 网络故障传递方法和相关产品 |
CN110933166A (zh) * | 2019-11-27 | 2020-03-27 | 中国联合网络通信集团有限公司 | 一种共识平台、终端、节点和路径选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102148763B (zh) | 2013-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102148763B (zh) | 一种应用于片上网络的动态路径分配方法及系统 | |
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
US8099488B2 (en) | Real-time monitoring of service agreements | |
CN1947387B (zh) | 用于时隙分配的集成电路和方法 | |
US7099879B2 (en) | Real-time monitoring of service performance through the use of relational database calculation clusters | |
Maglione-Mathey et al. | Scalable deadlock-free deterministic minimal-path routing engine for infiniband-based dragonfly networks | |
US8325618B2 (en) | Electronic device, system on chip and method for monitoring a data flow | |
CN103460654B (zh) | 中继装置、中继装置的控制方法 | |
CN104486194A (zh) | 一种多可靠性等级虚拟网络控制系统和方法 | |
Mubeen et al. | Holistic modeling of time sensitive networking in component-based vehicular embedded systems | |
EP2041933A2 (en) | Electronic device, system on chip and method for monitoring data traffic | |
CN113938930B (zh) | 适应5g网络多业务场景的虚拟网络功能转发图的构建方法 | |
Kim et al. | Network calculus based simulation for TCP congestion control: theorems, implementation and evaluation | |
CN108494597A (zh) | 智能光网络仿真系统及方法 | |
CN111245730B (zh) | 一种片上网络的路由系统及通信方法 | |
Schwartz et al. | Routing and flow control in data networks | |
Ayed et al. | Frame packing strategy within gateways for multi-cluster avionics embedded networks | |
González et al. | IPDeN: Real-Time deflection-based NoC with in-order flits delivery | |
CN114389991A (zh) | 一种智能网络流量调度管理方法及装置 | |
Shi et al. | Improvement of schedulability analysis with a priority share policy in on-chip networks | |
CN112579293A (zh) | 一种分布计算系统的综合验证方法 | |
Refaat et al. | On the performability of on-board train networks with fault-tolerant controllers | |
Lei et al. | Cost and qos balanced service function graph scaling algorithm in cloud-edge collaborative multimedia iot | |
Babou et al. | D-LBAH: Dynamic Load Balancing Algorithm for HEC-SDN systems | |
Harati et al. | Introducing a new routing algorithm for wireless networks on chip using reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131225 |
|
CF01 | Termination of patent right due to non-payment of annual fee |