專利名稱:三維torus網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法
三維torus網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法技術(shù)領(lǐng)域三維torus網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法屬于分布式高性能容錯(cuò)計(jì)算技術(shù)領(lǐng)域。
技術(shù)背景在當(dāng)今的實(shí)驗(yàn)用及商用的多計(jì)算機(jī)系統(tǒng)中,torus網(wǎng)是一種被廣泛利用的拓?fù)浣Y(jié)構(gòu)。k元 n維torus網(wǎng)是指一個(gè)n維的網(wǎng)格結(jié)構(gòu),在每一維上有k個(gè)結(jié)點(diǎn),其中每?jī)蓚€(gè)相鄰節(jié)點(diǎn)由物 理通道聯(lián)通,每一維上兩個(gè)邊界節(jié)點(diǎn)有一條邊界通道聯(lián)通。多計(jì)算機(jī)系統(tǒng)的性能在最大程度 上取決于系統(tǒng)中點(diǎn)到點(diǎn)的通訊方法的性能。因此,很有必要提出一些應(yīng)用于torus網(wǎng)的高性 能的路由方法。對(duì)于自適應(yīng)的容錯(cuò)路由方法,通常需要將每條物理通道劃分為一定數(shù)量的虛擬通道來(lái)實(shí) 現(xiàn)死鎖避免方法,通道上的物理資源(如緩存、帶寬)會(huì)分配到各個(gè)虛擬通道之上。因此, 實(shí)現(xiàn)死鎖避免所需要虛擬通道個(gè)數(shù)成為影響路由方法資源利用效率的重要因素,使用更少的 虛擬通道,可以使每條虛擬通道分配到更多的資源,提高方法效率,尤其是在物理資源比較 有限的情況下;但是,更少的虛擬通道也會(huì)使得設(shè)計(jì)死鎖避免方法的難度增加。Linder和Harden將虛擬通道的概念擴(kuò)展為虛擬子網(wǎng),并將其用于實(shí)現(xiàn)自適性、容錯(cuò)性以 及死鎖避免。不同的虛擬子網(wǎng)中分配不同的虛擬通道,對(duì)于高維的torus網(wǎng)所需的虛擬通道個(gè) 數(shù)就變得相當(dāng)大。Wu改進(jìn)了 torus網(wǎng)中的虛擬子網(wǎng)方法,虛擬通道的個(gè)數(shù)等于torus網(wǎng)的維數(shù)。 相比前面的方法,虛擬通道個(gè)數(shù)已經(jīng)大為減少。Duato提出了基于虛擬通道分配的Duato協(xié)議以避免可能產(chǎn)生的死鎖,其中需要三條虛 擬通道;后來(lái)又對(duì)Duato協(xié)議進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了 torus網(wǎng)中的無(wú)死鎖完全自適應(yīng)容錯(cuò)路由。Glass和Ni提出的轉(zhuǎn)彎模型是一個(gè)具有重要意義的部分自適應(yīng)的路由方法。基于轉(zhuǎn)彎模 型,路由方法可以通過(guò)限制某些轉(zhuǎn)彎消除通道間的環(huán)相關(guān),達(dá)到避免死鎖的效果,而不必添 加額外的虛擬通道?;谵D(zhuǎn)彎模型也可以擴(kuò)展出具有容錯(cuò)性能的方法。Chien和Kim提出了另一個(gè)具有重要意義的部分自適應(yīng)路由方法——平面自適應(yīng)路由 (Planar Adaptive Routing),此方法將路由限制在一系列連續(xù)的平面內(nèi),只需三條虛擬通 道就可以在任何維數(shù)的網(wǎng)絡(luò)內(nèi)避免死鎖。Gomez提出了一種通過(guò)選擇中間節(jié)點(diǎn)而實(shí)現(xiàn)的兩階段路由方法,從源節(jié)點(diǎn)到中間節(jié)點(diǎn)和從中間節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)分別使用不同的虛擬子網(wǎng),在每一子網(wǎng)內(nèi)部使用Duato的完全自適應(yīng) 協(xié)議,兩個(gè)子網(wǎng)使用相同的自適應(yīng)虛擬通道,但使用不同的逃逸通道,也就是說(shuō),共需要三 條虛擬通道。Dally提出一種新的GOAL算法,在避免死鎖的同時(shí),利用計(jì)算各維度上的擁擠程度來(lái)決 定消息優(yōu)先路由的維度,從而達(dá)到更高的適應(yīng)性。對(duì)于自適應(yīng)的容錯(cuò)路由方法,通常需要將每條物理通道劃分為一定數(shù)量的虛擬通道來(lái)實(shí) 現(xiàn)死鎖避免方法,通道上的物理資源(如緩存、帶寬)會(huì)分配到各個(gè)虛擬通道之上。因此, 實(shí)現(xiàn)死鎖避免所需要虛擬通道個(gè)數(shù)成為影響路由方法資源利用效率的重要因素,使用更少的 虛擬通道,可以使每條虛擬通道分配到更多的資源,提高方法效率,尤其是在物理資源比較 有限的情況下;但是,更少的虛擬通道也會(huì)使得設(shè)計(jì)死鎖避免方法的難度增加。一個(gè)A元三維torus網(wǎng)有^個(gè)節(jié)點(diǎn),其中兩個(gè)節(jié)點(diǎn)"^^口和^^^"之間有連接當(dāng)且 僅當(dāng)兩節(jié)點(diǎn)坐標(biāo)有且只有一位不同,并且| 1 = 1或者| |= k-l 。維序路由方法給出了一個(gè)簡(jiǎn)單的用于三維torus網(wǎng)的死鎖避免方法,每條物理通道需要兩 條虛擬通道。下面我們以三維的torus網(wǎng)為例來(lái)說(shuō)明Duato協(xié)議的方法。路由消息在平面內(nèi)可 沿任意方向路由,并提供單獨(dú)的第三條虛擬通道作為逃離通道來(lái)避免死鎖。平面中的虛擬通道分配方案如下虛擬子網(wǎng)中X方向不需要經(jīng)過(guò)邊界通道時(shí)使用虛擬通道C7,需要經(jīng)過(guò)邊界通道時(shí)使用虛擬通道Q, y、 z方向同理。GOAL方法在路由消息時(shí),先計(jì)算個(gè)維度上的擁擠度,優(yōu)先選擇最空閑的維度進(jìn)行路由, 這樣提高了路由的自適應(yīng)性;其中使用的虛擬通道分配方案與Duato協(xié)議相同。 發(fā)明內(nèi)容該發(fā)明的目的在于設(shè)計(jì)了一種三維toms網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法,允許節(jié)點(diǎn)之間的 每條物理通道被劃分為兩條虛擬通道,并分配到torus網(wǎng)中各平面的四個(gè)虛擬子網(wǎng)中,利用虛 擬通道分配策略避免了可能形成的死鎖,同時(shí)達(dá)到了更高的自適應(yīng)性。本發(fā)明的特征在于,所述方法在每一維上有k個(gè)節(jié)點(diǎn)的三維torus網(wǎng)上依次按步驟實(shí)現(xiàn)的步驟(l):初始化對(duì)于三維torus網(wǎng)絡(luò),連接每一維兩個(gè)邊界之間的物理通道稱為邊界通道;把每條物理通道被劃分為兩條虛擬通道q和Q,這兩條通道均為兩向通道,Q通道分為C;+和Q-兩個(gè)方 向的通道,C2通道分為C2 +和Q-兩個(gè)方向的通道,"+ "和"_"表示消息傳輸?shù)恼?fù)方向;將二維torus網(wǎng)劃分為劃分為如下八個(gè)虛擬子網(wǎng)x+y+z+、 x+y+z-、 x+y-z+、 x+y-z-、 x-y+z+、 x-y+z-、 x-y-z+、 x-y-z-, x+、 x-即表示在x軸上的正、負(fù)方向的路由,對(duì)于y軸、z軸同理;把上述八個(gè)虛擬子網(wǎng)兩兩合并,從而得到以下四個(gè)虛擬子網(wǎng)x+y+z*(c/+,q+, c/), x+y-z* (q+,c廣,q), x-y*z+ (c廣,C2,q+), x-y*z- (q-,q,q-),括號(hào)中的標(biāo)號(hào)表示分配到每個(gè)虛擬 子網(wǎng)中的虛擬通道,"+ "和"一"表示消息傳輸?shù)恼?fù)方向,表示TT.負(fù)任意方向,x+y+z* 和乂+丫-2*在2方向上共享^通道,x-y*z+和x-y+z-在y方向上共享q通道,從而在x, y, z 三個(gè)方向上,每條物理通道都只用到了兩條虛擬通道,當(dāng)消息在y方向和z方向之間轉(zhuǎn)彎時(shí), 消息跳轉(zhuǎn)到不同于原分配通道的另外一條虛擬通道,以避免死鎖;步驟(2):對(duì)于每個(gè)消息消息依次按以下步驟分配到所屬虛擬子網(wǎng)設(shè)當(dāng)前節(jié)點(diǎn)為c,目的節(jié)點(diǎn)為&W,當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為A = &-xc, B=w-^, C=zrf-zc,其中下標(biāo)c、 d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),VN表示虛擬子網(wǎng)分配; 當(dāng)A》0且B》0時(shí), 如果A<k/2, B》k/2, VN = x+y-z*; 如果A < k/2, B < k/2, VN = x+y+z*; 當(dāng)A >0且B〈0吋, 如果A<k/2,B》—k/2, VN = x+y-z*; 如果A < k/2, B < -k/2, VN = x+y+z*; 當(dāng)A<0且B》0時(shí), 如果A《—k/2,B S k/2,VN = x+y-z*; 如果A《—k/2, B < k/2, VN = x+y+z*; 當(dāng)A〈0且B〈0時(shí), 如果A < —k/2, B < —k/2, VN = x+y+z*; 如果A < -k/2, B > —k/2, VN = x+y-z*; 當(dāng)A > 0且C > O時(shí), 如果A>k/2,C >k/2, VN = x-y*z-; 如果A > k/2, C < k/2, VN = x-y*z+; 當(dāng)A》0且C <0時(shí), 如果A > k/2, C》—k/2, VN = x-y*z+;如果A > k/2, C < -k/2, VN = x-y*z-;當(dāng)A < 0且C》0時(shí),如果A> _k/2,C》k/2, VN = x-y*z-;如果A> -k/2, C < k/2, VN = x-y*z+;當(dāng)A < 0且C < O時(shí),如果A > —k/2, C < —k/2, VN = x-y*z+;如果A > -k/2, C > —k/2, VN = x-y*z-;步驟(3):消息在三維平面上消息依次按以下步驟路由: 步驟(3.1):如果消息在乂+7+2*虛擬子網(wǎng)中如果A》0,B 則選擇通道1(^+人>^/+),^^,-如果A < 0, B >0,則選擇通道x (t2+」,>Yc/+」,zfc7"如果A B <0,則選擇通道a:少fe+」,z(c;入如果A<0,B<0,則選擇通道JC「C2+」,:V(^+」,Zfb;"步驟(3.2):如果消息在x+y-^虛擬子網(wǎng)中如果A》0,B》0,則選擇通道Jcfe+),;v(c2K。"如果A < 0, B》0,則選擇通道x 余),如果A》0, B <0,則選擇通道x余)'咖入-如果A < 0, B < 0,則選擇通道x>Yc/-」,咖"步驟(3.3):如果消息在x-ytz+虛擬子網(wǎng)中如果A》0,00,則選擇通道1 ?),;^",2(^+」,-如果A < 0, C》0 ,則選擇通道x如果A >0, C <0,則選擇通道jc (b2v), >fc2), zfb;+入如果A < 0, C < 0,則選擇通道x z「c/+」,步驟(3.4):如果消息在x-y+z-虛擬子網(wǎng)中如果A》0, C》0 ,則選擇通道x fc;-義少似如果A < 0, C》0 ,則選擇通道x fc2-),如果A >0,C<0,則選擇通道1 /-),少(^/),^02-」,-如果A < 0, C < 0,則選擇通道jc ^-」,少似咖-;。平面自適應(yīng)路由方法對(duì)于可能遇到的死鎖,,其特征在于,在進(jìn)行所述消息自適應(yīng)路由時(shí), 按以下步驟避免死鎖-對(duì)于從z+方向上轉(zhuǎn)彎到y(tǒng)-方向的消息,使用不同于原分配虛擬通道(C/或q)的另外一 條虛擬通道(Q或C/);對(duì)于從z-方向上轉(zhuǎn)彎到y(tǒng)-方向的消息,使用不同于原分配虛擬通道(c;或c》的另外一 條虛擬通道(C2或C》;對(duì)于從y-十方向上轉(zhuǎn)彎到z-方向的消息,使用不同于原分配虛擬通道(c/或c》的另外一 條虛擬通道(Q或C/);對(duì)于從y+方向上轉(zhuǎn)彎到z-方向的消息,使用不同于原分配虛擬通道(O或Q)的另外一條虛擬通道(Q或C/)。與傳統(tǒng)的Duato協(xié)議和GOAL方法相比,當(dāng)標(biāo)準(zhǔn)化輸入負(fù)載和網(wǎng)絡(luò)中故障節(jié)點(diǎn)數(shù)提高時(shí), 本方法明顯可以提高網(wǎng)絡(luò)實(shí)際流量,并降低傳輸延遲,從而提高整個(gè)網(wǎng)絡(luò)的傳輸性能。
圖1, 二維torus網(wǎng)絡(luò)中的限制轉(zhuǎn)彎模型(a)yz平面 (b)xy平面 (c)yz平面 (d) xz平面--一'"限制轉(zhuǎn)彎方向。圖2, 32x32無(wú)故障torus網(wǎng)uniform模式(任意點(diǎn)間路由)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)性能的影響 (a)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)傳輸延遲的影響(b)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)標(biāo)準(zhǔn)化實(shí)際流量的影響 節(jié)點(diǎn)緩存144微片故障個(gè)數(shù)0 f 'F 。圖3 , 32x32無(wú)故障torus網(wǎng)tanspose (消息從坐標(biāo)(i,j)路由至(31-j,31-i))模式標(biāo)準(zhǔn)化輸入負(fù) 載對(duì)性能的影響(a)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)傳輸延遲的影響(b)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)標(biāo)準(zhǔn)化實(shí)際流量的影響 節(jié)點(diǎn)緩存144微片故障個(gè)數(shù)0圖4, 32x32無(wú)故障torus網(wǎng)hotspot (消息從任意點(diǎn)路由到網(wǎng)絡(luò)中心的兩個(gè)目標(biāo)節(jié)點(diǎn))模式 標(biāo)準(zhǔn)化輸入負(fù)載對(duì)性能的影響(a)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)傳輸延遲的影響(b)標(biāo)準(zhǔn)化輸入負(fù)載對(duì)標(biāo)準(zhǔn)化實(shí)際流量的影響 節(jié)點(diǎn)緩存144微片故障個(gè)數(shù)0'F 。圖5 ,三維torus網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法流程圖。
具體實(shí)施方式
一個(gè)物理網(wǎng)絡(luò)可以被劃分為若干個(gè)虛擬子網(wǎng)。插入網(wǎng)絡(luò)的消息被限制在某一個(gè)虛擬子網(wǎng) 中進(jìn)行路由。只要在每一個(gè)虛擬子網(wǎng)中不存在死鎖,并且各虛擬子網(wǎng)間不會(huì)形成死鎖,就可 以保證整個(gè)網(wǎng)絡(luò)中不會(huì)出現(xiàn)死鎖。本文巾提出的劃分方法主要針對(duì)三維toms網(wǎng),這種方法也 可以被擴(kuò)展而用于更高維的網(wǎng)絡(luò)。三維torus網(wǎng)劃分為劃分為如下八個(gè)虛擬子網(wǎng)x+y+z+、 x+y+z-、 x+y-z+、 x+y-z-、 x-y+z+、 x-y+z-、 x-y-z+、 x-y-z-, x+、 x-即表示在x軸上的正、負(fù)方向的路由,對(duì)于y軸、z軸同理; 把上述八個(gè)虛擬子網(wǎng)兩兩合并,從而得到以下四個(gè)虛擬子網(wǎng)x+y+znc計(jì),c,+, c/),x+y-z* (c2+,o-,c7), x-y*z+ (c;-,c2,c2+), x-y*z- (c2-,c2,c2-),括號(hào)中的標(biāo)號(hào)表示分配到每個(gè)虛擬 了網(wǎng)中的虛擬通道,"+"和"一"表示消息傳輸?shù)恼?fù)方向,"*"表示正負(fù)任意方向,x+y+z* 和x+y-z+在z方向上共享c/通道,x-y*z+禾[lx-y+z-在y方向上共享c2通道,從而在x, y, z 三個(gè)方向上,每條物理通道都只用到了兩條虛擬通道。根據(jù)前面提到的虛擬子網(wǎng)劃分方法, 任何一個(gè)虛擬子網(wǎng)內(nèi)都不可能存在通道的環(huán)相關(guān)。繞行路由的消息有形成死鎖的可能性,我 們通過(guò)這樣的方法來(lái)避免虛擬子網(wǎng)內(nèi)可能形成的死鎖對(duì)于在x方向、y方向或z方向上使 用邊界通道路由的消息,使用不同于原分配虛擬通道(Q或c》的另外一條虛擬通道"2或 q),不經(jīng)過(guò)邊界通道路由時(shí)再換回到原分配虛擬通道。對(duì)于各虛擬子網(wǎng)之間可能形成的死鎖,當(dāng)消息在y方向和z方向之間轉(zhuǎn)彎時(shí),消息跳轉(zhuǎn)到 不同于原分配通道的另外一條虛擬通道,以避免死鎖。 下面給出了平面中各個(gè)虛擬子網(wǎng)的路由方法 方法(x+y+z* ):設(shè)當(dāng)前節(jié)點(diǎn)為cw/r,目的節(jié)點(diǎn)為cfe仏當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為八=&-&, B=W-A, C=^-zc,其中下標(biāo)c、 d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),如果A》0,B >0,則選 擇通道(^朋朋/:=&^"(3^/+」,;<^+/z「c;";如果A<0,B》0,則選擇通道C/2a""e/:= &/ec"x(t2+A>fc/+」,如果A B <0,則選擇通道0^""£/:=&/£"(3|;(^+」,>^2+」, 如果A < 0, B < 0,則選擇通道Ora朋e/ := Se/ec《x^+義j(^+義zfc"」。方法(x+y-z*):設(shè)當(dāng)前節(jié)點(diǎn)為O^T,目的節(jié)點(diǎn)為aw,當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為a^^-Xc,B=^-:vc, C=zrf-zc,其中下標(biāo)c、 d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),如果A》0,B》0,則選 擇通道a2a朋e/ Se/ec《xfe+義jfe-義zfc/";如果A < 0, B》0,則選擇通道C/ a朋e/:= 5Wo#c^+」,>Yq-」,zfb/";如果A》0,B<0,則選擇通道C/ra朋e/:= 5te/ec昨rO 如果A < 0, B < 0,則選擇通道C/zfl""e/ := 5te/ec《xfb;+,, ;Yc;-義z「c/"。 方法尸oi/te (x-y* z+ ):設(shè)當(dāng)前節(jié)點(diǎn)為cwr,目的節(jié)點(diǎn)為AW,當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為A- & - & B=yrf-yc, C="-&,其中下標(biāo)c、 d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),如果A》0,C》0,則選 擇通道C/ a""e/ := &/e"(3c(^-), jfe), <c2+";如果A < 0, C》0 ,則選擇通道C/w朋e/ := &/e" c/.」,XqA 如果a》0, c <0,則選擇通道c/7a""e/ := 5We"(3cfc^, >^2」,如果A < 0, C < 0,則選擇通道C/k ""e/ := 5We"(3cfc/.義>>(0人zfc,十"。方法rowte (x-y*z-):當(dāng)設(shè)當(dāng)前節(jié)點(diǎn)為cwr,目的節(jié)點(diǎn)為AW,當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為A二"-Xc, B=W-yc, C=zrf-ze,其中下標(biāo)c、 d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),如果A》0,O0,則選 擇通道C/za朋e/ := 5Wec《xfc廣,,j(^), 如果A < 0, ,則選擇通道C/ra朋e/ :=&/0^3^2-義3Yq乂 z(^/力;如果A》0, C <0,則選擇通道CVw""e/ :=&/"^^/扁義yfc2), z「c2.";如果A < 0, C < 0,則選擇通道Oiamje/ := Se/e"f3cfQ-人j^c2), zfb2."。
權(quán)利要求
1、三維torus網(wǎng)中的無(wú)死鎖自適應(yīng)路由方法,其特征在于,所述方法是在每一維上有k個(gè)節(jié)點(diǎn)的三維torus網(wǎng)上依次按步驟實(shí)現(xiàn)的步驟(1)初始化對(duì)于三維torus網(wǎng)絡(luò),連接每一維兩個(gè)邊界之間的物理通道稱為邊界通道;把每條物理通道被劃分為兩條虛擬通道c1和c2,這兩條通道均為兩向通道,c1通道分為c1+和c1-兩個(gè)方向的通道,c2通道分為c2+和c2-兩個(gè)方向的通道,“+”和“-”表示消息傳輸?shù)恼?fù)方向;將三維torus網(wǎng)劃分為劃分為如下八個(gè)虛擬子網(wǎng)x+y+z+、x+y+z-、x+y-z+、x+y-z-、x-y+z+、x-y+z-、x-y-z+、x-y-z-,x+、x-即表示在x軸上的正、負(fù)方向的路由,對(duì)于y軸、z軸同理;把上述八個(gè)虛擬子網(wǎng)兩兩合并,從而得到以下四個(gè)虛擬子網(wǎng)x+y+z*(c1+,c1+,c1),x+y-z*(c2+,c1-,c1),x-y*z+(c1-,c2,c2+),x-y*z-(c2-,c2,c2-),括號(hào)中的標(biāo)號(hào)表示分配到每個(gè)虛擬子網(wǎng)中的虛擬通道,“+”和“-”表示消息傳輸?shù)恼?fù)方向,“*”表示正負(fù)任意方向,x+y+z*和x+y-z*在z方向上共享c1通道,x-y*z+和x-y*z-在y方向上共享c2通道,從而在x,y,z三個(gè)方向上,每條物理通道都只用到了兩條虛擬通道,當(dāng)消息在y方向和z方向之間轉(zhuǎn)彎時(shí),消息跳轉(zhuǎn)到不同于原分配通道的另外一條虛擬通道,以避免死鎖;步驟(2)對(duì)于每個(gè)消息消息依次按以下步驟分配到所屬虛擬子網(wǎng)設(shè)當(dāng)前節(jié)點(diǎn)為curr,目的節(jié)點(diǎn)為dest,當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在兩維上的偏移量為A=xd-xc,B=y(tǒng)d-yc,C=zd-zc,其中下標(biāo)c、d分別代表當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn),VN表示消息所屬的虛擬子網(wǎng)分配;當(dāng)A≥0且B≥0時(shí),如果A<k/2,B≥k/2,VN=x+y-z*;如果A<k/2,B<k/2,VN=x+y+z*;當(dāng)A≥0且B<0時(shí),如果A<k/2,B≥-k/2,VN=x+y-z*;如果A<k/2,B<-k/2,VN=x+y+z*;當(dāng)A<0且B≥0時(shí),如果A≤-k/2,B≥k/2,VN=x+y-z*;如果A≤-k/2,B<k/2,VN=x+y+z*;當(dāng)A<0且B<0時(shí),如果A<-k/2,B<-k/2,VN=x+y+z*;如果A<-k/2,B>-k/2,VN=x+y-z*;當(dāng)A≥0且C≥0時(shí),如果A>k/2,C≥k/2,VN=x-y*z-;如果A>k/2,C<k/2,VN=x-y*z+;當(dāng)A≥0且C<0時(shí),如果A>k/2,C≥-k/2,VN=x-y*z+;如果A>k/2,C<-k/2,VN=x-y*z-;當(dāng)A<0且C≥0時(shí),如果A>-k/2,C≥k/2,VN=x-y*z-;如果A>-k/2,C<k/2,VN=x-y*z+;當(dāng)A<0且C<0時(shí),如果A>-k/2,C<-k/2,VN=x-y*z+;如果A>-k/2,C>-k/2,VN=x-y*z-;步驟(3)消息在三維平面上消息依次按以下步驟路由步驟(3.1)如果消息在x+y+z*虛擬子網(wǎng)中如果A≥0,B≥0,則選擇通道x(c1+),y(c1+),z(c1);如果A<0,B≥0,則選擇通道x(c2+),y(c1+),z(c1);如果A≥0,B<0,則選擇通道x(c1+),y(c2+),z(c1);如果A<0,B<0,則選擇通道x(c2+),y(c2+),z)c1);步驟(3.2)如果消息在x+y-z*虛擬子網(wǎng)中如果A≥0,B≥0,則選擇通道x(c2+),y(c2-),z(c1);如果A<0,B≥0,則選擇通道x(c1+),y(c2-),z(c1);如果A≥0,B<0,則選擇通道x(c2+),y(c1-),z(c1);如果A<0,B<0,則選擇通道x(c1+),y(c1-),z(c1);步驟(3.3)如果消息在x-y*z+虛擬子網(wǎng)中如果A≥0,C≥0,則選擇通道x(c2-),y(c2),z(c2+);如果A<0,C≥0,則選擇通道x(c1-),y(c2),z(c2+);如果A≥0,C<0,則選擇通道x(c2-),y(c2),z(c1+);如果A<0,C<0,則選擇通道x(c1-),y(c2),z(c1+);步驟(3.4)如果消息在x-y*z-虛擬子網(wǎng)中如果A≥0,C≥0,則選擇通道x(c1-),y(c2),z(c1-);如果A<0,C≥0,則選擇通道x(c2-),y(c2),z(c1-);如果A≥0,C<0,則選擇通道x(c1-),y(c2),z(c2-);如果A<0,C<0,則選擇通道x(c2-),y(c2),z(c2-)。
全文摘要
三維torus網(wǎng)絡(luò)無(wú)死鎖的自適應(yīng)路由方法屬于分布式高性能容錯(cuò)計(jì)算技術(shù)領(lǐng)域,其特征在于,將每條物理通道中分為兩條虛擬通道,允許不同虛擬子網(wǎng)之間共享某些虛擬通道,這兩條通道均為兩向通道,并分配到三維torus網(wǎng)絡(luò)的四個(gè)虛擬子網(wǎng)中,利用轉(zhuǎn)彎模型避免了各子網(wǎng)內(nèi)以及各子網(wǎng)間可能形成的死鎖,并達(dá)到更高的自適應(yīng)性。本發(fā)明與傳統(tǒng)的Duato協(xié)議和GOAL方法相比,當(dāng)標(biāo)準(zhǔn)化輸入負(fù)載和網(wǎng)絡(luò)中故障節(jié)點(diǎn)數(shù)提高時(shí),我們的方法明顯可以提高網(wǎng)絡(luò)實(shí)際流量,并降低傳輸延遲,從而提高整個(gè)網(wǎng)絡(luò)的傳輸性能。
文檔編號(hào)H04L29/06GK101335704SQ20081010440
公開(kāi)日2008年12月31日 申請(qǐng)日期2008年4月18日 優(yōu)先權(quán)日2008年4月18日
發(fā)明者東 向, 琦 王, 振 陳 申請(qǐng)人:清華大學(xué)