CN102761475A - 一种基于通道依赖关系图的片上互联网络容错路由方法 - Google Patents
一种基于通道依赖关系图的片上互联网络容错路由方法 Download PDFInfo
- Publication number
- CN102761475A CN102761475A CN201210083054XA CN201210083054A CN102761475A CN 102761475 A CN102761475 A CN 102761475A CN 201210083054X A CN201210083054X A CN 201210083054XA CN 201210083054 A CN201210083054 A CN 201210083054A CN 102761475 A CN102761475 A CN 102761475A
- Authority
- CN
- China
- Prior art keywords
- afcdg
- path
- fcm
- fault
- node
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于通道依赖关系图的片上互联网络容错路由方法,首先,对应用程序的通信特性进行分析,建立应用程序模块的通信关系二分图,生成通信关系矩阵ATM,同时,生成无故障情况下的通道依赖关系有向图CDG,通过粗、细粒度故障检测,生成故障情况下的通道依赖关系有向图FCDG,应用转向模型最终生成对应的无环通道依赖关系有向图AFCDG及相应的数据流通信矩阵FCM,其次对ATM和FCM进行矩阵分析,选择可连通的单VC或多VC的AFCDG并对VC顺序进行设置,最后通过比较获得最佳的负载均衡路由方案,该方法通过粗,细粒度的故障检测方法最大限度地利用可用资源,构造基于单VC或多VC的带权重无环通道依赖关系有向图AFCDG实现避免死锁及负载均衡的目的。
Description
技术领域
本发明涉及可靠性计算技术领域,特别涉及一种基于通道依赖关系图的片上互联网络容错路由方法。
背景技术
随着芯片集成度的不断提高以及日益增长的对复杂计算的需求,计算系统逐渐由单核向多核(multi-core)发展。为了解决多核通讯的复杂问题,片上网络(Network-on-Chip简称NoC)提供了一种高性能,高扩展性以及高靠性的解决方法,成为多核系统的核心技术。
先进半导体制造工艺的采用以及单芯片上集成晶体管数目的激增,使得系统出现故障的几率大大增加,因此系统的可靠性变得越来越重要,即故障存在的情况下,如何保证系统的正常运行及通信成为片上网络系统的研究热点。晶体管缺陷是造成系统故障的主要原因,其成因主要有两种:一、随机掺杂波动、短波长光刻技术等制造工艺导致的永久性缺陷;二、高能带电粒子轰击造成单粒子翻转,电压和温度的变化,串扰以及电磁干扰导致的瞬态故障。传统的出厂测试无法有效检测组件由于老化造成的缺陷和系统运行中出现的瞬态故障。片上网络系统的可靠性可以通过采用硬件冗余设计,再次传输策略以及容错路由方法在多核通信传输时,避免故障区域的影响,从而避免通信传输过程中信息的无法到达和内容的遗失。其中容错路由算法由于硬件开销少及可重配置的特性获受到广泛的关注和研究。
片上网络容错包括两个步骤:故障检测和容错(故障遏制)。专用的内建测试机制通过向临近节点发送测试信号,经过一定的时间检测临近的节点是否接收到检测信号来标定是否存在故障。片上网络的故障类型包括:路由器故障和链路故障。故障的存在给多核片上网络通信系统带来很多挑战:一是,如何提高系统资源利用率。已有的故障诊断方法将路由器标定为两种状态——完全正常工作状态和完全失效状态。该诊断方法将部分故障的路由器标定为完全失效状态,无法充分利用部分故障路由器中没有故障的组件;二是,如何避免死锁。故障分布的不可预知导致片上网络系统拓扑结构变得不规则不对称,使得通信环路难以检测,容易产生死锁现象;三是,如何均衡通道负载。已有的容错路由方法常常忽略通道负载平衡,将会造成片上互联系统提前饱和,甚至致使过负载部分局域温度过热形成热点,导致可靠性问题的进一步恶化。
标准虚拟通道(virtual-channel,简称VC)路由器微体系结构每个输入端口均连接一定数目的缓存器(buffer),对应的物理链路由不同缓存器通过时分复用完成各自的数据通讯,在功能上各通道相互独立,我们称为虚拟通道。VC的数目和存储深度由实际情况决定。buffer用来存储传输的数据;路由计算单元确定数据传输的下游节点;VC分配单元决定数据传输的下游节点对应的虚拟通道。最后,开关分配器(switch allocator)决定数据包通过crossbar的顺序。已有的故障诊断方法将路由器标定为两种状态——完全正常工作和完全失效。将部分故障的路由器标定为完全失效状态,无法充分利用部分故障路由器中无故障组件,致使资源无法充分利用。假设第一个输入端口对应的第二个虚拟通道发生故障,同时crossbar中由东向北的链路发生故障,路由器其他部分仍可正常工作。简单标定该路由器完全失效,无法充分发挥部分故障路由器中未故障组件的作用,会造成系统资源的浪费。
发明内容
为了克服上述现有技术的缺陷,本发明的目的在于提供一种基于通道依赖关系图的片上互联网络容错路由方法,该容错方法不需要增加额外的硬件开销,能够充分利用无故障的组件,提高系统资源的利用率,并有效解决NoC死锁问题,分析各通道带宽使用及数据流的传输需求,通过静态的分配资源达到通道负载均衡分配,最终实现高带宽,低延时的传输。
为了达到上述目的,本发明的技术方案是这样实现的:
一种基于通道依赖关系图的片上互联网络容错路由方法,包括以下步骤:
步骤一、首先对应用程序模块的通信特性进行分析,分析应用程序模块是否存在通信要求,根据应用程序模块之间是否存在通信要求生成二分图,二分图中的应用程序模块分别列于源节点和目标节点两侧,实线表示对应的应用程序模块间有通信需求;并生成相应的应用程序模块通信关系矩阵applicationtraffic matrix,简称ATM,ATM由对应的通信关系二分图生成,ATM中元素1表示横纵坐标对应的两应用程序模块之间存在通信需求,元素0表示应用程序模块之间不存在通信需求;
步骤二、将无故障的片上互联网络拓扑结构生成无故障情况下的通道依赖关系有向图channel dependency directed graph,简称CDG;考虑故障模型及故障分布情况,通过粗、细粒度故障检测,根据不同粒度分析模式去除发生故障的链路,生成故障存在情况下的通道依赖关系有向图faulty mesh channeldependency directed graph,简称FCDG;将FCDG拓扑图中构成通道环路的路径去除,生成对应的无环通道依赖关系有向图acyclic fault channel dependencydirected graph,简称AFCDG;根据AFCDG生成片上互联网络对应的数据流连通性矩阵flow consistency matrix,简称FCM,FCM包含无环网络拓扑结构所有的连接信息,与特定的应用程序的通信要求无关;
步骤三、对ATM和FCM进行矩阵分析,选择可连通的AFCDG:首先选择单VC情况下寻找满足通信要求的FCM,即对于ATM矩阵中任意非零元素Ti,j,当FCM矩阵对应元素ai,j亦非零时,此时FCM矩阵对应的单VC AFCDG满足通信要求,基于单VC的AFCDG容错路由方法无法满足应用通信要求,需要采用多个VC并对顺序进行设置,每个VC组合采用转向模型,2VC情况下对于ATM矩阵中任意非零元素Ti,j,FCM矩阵组合满足FCM0中FCM1由FCM0为VC0对应的AFCDG,FCM1为VC1对应的AFCDG,VC0和VC1采用转向模型可以进行选择,数据传输可以经由中间节点n从源节点i传输到目标节点n,满足通信要求,VC>2解决方案相同;
步骤四、通过比较通道利用率和最小、最大通道负载,获得最佳的负载均衡路线,具体为:
1、对于数据流i,它的源节点和目标节点分别为Si和Di,在AFCDG图上增加虚拟顶点Si和Di,将虚拟顶点通过增加路径与AFCDG图连接起来,即增加Si指向(Si,x)的路径,和(x,Di)指向Di的路径,这里(Si,x)为AFCDG中所有由节点Si指向节点x的物理链路,(x,Di)为AFCDG中所有由节点x指向节点Di的物理链路;
2、每个链路具有初始权重值W=1,当有数据流i流过该链路时,该链路的权重将进行更新,W′为更新后权重,具体采用的权重计算公式如下:
其中C表示链路的带宽,di表示通过该链路的数据流i所占用的的带宽;
3、Dijktra的权重最短路径算法为每条数据流选择“最大可用带宽”的路径,数据流分配按照由高到低的带宽需求依次进行分配,最小权重路径采用Dijktra算法计算获得;
4、确定该数据流的路径之后将虚拟顶点Si和Di以及增加的路径从AFCDG删除,再用同样的方法对其他数据流依次进行分析,通过这种方式数据的传输总是选择最高可用带宽的路径为主选项进行传输,这样数据传输路径分配方法中不会发生局部路径过负载,而其余路径闲置或低负载的情况,使通道负载相对平衡。
针对系统资源利用率问题,本发明采用粗、细粒度两种故障检测方法。前者当路由器部分故障时将其标定为完全失效状态;后者,只将故障部分标定为失效状态,即无故障部分仍可正常工作,如附图2所示,图2为路由器微体系结构示意图,假设路由器第一个输入端口对应的第二个虚拟通道发生故障,同时crossbar中由东向北的链路发生故障,路由器其他部分仍可正常工作。简单标定该路由器完全失效,无法充分发挥部分故障路由器中未故障组件的作用,会造成系统资源的浪费。采用细粒度的故障检测模型时,部分故障路由器未故障部分组件仍可正常工作,即除第一个输入端口对应的VC2以外的其他VC,以及除由东向北的crossbar链路外的其他链路都正常工作。标定片上网络故障时,采用细粒度的划分能够保证路由器非故障部分资源的充分利用。因此,本发明具有提高资源利用率的优点。
数据相互等待彼此释放占用的资源,导致传输停滞的现象称为死锁。当相互等待的数据序列构成环形时,片上网络出现死锁现象。本发明通过去除通道拓扑图中构成环路的路径,从而达到避免死锁的目的。本发明采用转向模型以及补充的奇偶转向模型限制转向的位置避免数据传输环路的形成,从而达到避免死锁的目的,典型的转向模型见附图4,其中虚线表示禁止转向。采用多种转向模型,可以构成20种不同的拓展拓扑图,为路径的选择提供多个备用方案。但本发明也不局限于转向模型,也可以采用随机法和启发式方法去除构成环路的路径,从而构成无环路的通道依赖关系图。
采用加权通道负载均衡方法,数据在传输的过程中,根据通道负载情况调整数据传输路径,能够保证各通道负载处于相对均衡的状况。同时,本方法具有增强的容错能力。当系统故障率较高,或者分布复杂时,当本方法采用单一VC无法满足容错的情况下,可以使用多个VC达到容错的目的。此外,本发明采用不可分割的数据流进行传输,静态VC分配策略保证每条数据流指派唯一路径进行传输,从而确保收发序列的一致性(In-order delivery)。
本发明在存在故障的情况下,保证片上网络系统能够正常可靠地工作,保证多核间的正常通信在有效地提高资源利用率的同时能够避免死锁,并通过均衡通道负载,实现高吞吐率、低延时的数据传输要求,该方法可用于多种复杂故障情况,具有良好的可扩展性和灵活性。
附图说明
图1为本发明的流程图。
图2为路由器微体系结构示意图。
图3(a)为应用程序模块二分图,图3(b)为通信关系矩阵示意图。
图4(a)为West-first转向模型,图4(b)为East-last转向模型,图4(b)为Negative-first转向模型。
图5(a)为故障Mesh,图5(b)为CDG拓扑图,图5(c)为细粒度下的FCDG拓扑图,图5(d)为粗粒度下的FCDG拓扑图,图5(e)为细粒度下的West-first AFCDG拓扑图,图5(f)为粗粒度下的West-first AFCDG拓扑图,图5(g)为粗粒度下的East-last AFCDG拓扑图,图5(h)为细粒度下的West-firstFCM矩阵,图5(i)为粗粒度下的West-first FCM矩阵,图5(j)为粗粒度下的East-last FCM矩阵。
图6为单VC情况下寻找满足通信要求的FCM(AFCDG)的流程图。
图7(a)为故障Mesh,图7(b)为West-first AFCDG拓扑图,图7(c)为East-last AFCDG拓扑图,图7(d)为2VC下的AFCDG拓扑图,图7(e)为增加虚拟顶点的2VC AFCDG拓扑图。
图8为万能通信寻找满足要求的2个VC的FCM(AFCDG)组合过程。
具体实施方式
下面结合附图对本发明做详细叙述。
一种基于通道依赖关系图的片上互联网络容错路由方法,参照图1,包括以下步骤:
步骤一、首先对应用程序模块的通信特性进行分析,分析应用程序模块之间是否存在通信要求,根据应用程序模块之间是否存在通信要求生成二分图,参照图3二分图中的应用程序模块分别列于源节点和目标节点两侧,实线表示对应的应用程序模块间有通信需求;并生成相应的应用程序模块通信关系矩阵application traffic matrix,简称ATM,ATM由对应的通信关系二分图生成,ATM中元素1表示横纵坐标对应的两应用程序模块之间存在通信需求即附图3(a)中二分图对应的源节点和目标节点之间有实线连接,元素0表示应用程序模块之间不存在通信需求,即二分图对应的源节点和目标节点之间不存在实线连接;由于二分图及ATM是根据特定应用程序模块间的通信要求生成的,所以完全取决于应用程序模块间的通信要求,与片上互联网络的拓扑结构及故障分布状况无关;
步骤二、对无故障的片上互联网络拓扑结构进行分析,生成无故障情况下的通道依赖关系有向图channel dependency directed graph,简称CDG;考虑故障模型及故障分布情况,通过粗、细粒度故障检测,根据不同粒度分析模式去除发生故障的链路,生成故障存在情况下的通道依赖关系有向图faulty meshchannel dependency directed graph,简称FCDG;将FCDG拓扑图中构成通道环路的路径去除,生成对应的无环通道依赖关系有向图acyclic fault channeldependency directed graph,简称AFCDG;根据AFCDG生成片上互联网络对应的数据流连通性矩阵flow consistency matrix,简称FCM,FCM包含无环网络拓扑结构所有的连接信息,与特定的应用程序的通信要求无关;
具体举例说明具体实现步骤,见附图5所示,考虑单VC的3×3的2D-Mesh片上互联网络,该拓扑结构中节点3路由器由北向东的crossbar链路发生故障,同时由节点6向南方向输入端口对应的缓存器发生故障。
2.1 无故障情况下的CDG拓扑图生成过程:每个节点表示一条物理链路,对于3×3Mesh结构有24条物理链路,当节点代表的物理链路存在连通关系时,之间用有向实线连接。如附图5(b)所示,节点(6,7)和(7,8)分别代表由节点6指向节点7和节点7指向节点8的物理链路。由拓扑图可知节点6能通过7到达节点8,即两个物理连路具有连通关系,所以在ACDG图中增加节点(6,7)指向(7,8)的有向实线。
2.2 FCDG拓扑图生成过程:根据拓扑结构的故障分布情况,在CDG拓扑图中去除发生故障的链路及路径即可得到FCDG图。已有的故障诊断方法将路由器标定为两种状态——完全正常工作和完全失效。将部分故障的路由器标定为完全失效状态,无法充分利用部分故障路由器中无故障组件,致使资源无法充分利用。如附图2所示,假设路由器第一个输入端口对应的第二个虚拟通道发生故障,同时crossbar中由东向北的链路发生故障,路由器其他部分仍可正常工作。简单标定该路由器完全失效,无法充分发挥部分故障路由器中未故障组件的作用,会造成系统资源的浪费。这里增加细粒度的故障检测模型,即只将部分故障的路由器的发生故障的组件标定为失效模式,未故障组件依旧处于正常工作状态。标定片上网络故障时,采用细粒度的划分能够保证路由器非故障部分资源的充分利用;根据不同粒度的检测模型生成粗粒度及细粒度的FCDG拓扑图:对于粗粒度情况,部分故障的节点3路由器被标定为完全失效状态。CDG拓扑图中,与节点3相关的链路和路径都被去除,见附图5(d)。对于细粒度情况,无故障的虚拟通道缓存器和可用的crossbar链路依旧处于正常工作状态。CDG拓扑图中,节点6到3的故障链路被去除,同时由于路由器3由北向东crossbar发生故障连接顶点(0,3)和(3,4)的路径被去除,除此之外,其余部分正常工作,见附图5(c)。对比附图5(c)和附图5(d)可知,细粒度故障检测模型下的FCDG连接路径比粗粒度模型下的FCDG连接路径要多,因此细粒度的故障检测模型比粗粒度的检测模型具有更多的路径选择,能更充分利用系统资源。
2.3 AFCDG拓扑图的生成过程:生成的FCDG拓扑图依旧存在数据传输的环路。通过去除构成传输环路的路径,可以生成AFCDG拓扑图。该过程中,我们运用12种不同的转向模型和8种奇偶转向模型,将构成环路的路径去除,生成对应的AFCDG图。AFCDG拓扑图中不存在数据传输的环路,达到避免死锁的目的。附图5(e)、(f)、(g)、分别为不同粒度不同转向模型的AFCDG拓扑图。
根据AFCDG图可以生成对应的FCM矩阵。矩阵的列和行分别对应源和目标节点。矩阵元素(i,j)数值为1,代表源节点i和目标节点j可以通信;否则表示源节点i和目标节点j之间没有路径连通。FCM包含了AFCDG拓扑图中所有节点的连通信息。例如附图5(i)中,矩阵元素(4,0)和(4、6)数值均为“0”,与附图5(f)对应的AFCDG一致。
步骤三、对ATM和FCM进行矩阵分析,选择可连通的AFCDG:首先选择单VC情况下寻找满足通信要求的FCM,即对于ATM矩阵中任意非零元素Ti,j,当FCM矩阵对应元素ai,j亦非零时,此时FCM矩阵对应的单VC AFCDG满足通信要求,基于单VC的AFCDG容错路由方法无法满足应用通信要求,需要采用多个VC并对顺序进行设置,每个VC组合采用转向模型,2VC情况下对于ATM矩阵中任意非零元素Ti,j,FCM矩阵组合满足FCM0中FCM1由FCM0为VC0对应的AFCDG,FCM1为VC1对应的AFCDG,VC0和VC1采用转向模型可以进行选择,数据传输可以经由中间节点n从源节点i传输到目标节点n,满足通信要求,VC>2解决方案类似;
附图6为单VC情况下寻找满足通信要求的FCM(AFCDG)的过程。
首先根据应用程序的通信特性和故障分布情况分别生成相应的应用程序模块通信关系矩阵ATM和20种转向模型的AFCDG以及数据流连通性矩阵FCMk(k=0...19)。集合SETFCM最初包含所有20种FCM。
对于ATM矩阵中的非零元素Ti,j,对SETFCM集合中所有的FCMk矩阵进行计算,当FCMk矩阵对应元素ak i,j!=1时,该FCMk不满足要求,将其从SETFCM集合中去除,之后重新分析ATM中下一个非零元素。
ATM中所有非零元素均被分析后,集合SETFCM中的FCM矩阵为满足通信要求的FCM,集合SETFCM包含所有满足通信要求的FCM,若集合为空,则单VC的AFCDG无法满足通信要求。
假设各应用程序模块间都有通信需求,此时的通信关系矩阵FCM为全“1”矩阵,我们称之为“万能应用”,附图5(j)即为全“1”矩阵。附图5(h)、(i)分别为同一转向模型下基于不同粒度检测模型生成的FCM,通过比较可以看出,细粒度下FCM中值为“1”的元素明显多于粗粒度,由此可进一步得出,细粒度检测方法能更加充分利用资源,满足更加复杂的通信需求。
多个VC的AFCDG方法如下:
a、将各VC通道分为不同的集合,集合间具有不同的优先级;
b、每个VC集合采用不同的转向模型,每个集合对应生成单VC的AFCDG,保证集合中不存在180度转向,集合内不会有数据传输环路;
c、当数据传输需要转换VC集合时,只允许高优先权的VC向低优先权的VC进行传输,不同的集合的AFCDG图通过增加边界进行连通,连通时,只允许高优先权向低优先权跳变的路径;
d、采用相同的转向模型,同时具有相邻优先权的集合能够使用0度转向或转向模型都允许的转向,彼此传输数据。
见附图7所示,考虑含有一个VC的3×3的2D Mesh片上互联网络。该拓扑结构中,有故障的有向物理链路为(1,4)(3,4)及(4,7)。附图7(b),(c)分别为采用West-First和East-Last转向模型对应的AFCDG。附图7(d)为拥有两个VC的AFCDG,据本方法VC0相比VC1具有较高的优先级。前者采用West-First转向模型,后者采用East-Last转向模型。数据传输过程中,只允许West-First转向模型AFCDG向East-Last转向模型AFCDG跳变路径,即高优先权向低优先权跳变。多VC的AFCDG同样可以避免死锁,其证明可以通过增加编号的方法进行。对于K×K的2D-Mesh,(x,y)为节点坐标,对AFCDG(West-first)中(x,y)4个不同方向的虚拟通道我们按如下方式进行编号:
北:(2K-2-2x)(K-1)+K-2-y
南:(2K-2-2x)(K-1)+y-1
西:(2K-2+x)(K-1)
东:(2K-3-2x)(K-1)
对AFCDG(East-last)中(x,y)4个方向的虚拟通道按如下方式进行编号:
北:(K-1)(K-1+2x)-y
南:(K-1)(K-2+2x)+y
西:(K-1)(K-2+2x)
东:(K-1)(K-2-x)
编号后的2VC的AFCDG如附图7(d)所示,此时K值为3。多个VC的AFCDG可以通过多个单VC的AFCDG组合获得。组合过程需要添加由高优先级VC对应的AFCDG指向低优先级VC的AFCDG的传输路径。对于高优先级VC0传输的数据,在传输到下游中间节点时,可以选择采用VC0或VC1传输,此时可以进行VC0到VC1的跳变,即新增路径进行数据传输。如附图7(d)所示,节点2向节点1进行数据传输时采用VC0传输,而节点1向节点0进行数据传输时可以选择采用VC0或VC1传输,此时West-first AFCDG(VC0)中的(2,1)可以通过新增路径到达East-last AFCDG(VC1)中的(1,0),即附图7(d)中增加了从节点36(对应附图7(b)中的(2,1))指向节点6(对应附图7(c)中的(1,0))的路径(如图中虚线表示)。数据在多个VC的AFCDG传输时,需在新增路径处切换VC通道。由附图7(d)可以看出数据的传输严格按照编号递减的顺序传输,因此不会构成数据传输环路,有效地避免了死锁。
通过增加VC数目,可以有效地克服单VC情况下容错不足的限制。例如采用两个VC的情况(VC0和VC1),VC0具有较高的优先级,VC0对应的FCM矩阵(i,j)值为“0”,但是(i,u)值为“1”,VC1对应的FCM矩阵中(u,j)值为“1”。则节点i传向j的数据可以先经过VC0传到u节点,在u节点切换传输通道通过VC1将数据传输到目标节点j,实现源目标节点的通信要求。
对于万能通信寻找满足要求的2个VC的FCM(AFCDG)组合过程见附图8。
首先根据故障分布情况生成20种转向模型的AFCDG以及对应的数据流连通性矩阵FCMk(k=0...19)。集合SETFCM包含所有20种FCM。
loop1:对于SETFCM集合中FCMk元素,生成对应的集合,集合元素包含除FCMk以外的其他元素,同时生成对应的集合SETk。
步骤四、通过比较通道利用率和最小、最大通道负载,获得最佳的负载均衡路线。
基于路由表和静态虚拟通道分配机制,给每个数据流分配通信资源。负载均衡是评估系统资源是否达到充分利用指标。负载不均衡将导致局部资源利用过饱和同时局部资源很少利用的情况。本发明采用权重分析通道带宽使用情况,对于数据流i,它的源节点和目标节点分别为Si和Di。在AFCDG图上增加虚拟顶点Si和Di,将虚拟顶点通过增加路径与AFCDG图连接起来,即增加Si指向(Si,x)的路径,和(x,Di)指向Di的路径,这里(Si,x)为AFCDG中所有由节点Si指向节点x的物理链路,(x,Di)为AFCDG中所有由节点x指向节点Di的物理链路。假设由0节点向目标节点8传输数据,如附图7(e)所示,对于2VC的AFCDG图增加虚拟源顶点0和虚拟目标顶点8。增加虚拟顶点0指向AFCDG图中所有(0,3)和(0,1)的路径,增加AFCDG中所有(7,8)和(5,8)指向虚拟顶点8的路径,新增路径用虚线表示。每个链路具有初始权重值W=1,当有数据流i流过该链路时,该链路的权重将进行更新,W′为更新后权重。具体采用的权重计算公式如下:
其中C表示链路的带宽,di表示通过该链路的数据流i所占用的的带宽。Dijktra的权重最短路径算法为每条数据流选择“最大可用带宽”的路径。数据流分配按照由高到低的带宽需求依次进行分配。最小权重路径采用Dijktra算法计算获得。确定该数据流的路径之后将虚拟顶点Si和Di以及增加的路径从AFCDG删除,再用同样的方法对其他数据流依次进行分析。通过这种方式数据的传输总是选择最高可用带宽的路径为主选项进行传输。这样数据传输路径分配方法中不会发生局部路径过负载,而其余路径闲置或低负载的情况,使通道负载相对平衡。
此外,如果单条数据流同时采用多条路径进行传输,可能获得更好的吞吐率。但是,数据包通过不同的路径传输,不同路径的拥堵程度不同,最终可能导致接收序列和发射序列不同(out-of-order delivery)。数据流到达目标后需要进行序列重排,可以解决该问题,但是需要增加大量的缓存区和复杂的控制逻辑,硬件开销大,延迟高,代价昂贵。很多应用和高级别协议要求数据传输满足有序性要求,有序数据传输成为关键。本发明采用不可分割的数据流进行传输,每条数据流每个阶段指派一个VC沿唯一的路径进行传输,从而保证接收发序列的一致性。由此,本发明采用不可分割的数据流进行传输,采用静态VC分配策略保证每条数据流指派唯一路径进行传输,从而确保收发序列的一致性。
Claims (5)
1.一种基于通道依赖关系图的片上互联网络容错路由方法,其特征在于,包括以下步骤:
步骤一、首先对应用程序模块的通信特性进行分析,分析应用程序模块是否存在通信要求,根据应用程序模块之间是否存在通信要求生成二分图,二分图中的应用程序模块分别列于源节点和目标节点两侧,实线表示对应的应用程序模块间有通信需求;并生成相应的应用程序模块通信关系矩阵ATM,ATM由对应的通信关系二分图生成,ATM中元素1表示横纵坐标对应的两应用程序模块之间存在通信需求,元素0表示应用程序模块之间不存在通信需求;
步骤二、步骤二、将无故障的片上互联网络拓扑结构生成无故障情况下的通道依赖关系有向图CDG;考虑故障模型及故障分布情况,通过粗、细粒度故障检测,根据不同粒度分析模式去除发生故障的链路,生成故障存在情况下的通道依赖关系有向图FCDG;将FCDG拓扑图中构成通道环路的路径去除,生成对应的无环通道依赖关系有向图AFCDG;根据AFCDG生成片上互联网络对应的数据流连通性矩阵FCM,FCM包含无环网络拓扑结构所有的连接信息,与特定的应用程序的通信要求无关;
步骤三、对ATM和FCM进行矩阵分析,选择可连通的AFCDG:首先选择单VC情况下寻找满足通信要求的FCM,即对于ATM矩阵中任意非零元素Ti,j,当FCM矩阵对应元素ai,j亦非零时,此时FCM矩阵对应的单VC AFCDG满足通信要求,基于单VC的AFCDG容错路由方法无法满足应用通信要求,需要采用多个VC并对顺序进行设置,每个VC组合采用转向模型,2VC情况下对于ATM矩阵中任意非零元素Ti,j,FCM矩阵组合满足FCM0中FCM1中FCM0为VC0对应的AFCDG,FCM1为VC1对应的AFCDG,VC0和VC1采用转向模型可以进行选择,数据传输可以经由中间节点n从源节点i传输到目标节点n,满足通信要求,VC>2解决方案相同;
步骤四、通过比较通道利用率和最小、最大通道负载,获得最佳的负载均衡路线,具体为:1、对于数据流i,它的源节点和目标节点分别为Si和Di,在AFCDG图上增加虚拟顶点Si和Di,将虚拟顶点通过增加路径与AFCDG图连接起来,即增加Si指向(Si,x)的路径,和(x,Di)指向Di的路径,这里(Si,x)为AFCDG中所有由节点Si指向节点x的物理链路,(x,Di)为AFCDG中所有由节点x指向节点Di的物理链路;2、每个链路具有初始权重值W=1,当有数据流i流过该链路时,该链路的权重将进行更新,W′为更新后权重,具体采用的权重计算公式如下:
其中C表示链路的带宽,di表示通过该链路的数据流i所占用的的带宽;3、Dijktra的权重最短路径算法为每条数据流选择“最大可用带宽”的路径。数据流分配按照由高到低的带宽需求依次进行分配,最小权重路径采用Dijktra算法计算获得;4、确定该数据流的路径之后将虚拟顶点Si和Di以及增加的路径从AFCDG删除,再用同样的方法对其他数据流依次进行分析,通过这种方式数据的传输总是选择最高可用带宽的路径为主选项进行传输,这样数据传输路径分配方法中不会发生局部路径过负载,而其余路径闲置或低负载的情况,使通道负载相对平衡。
2.根据权利要求1所述的方法,其特征在于,步骤二中FCDG拓扑图生成过程:根据拓扑结构的故障分布情况,在CDG拓扑图中去除发生故障的链路及路径即可得到FCDG图,根据不同粒度的检测模型生成粗粒度及细粒度的FCDG拓扑图;对于粗粒度情况,部分故障的节点3路由器被标定为完全失效状态。CDG拓扑图中,与节点3相关的链路和路径都被去除,对于细粒度情况,无故障的虚拟通道缓存器和可用的crossbar链路依旧处于正常工作状态,CDG拓扑图中,节点6到3的故障链路被去除,同时由于路由器3由北向东crossbar发生故障连接顶点(0,3)和(3,4)的路径被去除,除此之外,其余部分正常工作,细粒度故障检测模型下的FCDG连接路径比粗粒度模型下的FCDG连接路径要多,因此细粒度的故障检测模型比粗粒度的检测模型具有更多的路径选择,能更充分利用系统资源。
3.根据权利要求1所述的方法,其特征在于,步骤三中单VC情况下寻找满足通信要求的FCM的方法为:首先根据应用程序的通信特性和故障分布情况分别生成相应的应用程序模块通信关系矩阵ATM和20种转向模型的AFCDG以及数据流连通性矩阵FCMk(k=0...19),集合SETFCM最初包含所有的FCM,对于ATM中任意非零元素Ti,j,遍历SETFCM集合中FCMk,当对应元素为零时,FCMk不满足要求,将其从SETFCM集合中去除,之后重新分析ATM中下一个非零元素;ATM中所有非零元素均被分析后,集合SETFCM包含所有满足通信要求的FCM,若集合为空,则单VC的AFCDG无法满足通信要求。
4.根据权利要求1所述的方法,其特征在于,采用多个VC并对顺序进行设置的方法如下:a、将各VC通道分为不同的集合,集合间具有不同的优先级;
b、每个VC集合采用不同的转向模型,每个集合对应生成单VC的AFCDG,保证集合中不存在180度转向,集合内不会有数据传输环路;
c、当数据传输需要转换VC集合时,只允许高优先权的VC向低优先权的VC进行传输,不同的集合的AFCDG图通过增加边界进行连通,连通时,只允许高优先权向低优先权跳变的路径;
d、采用相同的转向模型,同时具有相邻优先权的集合能够使用0度转向或转向模型都允许的转向,彼此传输数据。
5.根据权利要求1所述的方法,其特征在于,步骤四的具体方法为:采用权重分析通道带宽使用情况,对于数据流i,它的源节点和目标节点分别为Si和Di;在AFCDG图上增加虚拟顶点Si和Di,将虚拟顶点通过增加路径与AFCDG图连接起来,即增加Si指向(Si,x)的路径,和(x,Di)指向Di的路径,这里(Si,x)为AFCDG中所有由节点Si指向节点x的物理链路,(x,Di)为AFCDG中所有由节点x指向节点Di的物理链路,假设由0节点向目标节点8传输数据,如附图7(e)所示,对于2VC的AFCDG图增加虚拟源顶点0和虚拟目标顶点8,增加虚拟顶点0指向AFCDG图中所有(0,3)和(0,1)的路径,增加AFCDG中所有(7,8)和(5,8)指向虚拟顶点8的路径,新增路径用虚线表示;每个链路具有初始权重值W=1,当有数据流i流过该链路时,该链路的权重将进行更新,W′为更新后权重,具体采用的权重计算公式如下:
其中C表示链路的带宽,di表示通过该链路的数据流i所占用的的带宽;Dijktra的权重最短路径算法为每条数据流选择“最大可用带宽”的路径;数据流分配按照由高到低的带宽需求依次进行分配;最小权重路径采用Dijktra算法计算获得。确定该数据流的路径之后将虚拟顶点Si和Di以及增加的路径从AFCDG删除,再用同样的方法对其他数据流依次进行分析,通过这种方式数据的传输总是选择最高可用带宽的路径为主选项进行传输,这样数据传输路径分配方法中不会发生局部路径过负载,而其余路径闲置或低负载的情况,使通道负载相对平衡。
一种基于通道依赖关系图的片上互联网络容错路由方法,首先,对应用程序的通信特性进行分析,建立应用程序模块的通信关系二分图,生成通信关系矩阵ATM,同时,生成无故障情况下的通道依赖关系有向图CDG,通过粗、细粒度故障检测,生成故障情况下的通道依赖关系有向图FCDG,应用转向模型最终生成对应的无环通道依赖关系有向图AFCDG及相应的数据流通信矩阵FCM,其次对ATM和FCM进行矩阵分析,选择可连通的单VC或多VC的AFCDG并对VC顺序进行设置,最后通过比较获得最佳的负载均衡路由方案,该方法通过粗,细粒度的故障检测方法最大限度地利用可用资源,构造基于单VC或多VC的带权重无环通道依赖关系有向图AFCDG实现避免死锁及负载均衡的目的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083054.XA CN102761475B (zh) | 2012-03-27 | 2012-03-27 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210083054.XA CN102761475B (zh) | 2012-03-27 | 2012-03-27 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102761475A true CN102761475A (zh) | 2012-10-31 |
CN102761475B CN102761475B (zh) | 2015-08-05 |
Family
ID=47055801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210083054.XA Expired - Fee Related CN102761475B (zh) | 2012-03-27 | 2012-03-27 | 一种基于通道依赖关系图的片上互联网络容错路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102761475B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015157961A1 (zh) * | 2014-04-17 | 2015-10-22 | 华为技术有限公司 | 基于片的光互连系统及其保护方法 |
WO2015165280A1 (zh) * | 2014-04-30 | 2015-11-05 | 华为技术有限公司 | 一种确定中间路由节点的方法、装置及系统 |
CN105824984A (zh) * | 2016-04-20 | 2016-08-03 | 苏州芯禾电子科技有限公司 | 多通道高速级联的方法 |
CN107104909A (zh) * | 2017-05-10 | 2017-08-29 | 华南理工大学 | 可容错的专用片上网络拓扑生成方法 |
CN107994941A (zh) * | 2017-11-20 | 2018-05-04 | 清华大学 | 空分复用光网络串扰监测、溯源与光路重优化方法 |
CN111060104A (zh) * | 2019-12-13 | 2020-04-24 | 杭州昕华信息科技有限公司 | 一种机器人巡视区域确定方法、装置、介质及设备 |
CN112596490A (zh) * | 2020-02-28 | 2021-04-02 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 工业机器人故障检测方法、装置、计算机设备及存储介质 |
CN112994990A (zh) * | 2021-05-20 | 2021-06-18 | 蚂蚁金服(杭州)网络技术有限公司 | 一种环路检测方法、装置、电子设备与存储介质 |
CN114692551A (zh) * | 2022-03-22 | 2022-07-01 | 中国科学院大学 | 一种Verilog设计文件安全关键信号的检测方法 |
CN116112344A (zh) * | 2023-04-11 | 2023-05-12 | 山东金宇信息科技集团有限公司 | 一种机房故障网络设备检测方法、设备及介质 |
CN116578522A (zh) * | 2023-07-13 | 2023-08-11 | 中电海康集团有限公司 | 基于众核架构的数据处理方法、装置、设备及存储介质 |
CN117950973A (zh) * | 2024-03-25 | 2024-04-30 | 摩尔线程智能科技(北京)有限责任公司 | 性能分析方法、装置、电子设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834797A (zh) * | 2010-05-06 | 2010-09-15 | 复旦大学 | 一种针对片上网络的低复杂度和可扩展的容错路由算法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及系统 |
-
2012
- 2012-03-27 CN CN201210083054.XA patent/CN102761475B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834797A (zh) * | 2010-05-06 | 2010-09-15 | 复旦大学 | 一种针对片上网络的低复杂度和可扩展的容错路由算法 |
CN102148763A (zh) * | 2011-04-28 | 2011-08-10 | 南京航空航天大学 | 一种应用于片上网络的动态路径分配方法及系统 |
Non-Patent Citations (4)
Title |
---|
ADAN KOHLER,等: "Fault Tolerant Network on Chip Switching with graceful performance degradation", 《IEEE TRANSACTIONS ON COMPUTER-AIDED OF INTEGRATED CIRCUITS AND SYSTEMS》 * |
ZHILIANG QIAN,等: "A Fault-tolerant Network-on-Chip Design using Dynamic reconfiguration of partial-faulty routing resources", 《2011 IEEE/IFIP 19TH INTERNATIONAL CONFERENCE ON VLSI AND SYSTEM-ON-CHIP》 * |
付斌章,等: "面向高可靠片上网络通信的可重构路由算法", 《计算机辅助设计与图形学报》 * |
石泽文: "多核处理器的容错路由与粒度建模研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015157961A1 (zh) * | 2014-04-17 | 2015-10-22 | 华为技术有限公司 | 基于片的光互连系统及其保护方法 |
CN105264793A (zh) * | 2014-04-17 | 2016-01-20 | 华为技术有限公司 | 基于片的光互连系统及其保护方法 |
WO2015165280A1 (zh) * | 2014-04-30 | 2015-11-05 | 华为技术有限公司 | 一种确定中间路由节点的方法、装置及系统 |
US9906435B2 (en) | 2014-04-30 | 2018-02-27 | Huawei Technologies Co., Ltd. | Method and apparatus for determining intermediate routing node and system |
CN105824984A (zh) * | 2016-04-20 | 2016-08-03 | 苏州芯禾电子科技有限公司 | 多通道高速级联的方法 |
CN107104909A (zh) * | 2017-05-10 | 2017-08-29 | 华南理工大学 | 可容错的专用片上网络拓扑生成方法 |
CN107994941A (zh) * | 2017-11-20 | 2018-05-04 | 清华大学 | 空分复用光网络串扰监测、溯源与光路重优化方法 |
CN107994941B (zh) * | 2017-11-20 | 2019-10-29 | 清华大学 | 空分复用光网络串扰监测、溯源与光路重优化方法 |
CN111060104A (zh) * | 2019-12-13 | 2020-04-24 | 杭州昕华信息科技有限公司 | 一种机器人巡视区域确定方法、装置、介质及设备 |
CN112596490A (zh) * | 2020-02-28 | 2021-04-02 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 工业机器人故障检测方法、装置、计算机设备及存储介质 |
CN112994990A (zh) * | 2021-05-20 | 2021-06-18 | 蚂蚁金服(杭州)网络技术有限公司 | 一种环路检测方法、装置、电子设备与存储介质 |
CN114692551A (zh) * | 2022-03-22 | 2022-07-01 | 中国科学院大学 | 一种Verilog设计文件安全关键信号的检测方法 |
CN114692551B (zh) * | 2022-03-22 | 2024-06-07 | 中国科学院大学 | 一种Verilog设计文件安全关键信号的检测方法 |
CN116112344A (zh) * | 2023-04-11 | 2023-05-12 | 山东金宇信息科技集团有限公司 | 一种机房故障网络设备检测方法、设备及介质 |
CN116112344B (zh) * | 2023-04-11 | 2023-06-20 | 山东金宇信息科技集团有限公司 | 一种机房故障网络设备检测方法、设备及介质 |
CN116578522A (zh) * | 2023-07-13 | 2023-08-11 | 中电海康集团有限公司 | 基于众核架构的数据处理方法、装置、设备及存储介质 |
CN116578522B (zh) * | 2023-07-13 | 2023-12-01 | 中电海康集团有限公司 | 基于众核架构的数据处理方法、装置、设备及存储介质 |
CN117950973A (zh) * | 2024-03-25 | 2024-04-30 | 摩尔线程智能科技(北京)有限责任公司 | 性能分析方法、装置、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN102761475B (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102761475B (zh) | 一种基于通道依赖关系图的片上互联网络容错路由方法 | |
CN109561034B (zh) | 三维网络拓扑结构及其路由算法 | |
DiTomaso et al. | QORE: A fault tolerant network-on-chip architecture with power-efficient quad-function channel (QFC) buffers | |
US9294419B2 (en) | Scalable multi-layer 2D-mesh routers | |
Latif et al. | PVS-NoC: Partial virtual channel sharing NoC architecture | |
Hsin et al. | Ant colony optimization-based fault-aware routing in mesh-based network-on-chip systems | |
Choudhary et al. | Performance evaluation of mesh-based NoCs: Implementation of a new architecture and routing algorithm | |
Dehghani et al. | A fault-tolerant hierarchical hybrid mesh-based wireless network-on-chip architecture for multicore platforms | |
Ren et al. | A fault tolerant NoC architecture using quad-spare mesh topology and dynamic reconfiguration | |
Moriam et al. | Fault tolerant deadlock-free adaptive routing algorithms for hexagonal networks-on-chip | |
Neishaburi et al. | ERAVC: Enhanced reliability aware NoC router | |
Charif et al. | A new approach to deadlock-free fully adaptive routing for high-performance fault-tolerant NoCs | |
Uma et al. | Network-on-chip (noc)-routing techniques: A study and analysis | |
Taheri et al. | Advertiser elevator: A fault tolerant routing algorithm for partially connected 3D Network-on-Chips | |
Neishaburi et al. | NISHA: A fault-tolerant NoC router enabling deadlock-free interconnection of subnets in hierarchical architectures | |
Meyer et al. | On the design of a fault-tolerant photonic network-on-chip | |
Parane et al. | Design of an adaptive and reliable network on chip router architecture using FPGA | |
Shafiei et al. | Development of an adaptive multipath routing algorithm by examining the congestion and channel fault of one-hop nodes in network-on-chip | |
Yang et al. | Fault-tolerant routing schemes in RDT (2, 2, 1)//spl alpha/-based interconnection network for networks-on-chip design | |
Li et al. | Fault tolerant routing algorithm based on the artificial potential field model in Network-on-Chip | |
Chatterjee et al. | A spare link based reliable network-on-chip design | |
Zhang et al. | Very fine-grained fault-tolerant routing algorithm of NoC based on buffer reuse | |
Behrouz et al. | Fault-tolerant routing algorithms in networks on-chip | |
Khichar et al. | Fault aware adaptive routing algorithm for mesh based NoCs | |
Adamu et al. | Review of deterministic routing algorithm for network-on-chip |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150805 Termination date: 20180327 |