CN1787478A - 一种多维交换结构中的无死锁自适应路由方法 - Google Patents
一种多维交换结构中的无死锁自适应路由方法 Download PDFInfo
- Publication number
- CN1787478A CN1787478A CNA200410081428XA CN200410081428A CN1787478A CN 1787478 A CN1787478 A CN 1787478A CN A200410081428X A CNA200410081428X A CN A200410081428XA CN 200410081428 A CN200410081428 A CN 200410081428A CN 1787478 A CN1787478 A CN 1787478A
- Authority
- CN
- China
- Prior art keywords
- route
- dimension
- quadrant
- deadlock
- routing
- 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
- 230000003044 adaptive effect Effects 0.000 title abstract description 9
- 239000004744 fabric Substances 0.000 claims description 41
- 230000001105 regulatory effect Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 abstract description 10
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000001965 increasing effect Effects 0.000 abstract description 4
- 230000002349 favourable effect Effects 0.000 abstract 1
- 238000011084 recovery Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000007363 ring formation reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种多维交换结构中的无死锁自适应路由方法,它是采用对缓存资源与路由进行划分,并且在各类缓存资源与路由之间进行绑定的方法,实现了无死锁路由。与现有的死锁避免路由算法相比,对路由灵活性的限制较小,有利于减小分组传输的时延,提高交换结构的吞吐量,有更好的容错能力;与现有的死锁恢复路由算法相比,本发明具有不需要死锁检测机制、算法简单、易于实现等特点。此外,由于每个节点上的缓存资源分类方式只与交换结构的维数有关,当每维节点数增加时,并不需要改变节点上缓存资源的分类方式,所以本发明具有良好的可扩展性。
Description
技术领域
本发明属于通信系统、并行计算机系统中的交换结构技术领域,特别涉及采用多维交换结构的路山器/分组交换机、多处理器系统的交换结构中的路由技术。
背景技术
交换结构是路由/交换设备(路由器、交换机)与多处理器系统(multi-processor system)的核心部件。对于前者而言,交换结构把路由器/分组交换机的各个端口连接起来,将从源端口来的分组传输到目的端口,从而完成分组的存储转发或交换。对于后者而言,交换结构把多个处理器连接起来,从而实现各个处理器之间的通信。
交换结构主要由链路与节点构成,其中节点上可以带有缓存、交换单元与端口等。按照其拓扑结构,常见的交换结构可以分为两类:一类的端口与交换单元在拓扑上是分离的,分别属于不同节点;另一类则在每一节点上都同时集成了端口与交换单元。多维交换结构属于后者。图1是典型的多维交换结构的拓扑与节点结构。一个多维交换结构一般可以用四个方面的特性来描述:拓扑、路由算法、流控制、交换技术。目前多维交换结构通常都采用有虚通道(virtual channel)的流控制技术(见文献W.J.Dally,″Virtual-Channel Flow Control″,IEEE Trans.Parallel and Distributed Systems,Vol.3,No.2,pp.194-205,Mar.1992),分组以虫孔路由(wormhole routing,见文献L.M.Ni and P.K.McKinley,″a survey of wormholerouting techniques in direct networks″,Computer,Vol.26,No.2,pp.62-76,Feb.1993)或虚穿通(virtual cut-through)的交换技术在节点间传输,不同多维交换结构之间的差异主要在拓扑和路由算法上。
近年来,用户对路由器/分组交换机的容量的要求,对多处理器系统的计算能力的要求在不断增长,从而对交换结构的性能提出很高的要求。多维交换结构(包括n维mesh/torus网络、超立方体、k元n方体)具有容量大、扩展性好、可靠性高等特点。在多处理器系统领域,多维交换结构已有10多年的深入研究,并得到广泛应用:例如Touchstone Delta,Cray T3D,Intel公司的iPSC,麻省理工学院的J-Machine,斯坦福大学的DASH等。在太比特级路由器/分组交换机领域,现有路由器/分组交换机所普遍采用的多级交换结构具有系统扩展代价高、可靠性低、维护复杂等缺点,因而业界一直在研究新的交换结构技术,以寻求突破。由于多维交换结构具有上述固有的优点,满足太比特级路由器/分组交换机的要求,同时技术相对成熟,因此成为了颇具前景的热点技术之一(见文献W.J.Dally,″Scalable Switching Fabrics for Internet Routers″,Whitepaper,Avici Systems,Inc.)。
多维交换结构不是自路由的交换结构,因而路由问题是其核心问题之一。与其他网络(如IP网络或光网络)相似,多维交换结构中的路由问题也可以抽象为在连通图上寻找路径的数学问题,但是由于其自身的特点,多维交换结构中的路由问题具有不同于其他网络的特殊性:多维交换结构的交换节点上的缓存资源有限,每一个分组在占用某一节点的缓存资源的同时请求下一跳节点的缓存资源,这样多个分组可能形成对若干节点的缓存资源的成环请求(如图2所示),卷入成环请求的分组能成功请求到下一跳缓存资源的前提条件是必须首先释放自己当前所占用的缓存资源,因此该分组实际上无法请求到所需缓存资源,从而无法传输。这就是路由死锁(deadlock)问题。多维交换结构中路由算法的重点就在于解决死锁问题,即计算无死锁路由(deadlock-free routing),同时需要考虑提高交换结构的吞吐量,增强容错性等。解决死锁问题具有多种思路,但本质上都是对路由进行一定限制,然而提高吞吐量和增强容错性则需要减少对路由的限制,增强路由的灵活性,所以这两个要求之间存在固有的矛盾,必须进行折衷处理。考虑到多维交换结构的易扩展性,路由算法也必须有良好的扩展能力。同时,不管是应用于太比特级路由器/分组交换机领域,还是多处理器领域,对交换结构传输速率的要求都很高,因此路由算法必须简单高效,便于硬件实现。所以路由技术不仅仅是多维交换结构技术的重点之一,也是其难点所在。
从路由死锁的成因可以看出:要解决死锁问题就必须破除对缓存资源的成环请求。按照破除成环资源请求的策略的不同,目前业界所采用的以及文献中所提出的对死锁问题的解决方案可以分为如下两类:
●死锁避免(deadlock-avoidance):对路由进行较强的限制,规定一部分路由是不能使用的,从而保证在交换结构中始终不会出现对缓存资源的成环请求。如C.J.Glass与L.M.Ni提出了拐角模型(turn model,见文献C.J.Glass and L.M.Ni,“The Turn Model for Adaptive Routing,”J.ACM,pp.874-902,Sept.1994),分析所有分组的路由可能包含的拐角以及这些拐角可能形成的环,然后禁止某些拐角以打破所有的环,从而只包含剩下那些拐角的路由就是无死锁的。例如著名的2维mesh交换结构上的XY路由算法(属于维序路由算法,dimension-order routing,DOR),分组按照最短路径先沿X维传输,再沿Y维传输,就可以看作是禁止了8个可能的拐角中的4个所得到的,如图3所示。
●死锁恢复(deadlock-recovery,见文献T.M.Pinkston,″Flexible andEfficient Routing Based on Progressive Deadlock Recovery″,IEEE Trans.Computers,Vol.48,No.7,pp.649-669,July 1999):每个节点的所有缓存资源划分为普通缓存与逃逸缓存,这种缓存的划分也可以视为把网络分为两层:普通层与逃逸层。所有分组首先进入普通层,在这一层中采用可能发生死锁的路由算法传输。同时运行某种死锁检测机制,一旦检测到有死锁发生,则有选择性的把发生死锁的分组接入到逃逸层,在这一层以某种绝对无死锁的路由算法传输到目的节点。只要满足以下条件,就绝对可以解决所有死锁:
a)所有死锁都会被检测到;
b)如果若干个分组,P1,P2,P3,…,Pn构成一个死锁,则这n个分组中,至少有一个可以被接入到逃逸层;
c)逃逸层的路由算法绝对无死锁。
从对路由的限制的角度来比较上述两种策略:死锁避免策略可以视为在所有缓存资源上路由的灵活性都受到限制;而死锁恢复策略则是把全体缓存资源分为两部分:普通缓存与逃逸缓存,在普通缓存上路由不受限制,而只在逃逸缓存上路由的灵活性才受到限制。由于逃逸缓存占所有缓存资源的比例很小,所以总体上看,死锁恢复策略对路由灵活性的限制要小得多,采用死锁恢复策略的路由算法可以具有更好的自适应性、路由分散特性和容错性,这正是其相对于死锁避免的优点所在。然而另一方面,死锁恢复路由算法的性能在相当大程度上受到其死锁检测机制的性能的影响。如果检测机制不够灵敏,可能导致某些死锁的分组不能及时接入到逃逸层;如果检测机制过于灵敏,可能把普通的拥塞认为是死锁,从而把大量没有死锁的分组接入到逃逸层,使得逃逸缓存资源被大量占用,也会导致真正死锁的分组不能及时接入到逃逸层。这两种情况都会使路由算法性能下降。此外,当业务负载较轻时,死锁发生的概率较小,当业务负载较重时,死锁发生的概率将大大增加,这就要求死锁检测机制对不同负载量都要有较好的适应能力。同时,一些设计参数(如逃逸缓存的数量)的确定也就比较困难。这些都使得路由算法变得复杂,不利于硬件实现。正是由于现有的死锁避免与死锁恢复策略各有优缺点,都不够完美,寻找解决路由死锁问题的新途径也就成为目前多维交换结构领域的研究热点之一。
发明内容
本发明的目的是提供一种多维交换结构中的无死锁自适应路由方法,按照本发明的路由方法得到的路由绝对无死锁,且具有较强的灵活性,并且本发明的路由方法简单易实现。本发明的路由方法适用于采用n维mesh/torus网络拓扑的多维交换结构,对方法细节进行不大的修改之后也可用于采用其他拓扑的多维交换结构。
为方便描述,先给出定义如下:
对于一个n维交换结构,每个节点x可用n维向量(x1,x2,...,xn)来表示,其中xi表示该节点在第i维上的坐标。令所有节点的集合为V。每条链路a可表示为二元组(n1,n2),n1,n2∈V,节点n1,n2是链路a的两个端点。令所有链路的集合为E。
棱:称满足如下条件的节点、链路交替组成的序列(x0,a1,x1,a2,...,xk-1,ak,xk),xi∈V,ai∈E为n维交换结构的一条棱:
1.ai=(xi-1,xi),即ai以xi-1与xi为端点;
2.对于n维mesh网络拓扑,k=n-1,且节点不重复出现,即对i≠j,xi≠xj;
对于n维torus网络拓扑,k=n,且除了x0=xk之外,节点不重复出现;
3.所有节点只有一个维度i上的坐标不同,其他所有维度上的坐标都相同。此时称这条棱为一条沿维度i的棱。
正方向:对某一维,称节点在该维的坐标递增的方向为该维的正方向,简称为该维的正向。
负方向:相对应的,称节点在该维的坐标递减的方向为该维的负方向,简称为该维的负向。
环回链路(wraparound link):对于torus网络拓扑中的一条沿维度i的棱,为方便描述,我们定义连接第i维坐标最大的节点与第i维坐标最小的节点的链路为环回链路。实际上,由于torus网络拓扑具有全网对称性,因而任何一条链路都可以被视为某一维上的环回链路,图4给出了上述定义的一个例子。
层:将多维交换结构的每个节点上的缓存按照相同的分类方法分为若干类,每一类缓存的全体构成该多维交换结构的一个层。由于每个节点上的缓存的分类方法都相同,所以每一层都具有与该多维交换结构物理拓扑完全相同的虚拓扑。
本发明所提供的无死锁路由方法在应用于mesh网络拓扑时与应用于torus网络拓扑时有细微的差别。
本发明提供一种多维交换结构中的无死锁自适应路由方法,其特征是它采用以下步骤实现:
步骤1:初始化步骤。
初始化步骤在分组进入多维交换结构之前进行,对多维交换结构进行配置,包括以下三个子步骤:
首先,划分象限。
对任意源、目的节点对,以源节点为原点,以源节点所在的棱为坐标轴,把整个n维交换结构划分为2n个象限。
对于n维mesh网络拓扑,每个象限延伸到mesh的边界,且只有唯一一个象限(记为象限A)内部存在从源节点到目的节点的完整路由。
对于torus网络拓扑,每个象限延伸到目的节点所在的棱(即目的节点所在的棱是两个相邻象限的分界线),且任意一个象限内部都存在从源节点到目的节点的完整路由。
对于一个象限,用Di表示该象限在第i维的方向,Di∈{+,-},若在该象限内部,从源节点到目的节点的最短路由是沿着第i维的正向,则Di为正;反之Di为负。于是一个象限可以表示为(D1,D2,...,Dn)的形式。图5以2维torus网络拓扑为例给出了划分象限的示意图。
然后,规定路由的合法性。
合法路由必须满足以下条件:整条路由在任一维度上只能沿一个方向前进。任意一条合法路由都始终位于某个象限的内部或边界上,即不会出现跨象限的路由,而且路由在任一维度上的方向与其所属象限在该维度上的方向是一致的。图6给出了2维torus网络拓扑上的一条合法路由。
最后,确定路由与缓存资源的类别。
对于torus网络拓扑,对任一维度,任一合法路由必然属于以下四类中的一类:
●第0类:沿该维正向,且经过环回链路,记为W+;
●第1类:沿该维负向,且经过环回链路,记为W-;
●第2类:沿该维正向,且不经过环回链路,记为NW+;
●第3类:沿该维负向,且不经过环回链路,记为NW-。
对于mesh网络拓扑,对任一维度,任一合法路由必然属于以下两类中的一类:
●第0类:沿该维正向,记为+;
●第1类:沿该维负向,记为-。
对于n维torus网络拓扑,用Ci表示路由在第i维上的类型,Ci∈{0,1,2,3},所有合法路由可以分为4n类,每一类可表示为(C1,C2,...,Cn)。相应的,把每个节点上的缓存资源平均分为4n类,即把整个多维交换结构分为4n层。
对于n维mesh网络拓扑,所有合法路由可以分为2n类,每一类可表示为(C1,C2,...,Cn),C1∈{0,1}。相应的,每个节点上的缓存资源平均分为2n类,整个多维交换结构分为2n层。
每一层承载一类路由;每一条路由只能在一层上传输,即只能使用自己所属的那一类的缓存资源。对任意源、目的节点对,同一象限内的所有路由都属于同一类型。
初始化步骤结束以后,分组进入多维交换结构。
步骤2:对于torus网络拓扑,在源节点处给分组随机选择一个在初始化划分象限步骤中所划分的象限;对于mesh网络拓扑,则使用在初始化划分象限步骤中所唯一确定的象限A。
步骤3:按照初始化确定路由与缓存资源的类别步骤中的分类方法,确定在步骤2中所选的象限内的路由的类别,以及该类路由应该使用的缓存资源的层号。
步骤4:在步骤3中所确定的缓存资源的层上,分组以自适应路由的方式,选择符合初始化规定路由合法性步骤中的规定的合法路由,传输至目的节点。
经过以上步骤后,就可以得到多维交换结构中的无死锁自适应路由(图7是本发明的流程图)。
下面给出本发明所提供的路由方法无死锁的证明概要:
如果路由发生死锁,即出现缓存资源的成环请求,这首先就要求存在若干路由P1,P2,...Pk,它们或它们的部分能首尾相接构成路由环。对于torus网络拓扑而言,这意味着这些路由必须至少满足下列两个条件中的一个:
●至少在一个维度上,存在两条路由Pi,Pj,它们的方向相反;
●至少在一个维度上,存在两条路由Pi,Pj,其中一条经过该维的环回链路,另一条不经过。
对于mesh网络拓扑而言,则第一个条件一定成立。根据本发明对路由与缓存资源的分类方法,上述的Pi,Pj必属于不同类型,分别由不同的层承载,即它们各自所占用的缓存资源是完全独立的,因而不会出现对缓存资源的成环请求。
从以上描述可以看出,本发明所提供的路由方法与现有的采用死锁避免、死锁恢复策略的路由算法在设计思路上完全不同。本发明所提供的路由方法的设计思路如下:
●把节点上的缓存资源划分为若干类型(从而把交换结构分为若干层);
●相应地,所有可用路由也被划分为若干类型;
●每一类缓存资源(即交换结构的每一层)只承载一定类型的路由,通过良好的设计保证路由无死锁;
●每一个分组在进入交换结构时随机选择自己所使用的路由的类别,也就是随机选择使用哪一类缓存资源(即哪一层),然后按照自适应路由的方式在所选择的缓存资源中传输。
按照本发明所提供的路由方法的设计思路,设计重点在于对缓存资源与路由进行适当的划分,并且在各类缓存资源与路由之间进行合理的绑定。好的划分与绑定应该满足如下几条原则:
a)对每个节点上的缓存资源进行相同的划分,所有同一类的缓存资源构成一层,每一层与整个多维交换结构具有相同的拓扑。
b)每条路由只能使用自己所在层的缓存资源,即不允许出现跨层的路由;在每一层内,路由无死锁。
c)属于不同层的任意多条路由之间不会形成死锁。其中,原则a)保证了多维交换结构拓扑的连通性与对称性;原则b)与原则c)保证了路由无死锁。
本发明的实质是:路由死锁是由于路由对缓存资源的成环请求引起的,传统的死锁避免策略通过限制路由本身,以避免出现路由环的方式来避免对缓存资源的成环请求;而本发明所提供的路由方法允许出现路由环,但是通过对缓存资源的巧妙划分,使得构成环的若干路由必然使用不同的缓存资源,这样也就避免了对缓存资源的成环请求,从而避免了死锁的发生。由于允许出现路由环,本发明所提供的路由方法对路由的限制较小,分组可以选择任意一条合法路由,虽然并不是全自适应的(fully adaptive),但路由仍然具有很强的灵活性。
由于需要对缓存资源进行分类,本发明所提供的路由方法需要在交换结构节点上集成较多数量的缓存。以当前业界的技术水平,做到这一点从技术角度与成本角度来看都不算太大的困难,所以本发明所提供的路由方法是完全可行的。
与现有的采用死锁避免、死锁恢复策略的路由算法相比较,本发明所提供的路由方法具有以下优点:
●对路由灵活性的限制较小:虽然就交换结构的某一层而言,为了保证在该层路由无死锁,需要对路由进行较严格的限制,但由于分组在进入交换结构时随机选择使用哪一层的缓存资源,相同源、目的节点对之间的多个分组可以选择多条不同的路由,因此就整个交换结构而言,对路由灵活性的限制较小。
●不需要死锁检测,方法简单、易实现:只需要在分组进入交换结构时随机选择所使用的路由与缓存资源的类别,然后就以自适应路由的方式,在所选择的缓存资源中传输。与死锁恢复策略相比较,对路由方法复杂度的增加较小,也没有死锁检测机制设计参数上的困难,性能对业务量的增长也相对不敏感。
可见本发明所提供的路由方法在相当程度上兼有死锁避免路由算法与死锁恢复路由算法的优点,并避免了二者的不足。
综上所述,本发明提供了一种多维交换结构中的无死锁自适应路由方法,采用对缓存资源与路由进行适当的划分,并且在各类缓存资源与路由之间进行合理绑定的方法,实现了无死锁路由。与现有的死锁避免路由算法相比,对路由灵活性的限制较小,有利于减小分组传输的时延,提高交换结构的吞吐量,有更好的容错能力;与现有的死锁恢复路由算法相比,不需要死锁检测机制,方法简单,易于实现。此外,由于每个节点上的缓存资源分类方式只与交换结构的维数有关,与每维的节点数无关,因此当每维节点数增加时,并不需要改变节点上缓存资源的分类方式,所以方法具有良好的可扩展性。
附图及附图说明
图1是典型多维交换结构拓扑与节点结构示意图
图2是死锁的形成过程示意图
其中,
是缓存;
是分组2占用的缓存;
是分组3占用的缓存;
是分组4占用的缓存;
是分组传输路线;
是分组请求下一跳缓存的路线。
图3是分析死锁的拐角模型示意图
其中,图(a)是2维mesh结构上可能的8个拐角;
图(b)是XY路由算法允许的4个拐角。
图4是多维交换结构某一维度的正方向、负方向、环回链路示意图
图5是2维torus网络拓扑上的象限划分示意图
其中,
是节点;
是源节点;
是目的节点。
图6是2维torus网络拓扑上的合法路由示意图
其中,
是节点;
是源节点;
是目的节点。
是非法路由。
图7是应用于n维torus网络拓扑的路由方法流程图
具体实施方式
本发明所提供的路由方法可直接应用于n维mesh/torus网络拓扑的多维交换结构,保留方法框架,对方法细节进行必要修改之后,也可应用于由上述两种拓扑衍生出的其他拓扑。下面以一个采用8×8的2维torus网络拓扑的多维交换结构为例,给出本发明的一个实施实例。
步骤1:初始化步骤。
首先,划分象限。对于2维torus网络拓扑,整个交换结构划分为4个象限,分别是:
象限(+,+),即在X维为正向,在Y维为正向;
象限(+,-),即在X维为正向,在Y维为负向;
象限(-,+),即在X维为负向,在Y维为正向;
象限(-,-),即在X维为负向,在Y维为负向。
然后,规定路由的合法性。合法路由必须始终位于某个象限内部或边界上,而且:
在象限(+,+)内,在X维只沿正向前进,在Y维只沿正向前进;
在象限(+,-)内,在X维只沿正向前进,在Y维只沿负向前进;
在象限(-,+)内,在X维只沿负向前进,在Y维只沿正向前进;
在象限(-,-)内,在X维只沿负向前进,在Y维只沿负向前进。
最后,确定路由与缓存资源的类别。所有合法路由分为16类,每个节点上的缓存资源平均分为16类,从而整个交换结构分为16层,每一层承载一类路由。类型与层依次编号为:
第0类/层:(0,0),X维为W+,Y维为W+;
第1类/层:(0,1),X维为W+,Y维为W-;
第2类/层:(0,2),X维为W+,Y维为NW+;
第3类/层:(0,3),X维为W+,Y维为NW-;
第4类/层:(1,0),X维为W-,Y维为W+;
第5类/层:(1,1),X维为W-,Y维为W-;
第6类/层:(1,2),X维为W-,Y维为NW+;
第7类/层:(1,3),X维为W-,Y维为NW-;
第8类/层:(2,0),X维为NW+,Y维为W+;
第9类/层:(2,1),X维为NW+,Y维为W-;
第10类/层:(2,2),X维为NW+,Y维为NW+;
第11类/层:(2,3),X维为NW+,Y维为NW-;
第12类/层:(3,0),X维为NW-,Y维为W+;
第13类/层:(3,1),X维为NW-,Y维为W-;
第14类/层:(3,2),X维为NW-,Y维为NW+;
第15类/层:(3,3),X维为NW-,Y维为NW-。
步骤2:当一个分组进入交换结构,不失一般性,设其源节点为(4,5),目的节点为(8,2)。为该分组随机选择一个象限,不失一般性,设为象限(+,-),即沿X维的正向、Y维的负向。
步骤3:根据源、目的节点的坐标,在象限(+,-)中的合法路由在X维与Y维都不会经过环回链路,即在X维为NW+,在Y维为NW-,于是确定该分组可以使用的合法路山属于第11类,占用第11层的缓存资源。
步骤4:分组在第11层以合法的自适应路由的方式传输到目的节点。即每次从X维的正向与Y维的负向中随机选择一个作为下一跳的前进方向,若当前所在节点的X维坐标已经等于8,或者Y维坐标已经等于2,则沿另外一维传输,直到到达目的节点(8,2)。
如上所述,任意源、目的节点对的分组都可以成功传输,而且通常情况下,一个源、目的节点对之间存在多条不同的路由供分组选择。
Claims (1)
1、一种多维交换结构中的无死锁自适应路由方法,其特征是它采用以下步骤实现:
步骤1:初始化步骤
初始化步骤在分组进入多维交换结构之前进行,对多维交换结构进行配置,包括以下三个子步骤:
首先,划分象限;
对任意源、目的节点对,以源节点为原点,以源节点所在的棱为坐标轴,把整个n维交换结构划分为2n个象限;
对于n维mesh网络拓扑,每个象限延伸到mesh的边界,且只有唯一一个象限A内部存在从源节点到目的节点的完整路由;
对于torus网络拓扑,每个象限延伸到目的节点所在的棱,即目的节点所在的棱是两个相邻象限的分界线,且任意一个象限内部都存在从源节点到目的节点的完整路由;
对于一个象限,用Di表示该象限在第i维的方向,Di∈{+,-},若在该象限内部,从源节点到目的节点的最短路由是沿着第i维的正向,则Di为正;反之Di为负;于是一个象限可以表示为(D1,D2,...,Dn)的形式;
然后,规定路由的合法性;
合法路由必须满足以下条件:整条路由在任一维度上只能沿一个方向前进;任意一条合法路由都始终位于某个象限的内部或边界上,即不会出现跨象限的路由,而且路由在任一维度上的方向与其所属象限在该维度上的方向是一致的;
最后,确定路由与缓存资源的类别;
对于torus网络拓扑,对任一维度,任一合法路由必然属于以下四类中的一类:
●第0类:沿该维正向,且经过环回链路,记为W+;
●第1类:沿该维负向,且经过环回链路,记为W-;
●第2类:沿该维正向,且不经过环回链路,记为NW+;
●第3类:沿该维负向,且不经过环回链路,记为NW-;
对于mesh网络拓扑,对任一维度,任一合法路由必然属于以下两类中的一类:
●第0类:沿该维正向,记为+;
●第1类:沿该维负向,记为-;
对于n维torus网络拓扑,用Ci表示路由在第i维上的类型,Ci∈{0,1,2,3},所有合法路由可以分为4n类,每一类可表示为(C1,C2,...,Cn);相应的,把每个节点上的缓存资源平均分为4n类,即把整个多维交换结构分为4n层;
对于n维mesh网络拓扑,所有合法路由可以分为2n类,每一类可表示为(C1,C2,...,Cn),Ci∈{0,1};相应的,每个节点上的缓存资源平均分为2n类,整个多维交换结构分为2n层;
每一层承载一类路由;每一条路由只能在一层上传输,即只能使用自己所属的那一类的缓存资源;对任意源、目的节点对,同一象限内的所有路由都属于同一类型;
初始化步骤结束以后,分组进入多维交换结构;
步骤2:对于torus网络拓扑,在源节点处给分组随机选择一个在初始化划分象限步骤中所划分的象限;对于mesh网络拓扑,则使用在初始化划分象限步骤中所唯一确定的象限A;
步骤3:按照初始化确定路由与缓存资源的类别步骤中的分类方法,确定在步骤2中所选的象限内的路由的类别,以及该类路由应该使用的缓存资源的层号;
步骤4:在步骤3中所确定的缓存资源的层上,分组以自适应路由的方式,选择符合初始化规定路由合法性步骤中的规定的合法路由,传输至目的节点;
经过以上步骤后,就可以得到多维交换结构中的无死锁自适应路由。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410081428XA CN100399771C (zh) | 2004-12-09 | 2004-12-09 | 一种多维交换结构中的无死锁自适应路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200410081428XA CN100399771C (zh) | 2004-12-09 | 2004-12-09 | 一种多维交换结构中的无死锁自适应路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1787478A true CN1787478A (zh) | 2006-06-14 |
CN100399771C CN100399771C (zh) | 2008-07-02 |
Family
ID=36784794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200410081428XA Expired - Fee Related CN100399771C (zh) | 2004-12-09 | 2004-12-09 | 一种多维交换结构中的无死锁自适应路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100399771C (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267398B (zh) * | 2008-04-18 | 2010-09-01 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101369975B (zh) * | 2008-09-17 | 2011-02-09 | 上海华为技术有限公司 | 一种时延丢包的检测方法及系统 |
CN101335704B (zh) * | 2008-04-18 | 2011-05-11 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
CN102170402A (zh) * | 2011-05-31 | 2011-08-31 | 清华大学 | Torus网络中的无死锁自适应路由算法 |
CN102301365A (zh) * | 2009-01-30 | 2011-12-28 | 富士通株式会社 | 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 |
CN102904806A (zh) * | 2012-09-28 | 2013-01-30 | 清华大学 | 一种计算机系统的无死锁容错自适应路由方法 |
WO2014115049A1 (en) * | 2013-01-24 | 2014-07-31 | International Business Machines Corporation | Deadlock-free routing using edge-disjoint sub-networks |
CN105530206A (zh) * | 2015-12-22 | 2016-04-27 | 合肥工业大学 | 一种基于Torus网络的双接入结构及其工作方式 |
CN107094116A (zh) * | 2017-05-26 | 2017-08-25 | 中国科学院计算技术研究所 | 一种包含跨维度链路的直接网络路由方法和系统 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
WO2018086497A1 (en) | 2016-11-14 | 2018-05-17 | Huawei Technologies Co., Ltd. | Quad full mesh and dimension driven network architecture |
CN108259387A (zh) * | 2017-12-29 | 2018-07-06 | 曙光信息产业(北京)有限公司 | 一种通过交换机构建的交换系统及其路由算法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN111245741A (zh) * | 2019-12-31 | 2020-06-05 | 厦门美域中央信息科技有限公司 | 一种基于软件死锁和高负载跳转技术的网络流量分流方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5533198A (en) * | 1992-11-30 | 1996-07-02 | Cray Research, Inc. | Direction order priority routing of packets between nodes in a networked system |
US5513322A (en) * | 1994-05-02 | 1996-04-30 | Unisys Corporation | Multi-path message routing without deadlocks |
US5602839A (en) * | 1995-11-09 | 1997-02-11 | International Business Machines Corporation | Adaptive and dynamic message routing system for multinode wormhole networks |
US7200117B2 (en) * | 2002-01-31 | 2007-04-03 | Sun Microsystems, Inc. | Method of optimizing network capacity and fault tolerance in deadlock-free routing |
-
2004
- 2004-12-09 CN CNB200410081428XA patent/CN100399771C/zh not_active Expired - Fee Related
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335704B (zh) * | 2008-04-18 | 2011-05-11 | 清华大学 | 三维torus网中的无死锁自适应路由方法 |
CN101267398B (zh) * | 2008-04-18 | 2010-09-01 | 清华大学 | 二维torus网中的无死锁自适应路由方法 |
CN101369975B (zh) * | 2008-09-17 | 2011-02-09 | 上海华为技术有限公司 | 一种时延丢包的检测方法及系统 |
CN102301365B (zh) * | 2009-01-30 | 2013-12-25 | 富士通株式会社 | 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 |
CN102301365A (zh) * | 2009-01-30 | 2011-12-28 | 富士通株式会社 | 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质 |
CN102170402B (zh) * | 2011-05-31 | 2013-07-10 | 清华大学 | Torus网络中的无死锁自适应路由算法 |
CN102170402A (zh) * | 2011-05-31 | 2011-08-31 | 清华大学 | Torus网络中的无死锁自适应路由算法 |
CN102904806A (zh) * | 2012-09-28 | 2013-01-30 | 清华大学 | 一种计算机系统的无死锁容错自适应路由方法 |
CN102904806B (zh) * | 2012-09-28 | 2015-04-15 | 清华大学 | 一种计算机系统的无死锁容错自适应路由方法 |
WO2014115049A1 (en) * | 2013-01-24 | 2014-07-31 | International Business Machines Corporation | Deadlock-free routing using edge-disjoint sub-networks |
US9007962B2 (en) | 2013-01-24 | 2015-04-14 | International Business Machines Corporation | Deadlock-free routing using edge-disjoint sub-networks |
CN105530206B (zh) * | 2015-12-22 | 2019-01-29 | 合肥工业大学 | 一种具有双接入结构的Torus网络系统及其工作方法 |
CN105530206A (zh) * | 2015-12-22 | 2016-04-27 | 合肥工业大学 | 一种基于Torus网络的双接入结构及其工作方式 |
CN109952809A (zh) * | 2016-11-14 | 2019-06-28 | 华为技术有限公司 | 四元全网状以维度驱动的网络架构 |
WO2018086497A1 (en) | 2016-11-14 | 2018-05-17 | Huawei Technologies Co., Ltd. | Quad full mesh and dimension driven network architecture |
EP3539353A4 (en) * | 2016-11-14 | 2019-11-13 | Huawei Technologies Co., Ltd. | FOUR MESH AND SIZE CONTROL NETWORK ARCHITECTURE |
CN109952809B (zh) * | 2016-11-14 | 2020-06-16 | 华为技术有限公司 | 四元全网状以维度驱动的网络架构 |
CN107094116A (zh) * | 2017-05-26 | 2017-08-25 | 中国科学院计算技术研究所 | 一种包含跨维度链路的直接网络路由方法和系统 |
CN107094116B (zh) * | 2017-05-26 | 2020-02-28 | 中国科学院计算技术研究所 | 一种包含跨维度链路的直接网络路由方法和系统 |
CN107612746A (zh) * | 2017-10-12 | 2018-01-19 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
CN107612746B (zh) * | 2017-10-12 | 2020-12-22 | 曙光信息产业股份有限公司 | 一种构建Torus网络的方法、Torus网络和路由算法 |
CN108259387A (zh) * | 2017-12-29 | 2018-07-06 | 曙光信息产业(北京)有限公司 | 一种通过交换机构建的交换系统及其路由算法 |
CN108337196A (zh) * | 2017-12-29 | 2018-07-27 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN108259387B (zh) * | 2017-12-29 | 2020-12-22 | 曙光信息产业(北京)有限公司 | 一种通过交换机构建的交换系统及其路由方法 |
CN111245741A (zh) * | 2019-12-31 | 2020-06-05 | 厦门美域中央信息科技有限公司 | 一种基于软件死锁和高负载跳转技术的网络流量分流方法 |
Also Published As
Publication number | Publication date |
---|---|
CN100399771C (zh) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1787478A (zh) | 一种多维交换结构中的无死锁自适应路由方法 | |
Mohapatra | Wormhole routing techniques for directly connected multicomputer systems | |
CN1020533C (zh) | 并行计算系统中的可适应路径选择 | |
Gaughan et al. | Adaptive routing protocols for hypercube interconnection networks | |
Li et al. | ESM: Efficient and scalable data center multicast routing | |
CN1269053C (zh) | 分组路由方法、系统及用于分组路由的可扩展网络交换机 | |
Pinkston et al. | On deadlocks in interconnection networks | |
Sivaram et al. | Efficient broadcast and multicast on multistage interconnection networks using multiport encoding | |
JP6383793B2 (ja) | 可変な数のコア群、入出力(i/o)装置、ディレクトリ構造、及びコヒーレンシポイントを有する、キャッシュコヒーレントnoc(ネットワークオンチップ) | |
Schwiebert et al. | Optimal fully adaptive wormhole routing for meshes | |
Karkar et al. | Hybrid wire-surface wave architecture for one-to-many communication in networks-on-chip | |
Shim et al. | Static virtual channel allocation in oblivious routing | |
Fan et al. | Communication and performance evaluation of 3-ary n-cubes onto network-on-chips | |
Wu et al. | A hybrid multicast routing approach with enhanced methods for mesh-based networks-on-chip | |
Xiang et al. | Carpool: A bufferless on-chip network supporting adaptive multicast and hotspot alleviation | |
Jouraku et al. | An effective design of deadlock-free routing algorithms based on 2d turn model for irregular networks | |
Pratomo et al. | Gradient—An adaptive fault-tolerant routing algorithm for 2D mesh network-on-chips | |
CN104348695B (zh) | 一种基于人工免疫系统的虚拟网络映射方法及其系统 | |
CN1753389A (zh) | 波长路由光网络的实时软抢占方法 | |
Wang et al. | Low latency and energy efficient multicasting schemes for 3D NoC-based SoCs | |
CN1960312A (zh) | 基于mpu网络拓扑架构的高效中长程路由方法 | |
Dehghani et al. | A novel approach to optimize fault-tolerant hybrid wireless network-on-chip architectures | |
Chemli et al. | A turn model based router design for 3D network on chip | |
Bermúdez et al. | Fast routing computation on InfiniBand networks | |
CN111695316B (zh) | 一种基于改进混合算法的片上网络测试规划方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080702 Termination date: 20101209 |