k元N维mesh网中的无死锁路由方法

文档序号:7692973阅读:157来源:国知局
专利名称:k元N维mesh网中的无死锁路由方法
k元N维mesh网中的无死锁路由方法技术领域k元N维mesh网中的无死锁路由方法属于分布式高性能容错计算技术领域。
技术背景在当今的实验用及商用的多计算机系统中,mesh网是一种被广泛利用的拓扑结构。k元 n维mesh网是指一个n维的网格结构,在每一维上有k个结点。多计算机系统的性能在最大 程度上取决于系统中点到点的通讯方法的性能。因此,很有必要提出一些应用于mesh网的高 性能的容错路由方法。Glass和Ni提出的转弯模型是一个具有重要意义的部分自适应的路由方法。基于转弯模 型,路由方法可以通过限制某些转弯消除通道间的环相关,达到避免死锁的效果,而不必添 加额外的虚拟通道。基于转弯模型也可以扩展出具有容错性能的方法。Duato对中的Duato 协议进行了扩展,实现了mesh网中的无死锁完全自适应容错路由。Chien和Kim提出了另一个具有重要意义的部分自适应路由方法——平面自适应路由 (Planar Adaptive Routing),此方法将路由限制在一系列连续的平面内,只需三条虚拟通 道就可以在任何维数的网络内避免死锁。然而,在这种方法所应用的块状故障模型中,都会 有一部分非故障点像故障点一样失效,这对于高维的mesh网会造成很严重的计算能力的损 失。Gomez提出了一种通过选择中间节点而实现的两阶段容错路由方法,从源节点到中间节 点和从中间节点到目标节点分别使用不同的虚拟子网,在每一子网内部使用Duato的完全自 适应协议,两个子网使用相同的自适应虚拟通道,但使用不同的逃逸通道,也就是说,共需 要三条虚拟通道。向东提出了局部安全性信息并将其用于指导超立方体中的容错路由,在整个超立方体不 安全时仍然可以在子立方里实现有效的路由。向东等提出了一种新的扩展局部安全性信息, 并且用平面故障块模型来指导mesh网中的容错路由,这种方法在建立故障块时不需要使任何非故障点失效。块状故障模型是一种最为常用的故障模型,但是这种模型会使一些非故障节点失效。少 数的故障节点可能会使很多甚至全部的非故障节点失效,这种现象在高维的网络中更为明显。 Wang提出了最小连通部件(MCC)故障模型的概念,对于平面的MCC,每个节点在其所在每个 平面内有两份安全性信息。MCC比块状模型使更少的非故障节点失效,可以更有效指导最短 路径路由。二维的MCC比平面MCC使更少的非故障节点失效,但是对于本发明中所使用的平 面自适应路由,平面MCC更为适用。对于自适应的容错路由方法,通常需要将每条物理通道划分为一定数量的虚拟通道来实 现死锁避免方法,通道上的物理资源(如缓存、带宽)会分配到各个虚拟通道之上。因此, 实现死锁避免所需要虚拟通道个数成为影响路由方法资源利用效率的重要因素,使用更少的 虚拟通道,可以使每条虚拟通道分配到更多的资源,提高方法效率,尤其是在物理资源比较 有限的情况下;但是,更少的虚拟通道也会使得设计死锁避免方法的难度增加。一个A:元w维mesh网有yt"个节点,其中两个节点ra a ./...a2aj和0^ .;...626^之间 有连接当且仅当两节点坐标有且只有一位不同,并且|= 1。一个mesh网中的非故障节点的安全性信息可通过如下递归方式定义如果节点在两个不 同维上存在故障或存在不安全的邻居节点,那就该节点为不安全节点;否则该节点为安全节 点。故障点与不安全共同构成矩型的故障区域,不安全点在某些平面内仍然可以被使用。.在 本发明中,如果源节点到目标节点的路由路径长度等于两点之间的距离,并且路径上的节点 均为非故障点,那么我们称此路径为最短可用路径。二维mesh网中故障点与不安全点集合F构成的故障块具有如下特点(1)在矩型区域的边界处没有故障点;(2)矩型区域的内部包含所有的集合F中的故障点与不安全点;(3)矩型区域的内部不包含任何集合F之外的节点。Mesh网中的节点根据其安全性可以分为故障节点、不安全节点与安全节点三类。如果一 个网络系统内所有的节点均为不安全点或故障点,那么称这个网络系统为不安全的。 需要强调的是,已有的大多数方法都将不安全节点标记为失效,已失效的节点不能作为消息 的源节点或目标节点。而在本发明中,不安全节点仍然可以作为源节点或目标节点使用,这 也使得路由方法的性能有了很大的提高。平面自适应路由方法(PAR)给出了一个简单的用于n维mesh网的死锁避免方法,每条物理通道需要三条虚拟通道。下面我们以三维的mesh网为例来说明平面自适应路由方法的方 法。mesh网首先被划分为一系列的平面,对于三维的mesh网,分为x-y和y-z两种平面。路 由消息首先在x-y平面内路由,当x方向的偏移量变为O以后,消息跳转至y-z平面继续路由。 x-y平面又进一步被分成上升子网(图la)与下降子网(图lb)。 x-y平面中的虚拟通道分配方案如下上升子网中X方向使用虚拟通道C/, y方向使用Q + ;下降子网中X方向使用C2,y方向使用cj-。在y-z平面,上升子网(图lc)中y方向使用虚拟通道c;, z方向使用o+;下降子网中y方向使用Q, Z方向使用C3-。在三维mesh中使用以上的虚拟通道分配方案,可以有效的避免死锁。但是,可以发现, Z方向的Q和C2通道,x方向的o通道,并没有得到利用。这些空闲通道的存在意味着,在 三维mesh网中避免死锁所需的虚拟通道的个数仍然有可以减少的空间。发明内容该发明的目的在于设计了一种k元N维mesh网中的无死锁路由方法,允许节点之间的每 条物理通道被划分为两条虚拟通道,并分配到N维mesh网中各平面的上升子网和下降子网 中,通过交叠技术避免了任意相邻平面间可能形成的死锁,同时利用最高维的空闲通道达到 了更高的自适应性。本发明的特征在于,所述方法是在每一维上有k个节点的N维mesh网上依次按步骤实现的步骤(l):初始化把每条物理通道被划分为两条虚拟通道C7和C2,这两条通道均为两向通道,o通道分为 Q+和C;-两个方向的通道,Q通道分为C2+和C2-两个方向的通道,"+ "和"一"表示消息传 输的正负方向;把k元N维mesh网各维标记为&x2, jc^, x^;c",组成k元N维mesh网的平面被划分 为一系列平面,用x/x2, x2;cj,…,;^/;c"表示,对于二维的mesh网有一个平面xy,对于三维的 mesh网,分为xy平面和yz平面;对于二维mesh网,xy平面划分为上升子网与下降子网,在上升子网中,x方向分配双向通道C7, y方向分配单向通道C; + ,在下降子网中,X方向分配双向通道C2, y方向分配单向 通道C广;对于三维mesh网xy平面划分与二维mesh网相同,yz平面划分为上升子网与下降子网, 在上升子网中,y方向分配双向通道c/, z方向分配单向通道c;+;在下降子网中,y方向分配双向通道Q, Z方向分配单向通道Q-, Z方向上的C2通道用于额外的自适应通道,以便路由消息在xy平面或者yz平面路由时,能选择z方向上的通道c2进行完全自适应路由; 步骤(2):在xy平面上的消息依次按以下步骤路由步骤(2.1):在"X2平面进行自适应路由设当前节点为cmr,目的节点为&W 当前节点和目的节点在两维上的偏移量为x。丌二x^;Cc,3V/二力-;;c,其中下标c、 d分别代 表当前节点和目的节点,在上升子网中如果x。#> 0且}。#> 0,则选择上升子网通道Oza"we/ :=如果;c。#< 0且^#> 0,则选择上升子网通道C/ a""e/ := Se/ec《;cfc/—, ;<c/+";如果x。#= 0且;^> 0,则选择上升子网通道C力朋we/ :=Wc7+」;如果}。#=0且义。#>0,则选择上升子网通道C/ a""e/,x(^+人如果少<#=0且;^#<0'贝ij C7w""e/如果义。#=0,少。#=0,,贝ij CAa/we/:=当前通道;在下降子网中如果jc。#> 0且y。#< 0,则选择上升子网通道C/ a""e/ := Se/ec^fe+j, yfb广"; 如果;c。#< 0且y。#< 0,则选择上升子网通道C/w朋e/ := &/ec《x(^2—, yfc广"; 如果x。#= 0且^。#< 0,则选择上升子网通道Oja朋e/ :=;vfcd;步骤(2.2):在X2^平面进行自适应路由当消息在a方向偏移量变为零时,消息就转入X2^平面继续路由,按照步骤(l)所述的方法,根据当前节点和目的节点之间在a方向上的偏 移量决定用上升子网还是下降子网的通道进行路由,直到消息到达目的节点;步骤(2.3):在jca+;平面进行自适应路由按照步骤(l)所述的方法进行路由,直到消息到达目的节点;步骤(3):当路由消息在xy平面路由至x方向的偏移量变为零时,消息就转入yz平面按以下步骤路由在Z方向上,上升子网和下降子网分别使用Q+和C;-通道,在y方向上,上升 子网和下降子网分别使用。和q通道,路由方法与步骤(2.1)-步骤(2.3)所述相同; 步骤(4):当在;c,力w平面路由出现死锁时,依次按以下步骤路由步骤(4.1):平面x^w根据x,w维上的通道方向被划分为上升子网与下降子网,在;c,方向上,上升子网和下降子网分别使用C;和Q通道,在x,w方向上,上升子网和下降子网分别使 用0+和0-通道,使得在最高维A上的C2通道是一条空闲通道,这条通道可以用来提高路由 方法的自适应性;步骤(4.2):设定当前节点坐标(xc,;, xc.2...;cc. ),目的节点坐标(x" &,2jrf. ),路由平面 是维/, ;c,方向偏差x,.fb" = — xc,,、 x,.十/fb力=w匿;如果;c/q^ / 0, ;c,+,o" > 0,则选择上升子网通道CA朋"e/ := x,.+,q+";如果x,.+,o" < 0,则选择下降子网通道Oifl""e/ := ^/ec^^A x,.+,c厂";如果=0, x,.+,o" 〉 0,则选择通道Oiaw"e/ := &+/(^+);如果^+,0历<0,则选择通道C/w""e/:=;c,+7fcr);如果xwfb" = 0, :c,fb必〉0,则选择上升子网通道CA朋"e/ :=x,(^+J;如果x,+,o" = 0, x,fo历< 0,则选择下降子网通道Ow""e/ := x/q+J;如果x,+,o历=0, x,.fb" # 0,则选择通道Ow"we/ := x/c;」;如果对于所有i二lton, x,fb^ = 0,则选择当前通道。对于由无死锁路由方法扩展而成的容错路由方法,该方法以此按照以下步骤路由 步骤(l):按以下步骤在一系列平面x/x2, x2x3, X^Xn平面序列中建立最小连网部件 (MCC)故障模型步骤(l.l):每个平面内的节点在各条对角线方向上分别计算安全性信息,初始状态将所有非故障节点标记为安全节点,对于二维mesh网,分别在x+y+(x-y-)和x+y-(x-y+)方向上分别计算安全性信息, 一个节点若在两个与对角线成对称关系的方向存在故障或不安全节点,那 么此节点被标记为不安全节点,安全性多轮计算,直至各节点安全性达到稳定状态;步骤(1.2):每个节点保存多份安全性信息,在路由时,根据当前节点与目标节点之间的偏移方向选择相应方向上的安全性信息指导路由。步骤(2):当路由消息在平面内遇到故障节点两个方向均不能进行路由时,也可以选择在X"方 向上通过C2通道进行绕行路由,依次按以下步骤路由步骤(2.1):设定当前节点坐标OCd, &UC, ),目的节点坐标化2...化 ),路由平面 是维"步骤(2.2):如果x/敏# 0且Xi+1(off) # O,且两个邻节点C,P c洲都安全,其中的^表示 节点c在第Z维上的邻居节点,则选择通道C/ a朋e/ := &/ec《x,.(^" &+^/+"在上升子网;<formula>formula see original document page 10</formula>在下降子网;如果(^故障或不安全,aa"we/:=x,+/fbj在下降子网,Ow""e/:=义,+,<:/+>)在上升子网; 如果cG+"故障或不安全,C/ww"e/ Fx,fc^)在上升子网,Ow""e/ := x/c^在下降子网; 如果^+/「0历=0,;^0^^0,如果c(i)安全,Ow""e/:= Xj(d)在上升子网,Ow""e/:= Xl(c2)在下降子网;如果cW故障或不安全,Ow""e/ := xn(c2),回到维x,当最短路径路由存在;A+7义Z+2内不安全,在X,.+y上绕行路由;如果乂,0" = 0,义2(^扮=0, ..., x/o^ = 0,则选择当前通道。采用我们改进的方法在mesh网格中进行容错路由,与传统的PAR方法和Gomez相比,当标准化输入负载和网络中故障节点数提高时,我们的方法明显可以提高网络实际流量,并降低传输延迟,从而提高整个网络的传输性能。


