專(zhuān)利名稱(chēng):三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法
三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法技術(shù)領(lǐng)域三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法屬于分布式高性能容錯(cuò)計(jì)算技術(shù)領(lǐng)域。
技術(shù)背景在當(dāng)今的實(shí)驗(yàn)用及商用的多計(jì)算機(jī)系統(tǒng)中,mesh網(wǎng)是一種被廣泛利用的拓?fù)浣Y(jié)構(gòu)。k元 n維mesh網(wǎng)是指一個(gè)n維的網(wǎng)格結(jié)構(gòu),在每一維上有k個(gè)結(jié)點(diǎn)。多計(jì)算機(jī)系統(tǒng)的性能在最大 程度上取決于系統(tǒng)中點(diǎn)到點(diǎn)的通訊方法的性能。因此,很有必要提出一些應(yīng)用于mesh網(wǎng)的高 性能的容錯(cuò)路由方法。Glass和Ni提出的轉(zhuǎn)彎模型是一個(gè)具有重要意義的部分自適應(yīng)的路由方法。基于轉(zhuǎn)彎模 型,路由方法可以通過(guò)限制某些轉(zhuǎn)彎消除通道間的環(huán)相關(guān),達(dá)到避免死鎖的效果,而不必添 加額外的虛擬通道?;谵D(zhuǎn)彎模型也可以擴(kuò)展出具有容錯(cuò)性能的方法。Duato對(duì)中的Duato 協(xié)議進(jìn)行了擴(kuò)展,實(shí)現(xiàn)了 mesh網(wǎng)中的無(wú)死鎖完全自適應(yīng)容錯(cuò)路由。Chien和Kim提出了另一個(gè)具有重要意義的部分自適應(yīng)路由方法一一平面自適應(yīng)路由 (Planar Adaptive Routing),此方法將路由限制在一系列連續(xù)的平面內(nèi),只需三條虛擬通 道就可以在任何維數(shù)的網(wǎng)絡(luò)內(nèi)避免死鎖。然而,在這種方法所應(yīng)用的塊狀故障模型中,都會(huì) 有一部分非故障點(diǎn)像故障點(diǎn)一樣失效,這對(duì)于高維的mesh網(wǎng)會(huì)造成很?chē)?yán)重的計(jì)算能力的損 失。Gomez提出了一種通過(guò)選擇中間節(jié)點(diǎn)而實(shí)現(xiàn)的兩階段容錯(cuò)路由方法,從源節(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ō),共需要三條虛擬通道。向東提出了局部安全性信息并將其用于指導(dǎo)超立方體中的容錯(cuò)路由,在整個(gè)超立方體不 安全時(shí)仍然可以在子立方里實(shí)現(xiàn)有效的路由。向東等提出了一種新的擴(kuò)展局部安全性信息, 并且中平面故障塊模型來(lái)指導(dǎo)mesh網(wǎng)中的容錯(cuò)路由,這種方法在建立故障塊是不需要使任何 非故障點(diǎn)失效。塊狀故障模型是一種最為常用的故障模型,但是這種模型會(huì)使一些非故障節(jié)點(diǎn)失效。少 數(shù)的故障節(jié)點(diǎn)可能會(huì)使很多甚至全部的非故障節(jié)點(diǎn)失效,這種現(xiàn)象在高維的網(wǎng)絡(luò)中更為明顯。 Wang提出了最小連通部件(MCC)故障模型的概念,對(duì)于平面的MCC,每個(gè)節(jié)點(diǎn)在其所在每個(gè) 平面內(nèi)兩份安全性信息。MCC比塊狀模型使更少的非故障節(jié)點(diǎn)失效,可以更有效指導(dǎo)最短路 徑路由。三維的MCC比平面MCC使更少的非故障節(jié)點(diǎn)失效,但是對(duì)于本發(fā)明中所使用的平面 自適應(yīng)路由,平面MCC更為適用。對(duì)于自適應(yīng)的容錯(cuò)路由方法,通常需要將每條物理通道劃分為一定數(shù)量的虛擬通道來(lái)實(shí) 現(xiàn)死鎖避免方法,通道上的物理資源(如緩存、帶寬)會(huì)分配到各個(gè)虛擬通道之上。因此, 實(shí)現(xiàn)死鎖避免所需要虛擬通道個(gè)數(shù)成為影響路由方法資源利用效率的重要因素,使用更少的 虛擬通道,可以使每條虛擬通道分配到更多的資源,提高方法效率,尤其是在物理資源比較 有限的情況下;但是,更少的虛擬通道也會(huì)使得設(shè)計(jì)死鎖避免方法的難度增加。一個(gè)A元"維mesh網(wǎng)有r個(gè)節(jié)點(diǎn),兩個(gè)節(jié)點(diǎn)ra a u2a々和^A./…6力^之間有連 接當(dāng)且僅當(dāng)兩節(jié)點(diǎn)坐標(biāo)有且只有一位不同,并且I"M,I = 1。一個(gè)mesh網(wǎng)中的非故障節(jié)點(diǎn)的安全性信息可通如下遞歸方式定義如果節(jié)點(diǎn)在兩個(gè)不同 維上存在故障或不安全的鄰居節(jié)點(diǎn),那就該節(jié)點(diǎn)為不安全節(jié)點(diǎn);否則該節(jié)點(diǎn)為安全節(jié)點(diǎn)。故 障點(diǎn)與不安全共同構(gòu)成矩型的故障區(qū)域,不安全點(diǎn)在某些平面內(nèi)仍然可以被使用。在本發(fā)明 中,如果源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由路徑長(zhǎng)度等于兩點(diǎn)之間的距離,并且路徑上的節(jié)點(diǎn)均為非 故障點(diǎn),那么我們稱(chēng)此路徑為最短可用路徑。二維mesh網(wǎng)中故障點(diǎn)與不安全點(diǎn)集合F構(gòu)成的故障塊具有如下特點(diǎn)(1)在矩型區(qū)域 的邊界處沒(méi)有故障點(diǎn);(2)矩型區(qū)域的內(nèi)部包含所有的集合F中的故障點(diǎn)與不安全點(diǎn);(3) 矩型區(qū)域的內(nèi)部不包含任何集合F之外的節(jié)點(diǎn)。Mesh網(wǎng)中的節(jié)點(diǎn)根據(jù)其安全性可以分為故障節(jié)點(diǎn)、不安全節(jié)點(diǎn)與安全節(jié)點(diǎn)三類(lèi)。如果一 個(gè)網(wǎng)絡(luò)系統(tǒng)內(nèi)所有的節(jié)點(diǎn)均為不安全點(diǎn)或故障點(diǎn),那么稱(chēng)這個(gè)網(wǎng)絡(luò)系統(tǒng)為不安全的。 需要強(qiáng)調(diào)的是,已有的大多數(shù)方法都將不安全節(jié)點(diǎn)標(biāo)記為失效,已失效的節(jié)點(diǎn)不能作為消息 的源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn)。而在本發(fā)明中,不安全節(jié)點(diǎn)仍然可以作為源節(jié)點(diǎn)或目標(biāo)節(jié)點(diǎn)使用,這 也使得路由方法的性能有了很大的提高。平面自適應(yīng)路由方法(PAR)給出了一個(gè)簡(jiǎn)單的用于n維mesh網(wǎng)的死鎖避免方法,每條 物理通道需要三條虛擬通道。下面我們以三維的mesh網(wǎng)為例來(lái)說(shuō)明平面自適應(yīng)路由方法的方 法。mesh網(wǎng)首先被劃分為一系列的平面,對(duì)于三維的mesh網(wǎng),分為x-y和y-z兩種平面。路 由消息首先在x-y平面內(nèi)路由,當(dāng)x方向的偏移量變?yōu)?以后,消息跳轉(zhuǎn)至y-z平面繼續(xù)路由。 x-y平面又進(jìn)一步被分成上升子網(wǎng)(圖la)與下降子網(wǎng)(圖lb)。 x-y平面中的虛擬通道分配方案如下上升子網(wǎng)中X方向使用虛擬通道C;, y方向使用Q+;下降子網(wǎng)中X方向使用C2,y方向使用q-。在y-z平面,上升子網(wǎng)(圖lc)中y方向使用虛擬通道c/, z方向使用q+; 下降子網(wǎng)中y方向使用C2, z方向使用o-。在三維mesh中使用以上的虛擬通道分配方案,可以有效的避免死鎖。但是,可以發(fā)現(xiàn), Z方向的C7和C2通道,X方向的Q通道,并沒(méi)有得到利用。這些空閑通道的存在意味著,在 三維mesh網(wǎng)中避免死鎖所需的虛擬通道的個(gè)數(shù)仍然有可以減少的空間。 發(fā)明內(nèi)容該發(fā)明的目的在于設(shè)計(jì)了一種三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法,在三維mesh 網(wǎng)的各節(jié)點(diǎn)中依次按以下步驟實(shí)現(xiàn)的 步驟(l):初始化把每條物理通道被劃分為兩條虛擬通道C7和Q,這兩條通道均為兩向通道,C/通道分為o+和q-兩個(gè)方向的通道,q通道分為q+和q-兩個(gè)方向的通道,"+"和"_"表示消息傳 輸?shù)恼?fù)方向;把三維mesh網(wǎng)中的虛擬子網(wǎng)的劃分為xy平面和yz平面;xy平面劃分為上升子網(wǎng)與下降子網(wǎng)。在上升子網(wǎng)中,x方向分配雙向通道C;, y方向分 配單向通道G+,在下降子網(wǎng)中,x方向分配雙向通道C2, y方向分配單向通道C;-;yz平面劃分為上升子網(wǎng)與下降子網(wǎng)。在上升子網(wǎng)中,z方向分配雙向通道C;, y方向分配 單向通道C2+,在下降子網(wǎng)中,z方向分配雙向通道C2, y方向分配單向通道Cr;步驟(2):依次按以下步驟進(jìn)行消息路由步驟(2.1):路由消息首先在xy平面路由,路由開(kāi)始時(shí),優(yōu)先選擇x方向進(jìn)行路由,根據(jù) 源節(jié)點(diǎn)或當(dāng)前節(jié)點(diǎn)相對(duì)于目的節(jié)點(diǎn)在y方向上的偏移方向,選擇將消息插入xy子平面上升子 網(wǎng)或下降子網(wǎng),并且始終保持在此子網(wǎng)內(nèi)進(jìn)行自適應(yīng)路由,直到x方向偏移量變?yōu)榱?,其中?所述偏移量指的是目的節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)在各維上的坐標(biāo)之差;步驟(2.2):當(dāng)x方向偏移量變?yōu)榱銜r(shí)路由消息跳轉(zhuǎn)到y(tǒng)z平面繼續(xù)路由,根據(jù)y方向上的 偏移方向,選擇將消息插入yz平面的上升或下降子網(wǎng),并在此平面內(nèi)保持自適應(yīng)路由,直到 消息到達(dá)目的節(jié)點(diǎn);在步驟(2.1)和歩驟(2.2)中,所述平面自適應(yīng)路由是指先計(jì)算當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在最短 路徑方向上的自由度,若其中一個(gè)方向上存在故障或不安全節(jié)點(diǎn),則選擇另一個(gè)方向,若兩 個(gè)方向上均為故障或不安全節(jié)點(diǎn),則路由失?。蝗袈酚上⒃谒鲎疃搪窂缴现挥幸粋€(gè)候選方向,且此方向上的鄰居節(jié)點(diǎn)為故障節(jié)點(diǎn)或 不安全節(jié)點(diǎn),則路由消息應(yīng)在非最短路徑上進(jìn)行繞行路由,并且在之后返回最短路徑路由。在進(jìn)行所述平面自適應(yīng)路由時(shí),先要計(jì)算當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在各方向上的偏移量,當(dāng) 當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在同一個(gè)xy或yz平面內(nèi)時(shí),如果當(dāng)前節(jié)點(diǎn)在xy或yz平面內(nèi)有不安全 節(jié)點(diǎn),則找到當(dāng)前節(jié)點(diǎn)的一個(gè)在所述平面內(nèi)安全的鄰居節(jié)點(diǎn)進(jìn)行消息路由,如果目的節(jié)點(diǎn)在 xy或yz平面內(nèi)有不安全節(jié)點(diǎn),則把目的節(jié)點(diǎn)的一個(gè)在所述平面內(nèi)安全的鄰居節(jié)點(diǎn)作為新的 目的節(jié)點(diǎn)。在進(jìn)行所述平面自適應(yīng)路由時(shí)若當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在x和y方向偏移均不為零時(shí),如果當(dāng)前節(jié)點(diǎn)在x偏移方向的鄰 居節(jié)點(diǎn)安全,則將消息沿x偏移方向路由至下一節(jié)點(diǎn),否則將消息沿y偏移方向路由至下一 節(jié)點(diǎn);若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在x方向有偏移,y方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在x偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿x偏移方向路由至下一節(jié)點(diǎn),否則,將消息沿y方向繞行路由, 當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿x偏移方向路由;若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在y方向有偏移,x方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則將消息沿x方向繞行路由,當(dāng) 到目標(biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿y偏移方向路由。在進(jìn)行所述平面S適應(yīng)路由時(shí)若當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在y和z方向偏移均不為零時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的鄰 居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則將消息沿z偏移方向路由至下一 節(jié)點(diǎn);若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在y方向有偏移,z方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則,將消息沿z方向繞行路由, 當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿y偏移方向路由;若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在z方向有偏移,y方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在z偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿z偏移方向路由至下一節(jié)點(diǎn),否則將消息沿y方向繞行路由,當(dāng) 到目標(biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿z偏移方向路由。所述方法采用平面最小連通部件MCC故障模型后,擴(kuò)展為一種用于三維蟲(chóng)孔交換mesh 網(wǎng)的平面自適應(yīng)容錯(cuò)路由方法,其步驟如下先在三維mesh網(wǎng)的xy和yz的各個(gè)子平面內(nèi)分別建立最小連通部件故障模型;其次,在每個(gè)平面上,平面內(nèi)的節(jié)點(diǎn)在兩條對(duì)角線(xiàn)方向上分別計(jì)算安全性信息, 一個(gè)節(jié) 點(diǎn)若在兩個(gè)與對(duì)角線(xiàn)成對(duì)稱(chēng)關(guān)系的方向存在故障或不安全節(jié)點(diǎn),那么此節(jié)點(diǎn)被標(biāo)記為不安全 節(jié)點(diǎn),將安全性進(jìn)行多輪計(jì)算,直至各節(jié)點(diǎn)安全性達(dá)到穩(wěn)定狀態(tài);在路由時(shí),根據(jù)當(dāng)前節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間的偏移方向選擇相應(yīng)方向上的安全性信息指導(dǎo) 路由,其中,所述的兩條對(duì)角線(xiàn)方向分別為x+y+和x-y-以及x+y-和x-y+兩個(gè)方向。 采用我們改進(jìn)的方法在mesh網(wǎng)格中進(jìn)行容錯(cuò)路由,與傳統(tǒng)的PAR方法相比,當(dāng)標(biāo)準(zhǔn)化輸入負(fù)載和網(wǎng)絡(luò)中故障節(jié)點(diǎn)數(shù)提高時(shí),我們的方法明顯可以提高網(wǎng)絡(luò)實(shí)際流量,并降低傳輸延遲,從而提高整個(gè)網(wǎng)絡(luò)的傳輸性能。
圖l平面自適應(yīng)路由的虛擬通道分配。圖2改進(jìn)的虛擬通道的分配方案。圖3無(wú)故障網(wǎng)絡(luò)中節(jié)點(diǎn)緩存大小對(duì)性能的影響輸入負(fù)載0.8故障個(gè)數(shù)0OPAR uniform Of" AR transpose —來(lái)一 PAR uniform ~O~~ PAR transpose管-》—— Gomez uniform 々 Gomez transpose —A—。圖4容錯(cuò)mesh網(wǎng)中標(biāo)準(zhǔn)化實(shí)用負(fù)載對(duì)性能的影響節(jié)點(diǎn)緩存180微片故障個(gè)數(shù)50OPAR uniform ■ XOPAR transpose —米一 PAR uniform OPAR transpose —貨— Gomez uniform ~Gomez transpose -_ A--。圖5容錯(cuò)mesh網(wǎng)中故障節(jié)點(diǎn)個(gè)數(shù)對(duì)性能的影響節(jié)點(diǎn)緩存216微片輸入負(fù)載0.2iPAR uniform ~O~ iPAR transpose —PAR uniform X PAR transpose —米一。圖6三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法流程圖。
具體實(shí)施方式
基于以上的虛擬通道分配策略,我們提出了新的自適應(yīng)無(wú)死鎖路由方法,在一般情況下, 路由消息首先在x-y平面路由,當(dāng)x方向的偏移量變?yōu)?時(shí),跳轉(zhuǎn)到y(tǒng)-z平面繼續(xù)路由。在開(kāi) 始x-y平面路由時(shí),根據(jù)源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間在y方向的偏移方向,選擇將消息插入上升 子網(wǎng)或下降子網(wǎng),并且始終保持在此子網(wǎng)內(nèi)路由。在跳轉(zhuǎn)到y(tǒng)-z平面時(shí),同樣根據(jù)y方向上 的偏移方向選擇上升或下降子網(wǎng)并在y-z平面內(nèi)保持在此子網(wǎng)內(nèi)路由。如下分別為x-y上升子網(wǎng)、x-y下降子網(wǎng)以及y-z平面上升子網(wǎng)中的路由方法描述。y-z平面 下降子網(wǎng)的路由方法與上升子網(wǎng)中的方法類(lèi)似,y方向通道由C變?yōu)镼-, z方向通道由O 變?yōu)镼。值得注意的是,在x-y平面內(nèi)路由,消息優(yōu)先選擇x方向進(jìn)行路由,這樣做是為了 保證路由的自適應(yīng)性,而在y-z平面,y方向與z方向的路由具有相同的優(yōu)先級(jí)別。下面解釋 每個(gè)子網(wǎng)的路由方法 l.x-y平面上升子網(wǎng)路由輸入為當(dāng)前點(diǎn)cw/t,目標(biāo)點(diǎn)cfe z,先計(jì)算cw r與在各個(gè)方向上的距離,其中= XofeW - Icwrr, yq訴d = - :Kcwrr;如果Zo炎er > 0且X方向上q+通道可用,則C/;a朋e/ = Zfb; ;如果< 0和X方向上c廣通道可用則C/ arae/ = X「c/0);如果yq^a > 0則0 a""e/ =Se/ec^Z^j, ^Tq+J力如果= 0且JTq^" 〉 0貝lj C/z朋we/ = X(^+力如果Ky^" = 0 且< 0則C/w""e/ = Xfc廣力如果K#ref = 0且=0則C力a""e/ = /",ema/。2. x-y平面下降子網(wǎng)路由輸入為當(dāng)前點(diǎn)cwr,目標(biāo)點(diǎn)tfe^,先計(jì)算CM/T"與(ferf在各個(gè)方向上的距離,其中Xq僑a--Xcwr, yq^W =層ycw r;如果^0#^ > 0且X方向上q+通道可用,則CAa""e/ = 如果J^^ef〈0且X方向上C2-通道可用,則C/za"""-;^"—;如果K#5"<0,則 Ow""e/ = &/ec《Zfc2A J7c/匿;),-如果K j^^ = 0且義o^i" > 0 ,貝U C/ a",ze/ = Xfe+J;如果7oi^e/1 =0且Xo/sW < 0,則C/ww"e/ = Z「C2一;如果1biTsW = 0且%0_僑"=0,則Oza""e/ = /WerwaZ。3. y-z平面上升子網(wǎng)路由輸入為當(dāng)前點(diǎn)cwr,目標(biāo)點(diǎn)&W,先計(jì)算cm/r與&W在各個(gè)方向上的距離,其中Zq膽ef-— Zcz/rr, Ky^" =- 7cwr;如果Zo,W > 0且Z方向上c,+通道可用,貝U C^""e/ =如果Zo炎ef 〈0且Z方向上c廠(chǎng)通道可用,則CAa""e/= Zfc/-);如果〉 0,則 C7 a""e/ = Se/ec^Zfb", ;T(^+;」;如果Jbjf犯f = 0且> 0,則C7w朋e/ = Z(^+人如果1bJ&" =0且Zojfsd < 0,則C7 a朋e/ = Zfc廣」;如果yo# f = 0且Zq/^" = 0,則CAa"we/ = /"Zer"a/。4. y-z平面下降子網(wǎng)路由輸入為當(dāng)前點(diǎn)cwr,目標(biāo)點(diǎn)deW,先計(jì)算cwr與在各個(gè)方向上的距離,其中Zo」^W =- Zcw r, yp膽d = ;WeW - FcMfT;如果Zofsef > 0且Z方向上q+通道可用,則Ow""e/ = Zfe+力如果Zq^" < 0且Z方向上C2-通道可用,則C7w""e/ =「C2-力如果> 0,則 CAa""e/ = &/ec《Zfc2), :Ffe+」」;如果= 0且Zo#sef > 0,則C/ a""W = Zfc2+J;如果=0且Zo/se/ < 0,則C7w""e/ = Z(bd;如果= 0且Zo," = 0,貝U C7 a"we/ = /"ter"a/; 下面為用于三維蟲(chóng)孔交換mesh網(wǎng)的平面自適應(yīng)容錯(cuò)路由方法,其死鎖避免方法與前面所述完 全一致輸入為當(dāng)前點(diǎn)cwr,目標(biāo)點(diǎn)deW,先計(jì)算cwr與在各個(gè)方向上的距離,當(dāng)cwr和 在同 一個(gè)x-y (y-z)平面內(nèi)時(shí),如果cwrr在x-y (y-z)平面內(nèi)不安全,則找到cwr的一個(gè)在 此平面內(nèi)安全的鄰居v,將消息路由到v;如果&W在x-y (y-z)平面內(nèi)不安全,則找到 的一個(gè)在此平面內(nèi)安全的鄰居v,將v作為新的目標(biāo)節(jié)點(diǎn)。如果c"7t與&W僅在x或y方向 有偏移,則調(diào)用route-in-plane-xy (cmat, deW);如果ckk與c/eW在x禾Q y方向有偏移,則調(diào)用 route-in-plane-xy (ci/ r, cfes0; 如果cwr與^fesf在x, y, z方向上均有偏移,貝ll調(diào)用 route-in-plane-xy (cwr, c es();如果cw r與僅在z方向上有偏移,貝U調(diào)用route習(xí)in匿plane-yz (cwn-, 如果cwr與在y禾口 z方向上有偏移,貝!j調(diào)用route-in-plane-yz (cwr, (ieW)。當(dāng)CM/r和^W在x和y方向均有偏移時(shí),如果cwr在x偏移方向的鄰居節(jié)點(diǎn)安全,則將 消息沿x偏移方向路由至下一節(jié)點(diǎn);否則將消息沿y偏移方向路由至下一節(jié)點(diǎn)。當(dāng)cw庁與 在x方向有偏移,y方向無(wú)偏移吋,如果c^r在x偏移方向的鄰居節(jié)點(diǎn)安全,則將消息沿x 偏移方向路由至下一節(jié)點(diǎn);否則,將消息沿y方向繞行路由,當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在 時(shí),恢復(fù)到沿x偏移方向路由。當(dāng)cwr與ctew在y方向有偏移,x方向無(wú)偏移時(shí),如果cwr 在y偏移方向的鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn);否則將消息沿x方 向繞行路由,當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿y偏移方向路由。 方法(c"'T, ctes":當(dāng)和在z和y方向均有偏移時(shí),如果cwr在z禾Q y偏移方向的鄰居節(jié)點(diǎn)均安全, 則隨機(jī)選取z或y偏方向,將消息路由至下一節(jié)點(diǎn);如果cwrr在只在一個(gè)偏移方向的鄰居節(jié) 點(diǎn)安全,則將消息路由至此安全的鄰居節(jié)點(diǎn)。當(dāng)c"/r與^W在z方向有偏移,y方向無(wú)偏移 時(shí),如果c" r在z偏移方向的鄰居節(jié)點(diǎn)安全,則將消息沿z偏移方向路由至下一節(jié)點(diǎn);否則, 將消息沿y方向繞行路由,當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿z偏移方向路由。'當(dāng) ctz/r與afeW在y方向有偏移,z方向無(wú)偏移時(shí),如果o r在y偏移方向的鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn);否則將消息沿z方向繞行路由,當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短 路徑存在時(shí),恢復(fù)到沿y偏移方向路由。在當(dāng)今的商用與實(shí)驗(yàn)用多計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)設(shè)計(jì)中,經(jīng)常用到的是二維和三維的mesh/torus拓?fù)浣Y(jié)構(gòu),更高維的網(wǎng)絡(luò)拓?fù)鋷缀鹾苌儆袘?yīng)用。在傳統(tǒng)的平面自適應(yīng)路由方法中, 每條物理通道只需要三條虛擬通道就可以在n維的mesh網(wǎng)中避免死鎖,但是在最低維和最高 維上存在著空閑的虛擬通道。本發(fā)明提出了一種專(zhuān)門(mén)用于三維mesh網(wǎng)的新的平面自適應(yīng)路由 方法,每條物理通道只需兩條虛擬通道就可以避免死鎖的產(chǎn)生。同時(shí),本發(fā)明將此方法擴(kuò)展 為具有容錯(cuò)性,使用了平面最小連通部件(MCC)故障模型來(lái)指導(dǎo)蟲(chóng)孔交換網(wǎng)絡(luò)中的容錯(cuò)路 由。大量的模擬實(shí)驗(yàn)數(shù)據(jù)表明,本方法與原始的平面自適應(yīng)方法相比,無(wú)論在無(wú)故障網(wǎng)絡(luò)或 是容錯(cuò)網(wǎng)絡(luò)中,都具有更好的性能表現(xiàn)。
權(quán)利要求
1、三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法,其特征在于所述方法是在三維mesh網(wǎng)的各節(jié)點(diǎn)中依次按以下步驟實(shí)現(xiàn)的步驟(1)初始化把每條物理通道被劃分為兩條虛擬通道c1和c2,這兩條通道均為兩向通道,c1通道分為c1+和c1-兩個(gè)方向的通道,c2通道分為c2+和c2-兩個(gè)方向的通道,“+”和“-”表示消息傳輸?shù)恼?fù)方向;把三維mesh網(wǎng)中的虛擬子網(wǎng)的劃分為xy平面和yz平面;xy平面劃分為上升子網(wǎng)與下降子網(wǎng),在上升子網(wǎng)中,x方向分配雙向通道C1,y方向分配單向通道C1+,在下降子網(wǎng)中,x方向分配雙向通道C2,y方向分配單向通道C1-;yz平面劃分為上升子網(wǎng)與下降子網(wǎng),在上升子網(wǎng)中,z方向分配雙向通道C1,y方向分配單向通道C2+,在下降子網(wǎng)中,z方向分配雙向通道C2,y方向分配單向通道C2-;步驟(2)依次按以下步驟進(jìn)行消息路由步驟(2.1)路由消息首先在xy平面路由,路由開(kāi)始時(shí),優(yōu)先選擇x方向進(jìn)行路由,根據(jù)源節(jié)點(diǎn)或當(dāng)前節(jié)點(diǎn)相對(duì)于目的節(jié)點(diǎn)在y方向上的偏移方向,選擇將消息插入xy子平面上升子網(wǎng)或下降子網(wǎng),并且始終保持在此子網(wǎng)內(nèi)進(jìn)行自適應(yīng)路由,直到x方向偏移量變?yōu)榱?,其中,所述偏移量指的是目的?jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)在各維上的坐標(biāo)之差;步驟(2.2)當(dāng)x方向偏移量變?yōu)榱銜r(shí)路由消息跳轉(zhuǎn)到y(tǒng)z平面繼續(xù)路由,根據(jù)y方向上的偏移方向,選擇將消息插入yz平面的上升或下降子網(wǎng),并在此平面內(nèi)保持自適應(yīng)路由,直到消息到達(dá)目的節(jié)點(diǎn);在步驟(2.1)和步驟(2.2)中,所述平面自適應(yīng)路由是指先計(jì)算當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在最短路徑方向上的自由度,若其中一個(gè)方向上存在故障或不安全節(jié)點(diǎn),則選擇另一個(gè)方向,若兩個(gè)方向上均為故障或不安全節(jié)點(diǎn),則路由失敗;若路由消息在所述最短路徑上只有一個(gè)候選方向,且此方向上的鄰居節(jié)點(diǎn)為故障節(jié)點(diǎn)或不安全節(jié)點(diǎn),則路由消息應(yīng)在非最短路徑上進(jìn)行繞行路由,并且在之后返回最短路徑路由。
2、 根據(jù)權(quán)利要求l所述的在三維mesh網(wǎng)中的無(wú)死鎖的平面自適應(yīng)路由方法,其特征在于, 在進(jìn)行所述平面自適應(yīng)路由時(shí),先要計(jì)算當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在各方向上的偏移量,當(dāng)當(dāng)前 節(jié)點(diǎn)和目的節(jié)點(diǎn)在同一個(gè)xy或yz平面內(nèi)時(shí),如果當(dāng)前節(jié)點(diǎn)在xy或yz平面內(nèi)有不安全節(jié)點(diǎn), 則找到當(dāng)前節(jié)點(diǎn)的一個(gè)在所述平面內(nèi)安全的鄰居節(jié)點(diǎn)進(jìn)行消息路由,如果目的節(jié)點(diǎn)在xy或 yz平面內(nèi)有不安全節(jié)點(diǎn),則把目的節(jié)點(diǎn)的一個(gè)在所述平面內(nèi)安全的鄰居節(jié)點(diǎn)作為新的目的節(jié) 點(diǎn)。
3、 根據(jù)權(quán)利要求l所述的在三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法,其特征在于,在 進(jìn)行所述平面自適應(yīng)路由時(shí)若當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在x和y方向偏移均不為零時(shí),如果當(dāng)前節(jié)點(diǎn)在x偏移方向的鄰 居節(jié)點(diǎn)安全,則將消息沿x偏移方向路由至下一節(jié)點(diǎn),否則將消息沿y偏移方向路由至下一 節(jié)點(diǎn);若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在x方向有偏移,y方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在x偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿x偏移方向路由至下一節(jié)點(diǎn),否則,將消息沿y方向繞行路由, 當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿x偏移方向路由;若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在y方向有偏移,x方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則將消息沿x方向繞行路由,當(dāng) 到目標(biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿y偏移方向路由。
4、 根據(jù)權(quán)利要求l所述的在三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法,其特征在于,在 進(jìn)行所述平面自適應(yīng)路由時(shí)若當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)在y和z方向偏移均不為零時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的鄰 居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則將消息沿z偏移方向路由至下一 節(jié)點(diǎn);若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在y方向有偏移,z方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在y偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿y偏移方向路由至下一節(jié)點(diǎn),否則,將消息沿z方向繞行路由, 當(dāng)?shù)侥繕?biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿y偏移方向路由;若當(dāng)前節(jié)點(diǎn)與目的節(jié)點(diǎn)在z方向有偏移,y方向無(wú)偏移時(shí),如果當(dāng)前節(jié)點(diǎn)在z偏移方向的 鄰居節(jié)點(diǎn)安全,則將消息沿z偏移方向路由至下一節(jié)點(diǎn),否則將消息沿y方向繞行路由,當(dāng) 到目標(biāo)節(jié)點(diǎn)的最短路徑存在時(shí),恢復(fù)到沿z偏移方向路由。
5、 根據(jù)權(quán)利要求l所述的在三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法,其特征在于,所 述方法采用平面最小連通部件MCC故障模型后,擴(kuò)展為一種用于三維蟲(chóng)孔交換mesh網(wǎng)的平 面自適應(yīng)容錯(cuò)路由方法,其步驟如下先在三維mesh網(wǎng)的xy和yz的各個(gè)子平面內(nèi)分別建立最小連通部件故障模型;其次,在每個(gè)平面上,平面內(nèi)的節(jié)點(diǎn)在兩條對(duì)角線(xiàn)方向上分別計(jì)算安全性信息, 一個(gè)節(jié)點(diǎn)若在兩個(gè)與對(duì)角線(xiàn)成對(duì)稱(chēng)關(guān)系的方向存在故障或不安全節(jié)點(diǎn),那么此節(jié)點(diǎn)被標(biāo)記為不安全節(jié)點(diǎn),將安全性進(jìn)行多輪計(jì)算,直至各節(jié)點(diǎn)安全性達(dá)到穩(wěn)定狀態(tài);在路由時(shí),根據(jù)當(dāng)前節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)之間的偏移方向選擇相應(yīng)方向上的安全性信息指導(dǎo)路由,其中,所述的兩條對(duì)角線(xiàn)方向分別為x+y+和x-y-以及x+y-和x-y+兩個(gè)方向。
全文摘要
三維mesh網(wǎng)中無(wú)死鎖的平面自適應(yīng)路由方法屬于分布式高性能容錯(cuò)計(jì)算技術(shù)領(lǐng)域,其特征在于,把節(jié)點(diǎn)之間的每條物理通道被劃分為兩條虛擬通道,這兩條通道均為兩向通道,把三維mesh網(wǎng)分為xy和yz兩類(lèi)平面,每個(gè)平面分為上升子網(wǎng)和下降子網(wǎng),先從x方向開(kāi)始,在xy平面上進(jìn)行路由,當(dāng)x方向偏移量為零時(shí),再跳轉(zhuǎn)到y(tǒng)z平面進(jìn)行路由,消息在通往目的節(jié)點(diǎn)的最短路徑上有兩個(gè)方向的自由度,選擇不存在不安全鄰居節(jié)點(diǎn)的方向進(jìn)行消息路由,當(dāng)只有一個(gè)候選方向時(shí),要在非最短路徑方向繞行路由,之后再返回最短路徑路由;本發(fā)明使用故障模型,為平面建立最小連通部件故障模型,為平面內(nèi)每個(gè)節(jié)點(diǎn)在兩條對(duì)角線(xiàn)方向上分別尋找不安全節(jié)點(diǎn),再按當(dāng)前節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的偏移方向選擇安全性路由;本發(fā)明顯著提高了網(wǎng)絡(luò)的傳輸性能。
文檔編號(hào)H04L12/56GK101267394SQ20081010159
公開(kāi)日2008年9月17日 申請(qǐng)日期2008年3月10日 優(yōu)先權(quán)日2008年3月10日
發(fā)明者東 向, 張躍鯉 申請(qǐng)人:清華大學(xué)