图1平面自适应路由的虚拟通道分配。 图2只需两条虚拟通道的分配方案。图3 16x16x16无故障mesh网中标准化输入负载对性能的影响 节点缓存120微片故障个数0OPAR uniform X OPAR transpose —米一 PAR uniform PAR transpose --爻--Gomez uniform ~ Gomez transpose - - A--。图4 16x16x16容错mesh网中标准化输入负载对性能的影响 节点缓存120微片故障个数50OPAR uniform 〉K OPAR transpose -米一 PAR uniform PAR transpose — ,■_ Gomez uniform ~^~ Gomez transpose — A-_。图5图5 8x8x8 mesh网中节点缓存对性能的影响输入负载0.4故障个数20OPAR uniform X OPAR transpose —米一 PAR uniform PAR transpose —,— Gomez uniform ~ Gomez transpose譽匿^^_ 一 e图6 8x8x8 mesh网中故障点个数对性能的影响 节点缓存240微片输入负载0.2OPAR uniform 〉K OPAR transpose扁-米-PAR uniform ~O~ PAR transpose —,— Gomez uniform ~^~ Gomez transpose — A—。图7 k元N维mesh网中的无死锁路由方法流程图。
具体实施方式
下面给出了 x-y平面上升子网中的路由方法。在此方法中,如果当前点与目标点在x方向的偏移不为零且对应的C/通道可用,那么优先选择X方向进行路由;如果X方向的通道不可用,并且y方向上的偏移大于零,则选择y方向上的c;+通道进行路由。x-y下降子网的路由方法与上升子网的方法基本一致,唯一的不同之外在于其在X方向使用的是C2通道而不是 C/通道。输入为当前点CWT,目标点(ieW,= -义c = yrf -如果义。# 〉 0且〉 0,则 C7!(3朋e/ := &/^(^/+」,_yfc7+"; 如果义。#< 0且>>0#> 0, 贝U C7 a""e/ := Se/ec《单广」'_yfb/+"。 如果x。# = 0且_y。# > 0 ,贝U Oz朋"e/ := WO如果zo// = 0 ;否则调用 Z)e(^/oc^/^e-(^a/^'ve-raz^/wg^z(9; 如果_y0#= 0且x0#> 0, 贝U C7wwwe/ := xf"c7+J; 如果0 且义。#<0,贝lj C/uwme/::Vc广力如果x。#= 0,%#= O,且z。#= 0,贝lj C/ awwe/:= internal。当消息在x-y平面路由至x方向的偏移量变为零时,消息就转入y-z平面继续路由。下面 给出了 y-z平面内的路由方法。在z方向上,上升子网和下降子网分别使用c;+和Q-通道。 在y方向上,上升子网和下降子网分别使用C/和c2通道。输入为当前点a//r,目标点t/eW,_y0# = >v -_yc, z。/= zrf陽zc;如果少。/# 0且z0#〉 0,则C7 a""e/ := z「c;+";如果}。##0且;#<0,则C/z朋we/:= &&"6^2」,z「c广"。如果;;。#=0且 z。##0,则Ow朋e/:=Z(^);如果z。^:0且;;。^^0,则C/^""e/:= y(^)在上升子网内;否则 Oww"e/ :=><<^在下降子网内;如果x。# = 0,_y。# = 0且z。#= 0,则CA朋"e/ := internal。利用最高维上的空闲通道,我们可以将前面的三维mesh网中的路由方法扩展为完全自适 应性的路由方法。z方向上的Q通道被用作额外的自适应通道,当消息在x-y平面内路由时, 也可以选择z方向上的Q通道进行路由,消息在y-z平面内路由时,也可以选择使用z方向 上的c2通道。这样路由方法就由平面自适应性方法扩展成为了完全自适应性方法。输入为当前点cwAT,目标点cfe^, x0# =々-xc, ;^# = 3^-^;当z。/半0时,如果义0#〉0且 >^#> 0, C/z""we/ := iSe/ec《Jcfb7+」,>fc/+」,zfc"」;々口果义0#< 0且少0#〉 0, C7zawwe/ := iS^/ec/(^fb/-^),永+入咖";如果义0#>0且~<0, C力謹e/:=肠"的/+), X"c广」,zfb2";如果;<:0#<0且 < 0' C7 fl""e/ := Se/ec《:v;fc/"j'少f"c广入z(^"。 当= 0_yo## 0且z。# > 0时'CAa""e/ := 5Wec妙fb/入z&+";如果y0## 0且z。#< 0, CA画e/:= 5W/e c", z(W+"。当_^=0>^# 0且20#=0时,C7wwwe/:= iS"e/e"(3Yc/入少(^"; 如果_^<#=0, andzo##0, CAa朋e/:= zfb/入当 _y。#= 0 x0## 0且z0## 0时,C7 a朋e/ := 5Wec《单",xfb^, zfb2"。 当z0#= 0 y。#〉 0且x0## 0 曰寸,C7 awwe/:= 5Wec《x(^)' yfb/+」」;如果0且x。## 0, CAa朋e/:= Se/ec《x卩c2」,_yfb/-"; 当x。## 0 y。#= 0且z。#= 0时,Oz朋we/ := xfb"在上升子网,CAawze/ :=义(^」在下降子网。如果 x0#= 0, jv0#= 0且z。#= 0, CA朋we/ := internal 。如下所示为;c,cc^平面中的死锁路由方法。平面jc^w根据;c,+;维上的通道方向被划分为上升子网与下降子网,在X,方向上,上升子网和下降子网分别使用Q和C2通道,在x,w方向 上,上升子网和下降子网分别使用C7+和Cr通道。可以注意到,在最高维^上的C2通道是一条空闲通道,这条通道可以用来提高路由方法的自适应性。输入为当前点座标(义c,/,义c.2-.Jc."),目标点座标(化7, ^U…化"),路由平面低维Z', X,.fb"=— x"、 &+,0历=化,.+7 — Xc,z十/; 如果x/oW # 0,如果A+,o历> 0,贝ll C/ a""e/ := Se/ec《x,fc/义 A+,Q+";如果jc,.wfb历< 0,贝U C&""e/ := Se/ec^/W, x,+,c广";如果x/o历=0且;c,十/o" > 0,则CA朋w" :=^+,0;如果xw「o" < 0, C/w朋e/ :=xwfb/-」;如果;c,.+/fb" = 0且x和历> 0, 则C/^""e/ :=^(^+)在上升子网;否则C/za""e/ := jc/O在下降子网;如果xw向形=0且x/o力 # 0,贝ij Ow朋e/ ^;c,「c/^)在上升子网;否则C/ a""e/ :=jc/c2」在下降子网;如果对于所有i = 1 to n,义,|0^) = 0, C7 cz朋e/:= internal。前面所提出的无死锁路由方法可以扩展为适用于容错网络的路由方法。在故障模型方面, 本方法使用平面建立的最小连通部件(MCC)故障模型。容错路由方法的死锁避免方法同样 基于前面提出的虚拟子网划分以及虚拟通道分配策略。下面给出了在;^,+/平面内的容错路由 方法。其中的cW表示节点c在第/维上的邻居节点。对于建立故障模型时,本方法不需要在n维mesh网中所有的平面上都计算安全性信息, 而只需计算相邻维构成的一系列平面中的安全性信息,即在x;a, aa ... ;c^x"这些平面中建立 平面MCC故障模型。如下所描述的路由方法主体部分基于平面自适应路由方法,即路由消 息在从低维到高维的一系列平面内进行路由,当在一个平面内路由至较低维的偏移量为零时,消息跳转至下一个平面继续路由。此方法同时利用了最高维;c"上的空闲通道c2,使得路由方法的自适应性以及容错性能得 到了一定程度的提高。当消息在任何一个平面内进行路由时,都可以将最高维x"上的空闲通 道c2作为候选选择通道,当路由消息在平面内遇到故障节点两个方向均不能进行路由时,也 可以选择在&方向上通过c2通道进行绕行路由。方法JPfl /Wo/em "raW gf"c, rf, /,输入为当前点座标(A" Xc,2...XC, ),目标点座标(&"化2...化 ),路由平面低维/,如果# 0且xi+1(off) # O,且两个邻节点cW和c(w)都安全,C/w""e/ := &/ec c^ xwfQ+"在 上升子网;Ow朋e/ :=&/"《1/0;,;^+,0-"在下降子网;否则如果cW故障或不安全,Ow""e/ := xwf^-)在下降子网;C/ a""e/ ^;c,+,0在上升子网,如果<^+1)故障或不安全,Oj朋we/ ^x,.fc/J 在上升子网;Ow""e/ := x,fc^在下降子网。如果x,+,o历=0且Afbi) # 0,如果 一安全, CA朋恥/ := Xi(Cl)在上升子网,C/^朋e/ := Xi(c2)在下降子网;否则如果0(1)故障或不安全, C/^""e/:=xn(c2),回到维Xi当最短路径路由存在。如果jc,fo历-0, # 0且c"+"和c"+"至少有一个在平面内安全,调用Fa"/Wo/era"rra"""gfb,丄;c,+〃 ;qw」;如果c"+"禾口 c"+"在平面;c,+;x,+2内不安全,在x,w上绕行路由;如果"向0 = 0, x/q^ = 0, ..., x"fo^9 = 0, 贝U C7w朋e/ := internal 。
权利要求
1、k元N维mesh网中的无死锁路由方法,其特征在于,所述方法是在每一维上有k个节点的N维mesh网上依次按步骤实现的步骤(1)初始化把每条物理通道被划分为两条虚拟通道c1和c2,这两条通道均为两向通道,c1通道分为c1+和c1-两个方向的通道,c2通道分为c2+和c2-两个方向的通道,“+”和“-”表示消息传输的正负方向;把k元N维mesh网各维标记为x1x2,x2x3,…,xn-1xn,组成k元N维mesh网的平面被划分为一系列平面,用x1x2,x2x3,…,xn-1xn表示,对于二维的mesh网有一个平面xy,对于三维的mesh网,分为xy平面和yz平面;对于二维mesh网,xy平面划分为上升子网与下降子网,在上升子网中,x方向分配双向通道c1,y方向分配单向通道c1+,在下降子网中,x方向分配双向通道c2,y方向分配单向通道c1-;对于三维mesh网xy平面划分与二维mesh网相同,yz平面划分为上升子网与下降子网,在上升子网中,y方向分配双向通道c1,z方向分配单向通道c1+;在下降子网中,y方向分配双向通道c2,z方向分配单向通道c1-,z方向上的c2通道用于额外的自适应通道,以便路由消息在xy平面或者yz平面路由时,能选择z方向上的通道c2进行完全自适应路由;步骤(2)在xy平面上的消息依次按以下步骤路由步骤(2.1)在x1x2平面进行自适应路由设当前节点为curr,目的节点为dest当前节点和目的节点在两维上的偏移量为xoff=xd-xc,yoff=yd-yc,其中下标c、d分别代表当前节点和目的节点,在上升子网中如果xoff>0且yoff>0,则选择上升子网通道Channel=Select(x(c1+),y(c1+));如果xoff<0且yoff>0,则选择上升子网通道Channel=Select(x(c1-),y(c1+));如果xoff=0且yoff>0,则选择上升子网通道Channel=y(c1+);如果yoff=0且xoff>0,则选择上升子网通道Channel=x(c1+);如果yoff=0且xoff<0,则Channel=x(c1-);如果xoff=0,yoff=0,,则Channel=当前通道;在下降子网中如果xoff>0且yoff<0,则选择上升子网通道Channel=Select(x(c2+),y(c1-));如果xoff<0且yoff<0,则选择上升子网通道Channel=Select(x(c2+),y(c1-));如果xoff=0且yoff<0,则选择上升子网通道Channel=y(c1-);步骤(2.2)在x2x3平面进行自适应路由当消息在x1方向偏移量变为零时,消息就转入x2x3平面继续路由,按照步骤(1)所述的方法,根据当前节点和目的节点之间在x3方向上的偏移量决定用上升子网还是下降子网的通道进行路由,直到消息到达目的节点;步骤(2.3)在xixi+1平面进行自适应路由按照步骤(1)所述的方法进行路由,直到消息到达目的节点;步骤(3)当路由消息在xy平面路由至x方向的偏移量变为零时,消息就转入yz平面按以下步骤路由在z方向上,上升子网和下降子网分别使用c1+和c1-通道,在y方向上,上升子网和下降子网分别使用c1和c2通道,路由方法与步骤(2.1)-步骤(2.3)所述相同;步骤(4)当在xixi+1平面路由出现死锁时,依次按以下步骤路由步骤(4.1)平面xixi+1根据xi+1维上的通道方向被划分为上升子网与下降子网,在xi方向上,上升子网和下降子网分别使用c1和c2通道,在xi+1方向上,上升子网和下降子网分别使用c1+和c1-通道,使得在最高维xn上的c2通道是一条空闲通道,这条通道可以用来提高路由方法的自适应性;步骤(4.2)设定当前节点坐标(xc,1,xc,2…xc,n),目的节点坐标(xd,1,xd,2…xd,n),路由平面是维i,xi方向偏差xi(off)=xd,i-xc,i,xi+1(off)=xd,i+1-xc,i+1;如果xi(off)≠0,xi+1(off)>0,则选择上升子网通道Channel=Select(xi(c1),xi+1(c1+));如果xi+1(off)<0,则选择下降子网通道Channel=Select(xi(c2),xi+1(c1-));如果xi(off)=0,xi+1(off)>0,则选择通道Channel=xi+1(c1+);如果xi+1(off)<0,则选择通道Channel=xi+1(c1-);如果xi+1(off)=0,xi(off)>0,则选择上升子网通道Channel=xi(c1+);如果xi+1(off)=0,xi(off)<0,则选择下降子网通道Channel=xi(c2+);如果xi+1(off)=0,xi(off)≠0,则选择通道Channel=xi(c1);如果对于所有i=1 to n,xi(off)=0,则选择当前通道。
2、根据权利要求l所述的k元N维mesh网中的无死锁路由方法,其特征在于,所述方法为 一种由无死锁路由方法扩展而成的容错路由方法,该方法以此按照以下步骤路由步骤(l):按以下步骤在一系列平面x/x2, x2x3,^-7x"平面序列中建立最小连网部件 (MCC)故障模型步骤(l.l):每个平面内的节点在各条对角线方向上分别计算安全性信息,初始状态将所有非故障节点标记为安全节点,对于二维mesh网,分别在x+y+(x-y-)和x+y-(x-y+)方向上分别 计算安全性信息, 一个节点若在两个与对角线成对称关系的方向存在故障或不安全节点,那 么此节点被标记为不安全节点,安全性多轮计算,直至各节点安全性达到稳定状态;步骤(1.2):每个节点保存多份安全性信息,在路由时,根据当前节点与目标节点之间的偏 移方向选择相应方向上的安全性信息指导路由。步骤(2):当路由消息在平面内遇到故障节点两个方向均不能进行路由时,也可以选择在A方 向上通过G通道进行绕行路由,依次按以下步骤路由步骤(2.1):设定当前节点坐标xc,2...xc, ),目的节点坐标(x"化2...;^),路由平面 是维/;步骤(2.2):如果x,/q形# 0且Xi+1(off) # O,且两个邻节点0(1)和(^+1)都安全,其中的 一表示 节点c在第Z维上的邻居节点,则选择通道C/^""e/ := Se/ec《x/c/, ;c,+,q+"在上升子网; C/w朋e/ := &/e"f3c,fb2>), x,+,c广X)在下降子网;如果cW故障或不安全,Oza朋e/,xwfb广)在下降子网,Ow朋e/,xwf^+)在上升子网; 如果c&"故障或不安全,CAawwe/ fx,(^J在上升子网,CAa"we/ Fx,fQJ在下降子网; 如果々+/^^ = 0,;^0^^0,如果cW安全,CAa朋e/:= x,(d)在上升子网,C/za朋e/:= Xi(c2) 在下降子网;如果cW故障或不安全,Oum"e/ := xn(c2),回到维Xi当最短路径路由存在;■^■+/^k2内不安全,在上绕行路由;如果"^形=0, x,o^) = 0, ..., x/OW = 0,则选择当前通道。
全文摘要
k元N维mesh网中的无死锁路由方法属于分布式高性能容错计算技术领域,其特征在于,把节点之间的每条物理通道被划分为两条虚拟通道,这两条通道均为两向通道,并分配到N维mesh网中各平面的上升子网和下降子网中,通过交叠技术避免了任意相邻平面间可能形成的死锁,同时利用最高维的空闲通道达到了更高的自适应性;在此基础上使用平面建立的最小连通部件故障模型,进一步提高了容错性能。本发明与传统的PAR方法和Gomez方法相比,当标准化输入负载和网络中故障节点数提高时,我们的方法明显可以提高网络实际流量,并降低传输延迟,从而提高整个网络的传输性能。
文档编号H04L12/56GK101242372SQ20081010159
公开日2008年8月13日 申请日期2008年3月10日 优先权日2008年3月10日
发明者东 向, 张跃鲤 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1