專利名稱:三維片上網絡架構方法
技術領域:
本發明屬于集成電路芯片的應用技術領域,特別是三維片上網絡的拓撲結構,網絡節點 結構和路由算法。
背景技術:
近年來,隨著技術的發展,出現了一種新的封裝形式——三維封裝,即把多個裸片垂直 的疊加起來并且封裝成一個芯片。三維封裝得到的芯片被稱為三維IC,和傳統的二維IC相 比,它具有容量大、密度大等眾多優點。
因為三維NoC (Network on Chip,片上網絡)的架構對網絡的吞吐率、可靠性、應用 層的任務映射以及芯片的面積和功耗影響很大,所以三維NoC的架構方案是實現三維NoC 最基本、最重要的一個環節。三維NoC的架構一般由網絡的拓撲結構、網絡節點的結構以 及路由算法三方面組成。網絡架構中的基本單元是網絡節點,網絡節點是由一般由處理數 據的處理單元和傳輸數據的路由單元構成,多個網絡節點的連接方式形成網絡拓撲結構,各 節點之間信息交流的途徑是由路由算法直接決定的。網絡拓撲結構決定了路由算法的難易和 復雜程度,合理的路由算法可以提高系統的吞吐率、減小網絡的平均延時、提高系統的可靠 性并且降低芯片的功耗和面積。
通過査新和廣泛收集文獻資料,我們發現已經公開的三維NoC方法有如下幾類
參考文獻Partha Pratim Pande, Amlan Ganguly, Brett Feero, et. al, Applicability of Energy Efficient Coding Methodology to Address Signal Integrity in 3D NoC Fabrics, 13th IEEE International On-Line Testing Symposium,2007.Page(s): 161 — 166和參考文獻Brett Feero, Partha Pratim Pande, Performance Evaluation for Three-Dimensional Networks-On-Chip, IEEE Computer Society Annual Symposium on VLSI,2007.Page(s):305 - 310給出了采用三維Mesh結 構的單一拓撲方法,這類結構將三維的網絡作為一個整體,采用Mesh網絡進行連接,每個 節點都與六個方向的節點連接。這種結構中,網絡地址是三維坐標(x, y, z)構成。采用維序 路由算法,數據包依次在x軸、y軸和z軸上傳遞到目的坐標。因為Mesh結構具有拓撲簡 單的優點,所以這種架構的優點是網絡結構與路由算法簡單,但是由于Mesh結構的網絡直 徑大,以及路由算法沒有容錯性, 一旦網絡擁塞,數據包無法重新選擇一條新的路徑,只能 阻塞等待,因此數據包在這類架構中傳遞時平均跳數較多,網絡延時較大,吞吐率較低。
參考文獻Hiroki Matsutani, Michihiro Koibuchi, Hideharu Amano, Tightly-Coupled Multi-Layer Topologies for 3-D NoCs, 2007 International Conference on Parallel Processing. Page(s):75 - 75給出了在水平面方向采用Mesh結構與在垂直方向采用柱狀結構相結合的分 級拓撲作為三維NoC的架構,該架構中網絡節點分為兩類,一類(甲類)由處理單元和路 由單元構成,但處理單元與路由單元之間沒有連接,只是它們的地址是相同的,另一類(乙 類)由只有交換單元,平面網絡采用Mesh結構作為拓撲,垂直網絡釆用柱狀結構進行連接, 每個柱狀結構有且只有一個乙類節點。每個甲類節點的路由單元除與其所在平面的四個方向 上相臨的4個甲節點連接外,只與該節點所在柱狀結構的乙類節點連接,甲節點地址用水平 面網絡的編號和垂直方向的坐標點構成二維地址,同一個柱狀結構里的節點的甲類節點的水 平編號是相同的。由于甲類節點的處理單元和路由單元之間沒有連接,數據傳輸的路由只能 是是數據包首先在源節點所在的柱狀結構里傳遞,然后在水平的Mesh網絡中傳遞到目標 節點的所在的柱狀結構的節點上,再在目標節點的所在的柱狀結構傳遞到目標節點的處理單
元里。由于這種架構也是以Mesh結構為基礎的,所以具有數據包平均跳數較多、網絡延時 較大、無法自適應容錯等缺點,另外,節點的處理單元和路由單元沒有直接相連,因此數據 傳遞環節較多,但由于柱狀結構使得垂直方向的跳數變少,因此它有較高的吞吐率。
參考文獻Horiguchi, S.; Ooki, T.; Hierarchical 3D-Torus Interconnection Network, International Symposium on Parallel Architectures, Algorithms and Networks, 2000. Page(s):50 — 56給出了三維Torus結構的構造方法,即由多個三維Mesh網絡以Torus結構的方式構成的 層次化的三維Toms結構。因為Torus結構只是對Mesh結構進行了簡單的擴展,仍然具有 Mesh結構的特性,網絡節點結構與路由算法也是對Mesh結構算法進行了繼承與簡單改進, 所以也具有網絡延時較大、吞吐量較低的缺點。
幾乎現有三維NoC架構都是基于Mesh結構的,而De Bmijn圖結構具有網絡直徑小、 節點度固定、路徑靈活等優點,因此可以利用這些優點來設計更好的路由算法和數據傳輸方 式以提高數據傳輸效率和吞吐率,但De Bmijn圖作為網絡結構目前只在二維NoC上實現并 應用,參考文獻Mohammad Hosseinababy, Mohammad Reza Kakoee, Jimson Mathew, et. al, Reliable Network-on-Chip Based on Generalized de Bruijn Graph, IEEE International High Level Design Validation and Test Workshop,2007.Page(s):3 - 10就是介紹的用De Bruijn圖作為二維 NoC的架構方法。
在De Bruijn圖拓撲結構中,如果兩個節點相鄰,則它們的地址編號i和j必須滿足下 列任一公式
<formula>formula see original document page 5</formula> 其中,n為節點數,d為地址編號的進制。上式表明任一節點的二進制地址左移或右移,再 補充一個比特r,則得到相鄰節點的地址。例如,De Bmijn圖的節點數為16,地址編號的進 制為2時,節點2 (0010b)與節點9 (1001b)是相鄰的,此時1=2,』=9,1=0。
發明內容
為了兼顧復雜度、吞吐率和可靠性問題的綜合性能,本發明提出一種將De Bruijn圖作 為水平面方向的網絡結構而垂直方向采用柱狀結構的三維NoC架構方法。
為了便于描述,首先對一些術語進行定義
水平編號、Z坐標首先假設一個用X、 Y、 Z表示三個坐標軸的三維坐標,其中X和 Y所組成的平面為水平面,,Z軸為垂直方向,即水平層的重疊方向。Z坐標的取值就是水平 面的次序對應,比如第i水平面的節點的Z坐標就是i,而同一個水平面上的節點是用編號 來區分的,該編號就是水平編號。
源節點發出數據包起始節點。
目標節點數據包最終到達的節點。
本發明提供的三維NoC架構方式包括以下三個部分網絡的拓撲結構、網絡節點結構
和路由算法。
網絡節點的組成結構在各個節點中,大部分是由處理單元和路由單元兩種功能模塊組 成(甲類節點)且處理單元與路由單元(Router)是通過數據單向連線連接,其余是只有交 換單元組成(乙類節點)。
網絡拓撲結構網絡拓撲結構由水平方向網絡(NoT, Network on Tier)和垂直方向網 絡構成,水平方向的節點連接網絡采用De Bruijn拓撲結構,垂直方向由M個柱狀結構組成,
M是水平面上的節點數,每個柱狀結構是由每層水平網絡上水平編號相同的甲類節點與某 一層中的乙類節點連接在一起而成的星型網絡,且在整個網絡中要保證垂直方向的每個柱狀 結構有且只有一個乙類節點,即網絡中每個甲類節點都與一個且只與一個乙類節點相連接, 一個乙類節點將與N個甲類節點連接。
所述的路由單元和交換單元是用于傳遞數據的,路由單元完成數據包在水平面上的傳遞 以及將數據包傳遞給交換單元,而交換單元負責將收到的數據包傳遞到同一個柱狀結構里的 處理單元或者路由單元。
數據包傳遞過程如下
步驟1、源節點處理單元的數據首先傳遞到源節點路由單元里;
步驟2、源節點路由單元判斷目標節點與源節點的水平編號是否相同,如果相同,直接 進入步驟4,否則,則先進入步驟3;
步驟3、源節點路由單元利用路由計算方法(例如采用本項專利所提出的簡短移位路由 算法或本項專利所提出最短移位路由算法)計算出從源節點到與目標節點有相同水平編號且 與源節點具有相同Z坐標的中轉節點的路由路徑,然后數據包通過該路由傳遞到中轉節點 的路由單元,中轉節點與目標節點在同一個柱狀結構里;
步驟4、數據包從源節點或步驟3中所述的中轉節點傳遞到與源節點或中轉節點同在一 個柱狀結構里的交換單元(也就是乙類節點),然后再從交換單元直接傳遞到目標節點的處 理單元。
第3步中,數據包在路由中的各節點傳遞過程中,要排除不可靠鏈路,其方法如下
每個節點收到數據包后都要檢測從本節點到下一個節點的路由單元的鏈路是否擁塞或 不可靠,如果某節點檢測出到下一個節點的鏈路擁塞或不可靠,且下一個節點不是中轉節點, 則轉入步驟a,如果某節點檢測出到下一個節點的鏈路擁塞或者不可靠,且下一個路由單元 是中轉節點的路由單元則轉入步驟b,
步驟a:將所述的某節點作為新的源節點,再由新的源節點按照容錯要求用某種路由算
法(采用簡短移位路由算法或最短移位路由算法計算)重新計算新的源節點到中轉節點的路
由,完畢;
步驟b:所述的某節點將數據包傳遞給與所述的某節點具有相同水平編號的交換單元 (也就是乙類節點),然后由該交換單元將數據包送給除了所述的某節點所在水平面之外的 任一水平面上和交換單元具有相同水平編號節點的路由單元,最后由該路由單元將數據包送 給所選水平面上與原中轉節點具有相同水平編號的新的中轉節點,完畢;
上述的數據包的傳遞過程實質是在沒有故障或者鏈路擁塞的情況下,最多只包含了一 次水平面傳遞和一次垂直柱狀結構里的傳遞,而在有故障或鏈路擁塞情況下,可以避免數據 丟失。從而是數據可靠傳輸。
所述的簡短移位路由算法和所述的最短移位路由算法是基于最簡移位路徑算法的,因此 在簡短移位路由算法和最短移位路由算法之前,先描述最簡移位路徑算法。
所述的最簡移位路徑算法分為左最簡移位路徑算法和右最簡移位路徑算法。
左最簡移位路徑算法的具體步驟如下
步驟1、將節點的水平編號用m位比特的二進制數代替,設一個水平面的節點數為N (N的取值是2的冪次方),WiJm=logN;命源節點的編號為新編號,H-m-l, F=m;
步驟2、將新編號的低H位與目標節點的水平編號的高H位比較進行比較,如果不相 同且H^2,則將^H-1,然后重復本步,否則命F-H+1,并進入3;
步驟3、將新編號的二進制數從低向高移動一位,并將原來的最高位丟棄,移動后的編 號的最低位由目標節點的水平編號中的第F高位補充得到新編號,記錄該次的編號,F=F+I;
步驟4、重復3所述過程m-H-l次;
步驟5、將3和4步所記錄的所有編號按照記錄的前后順序構成了從源節點到目標節點 的左路徑。
右最簡移位路徑算法具體步驟如下
步驟6、將水平編號用m位比特的二進制數代替,設一個水平面的節點數為N (N的取 值是2的冪次方),則m-logN;命源節點的編號為新編號,H=m-1, F=H+1;
步驟7、將源節點的水平編號的高H位與目標節點的水平編號的低H位進行比較,如 果不相同且H〉-2,則取H-H-l,然后重復本步,否則命F二H+1,進入8:
步驟8、從源節點的水平面的二進制編號從高向低移動一位,并將原來的最低位丟棄, 移動后的編號的最高位由目標節點的水平編號中的第F低位補充得到新編號,記錄該次的編 號,取F-F+1;
步驟9、重復8所述過程m-H-l次;
步驟10、將8和9所記錄的所有編號按照記錄的前后順序構成從源節點到目標節點的 右路徑。
'所述的簡短移位路由計算法如下
a、 根據所述的左最簡移位路徑算法計算出左路徑和根據所述的右最簡移位路徑算法算 出的右路徑;
b、 選擇右路徑和左路徑兩者之中較短(節點數較少)的路徑為路由。
所述的最短移位路由算法具體步驟如下
1) 、根據所述的最簡移位路徑算法計分別算出源節點到目標節點之間左路徑和右路徑, 如果左路徑或右路徑的跳數小于或等于2,轉入5),否則,將『2, k=l,進入2):
2) 、分別將n條路徑中的第k跳的終點為新的源節點,再采用最簡移位法計算出n條左 路徑和n條右路徑,在每條路徑前面分別加上各自新的源節點到源節點之間的路徑部分,即 成為從源節點開始到目標節點的2n條路由,如2n條路徑中的某條路由的跳數為小于或等于 k+2,則轉入5),否則轉入3):
'3)、判斷k是否小于m,如果k小于m,轉入4,否則轉入5);
4) 、將『2n, k=k+l;轉入2);
5) 、選擇所有路由中(共2n條)最短(節點數最少)的路徑作為數據傳輸路由。 其中m是地址的二進制數的長度(比特數)。 數據包頭格式以及傳輸過程中的應用和變化
數據包包頭包括目標處理單元的水平編號,目標處理單元Z坐標,源處理單元水平編 號,源處理單元Z坐標,水平面上剩余跳數,移位方向序列,填充序列錯誤!未找到引用 源。,交換單元送出的數據包的傳遞方向值等部分,其中移位方向序列長度(比特位數)為 路由的跳數,每位表示編號一次移動的方向(0表示左移,l表示右移);填充序列中每位是 一次編號移位后需要填充的值。數據包頭在數據包的傳遞過程中配合路由算法包頭有做如下 用法和變化在水平方向傳遞過程中,各節點的路由單元先根據移動方向的序列和填充序列 的最高位選擇輸出端口,轉發數據包后將移動方向序列和填充序列的最高位都丟棄,將剩余 跳數的值減l,再將該數據包發送到輸出端口;在垂直方向傳遞過程中,如果交換單元送出 的數據包的傳遞方向數據為0,則將數據包送給處理單元,交換單元送出的數據包的傳遞方 向數據為l,則將數據包送給路由單元。
發明的實質與實際效果-
'本發明提出了的三維片上網絡架構,是將De Bruijn圖作為水平面的網絡結構與將柱狀 結構作為垂直方向的網絡結構應用相結合的成果,本方法充分發揮DeBruijn圖的優勢,首 先設計出最簡移位路徑算法,然后基于最簡移位路徑算法再設計出簡短移位路由算法和最短 移位路由算法,因此數據傳輸的平均跳數少,網絡延時小,吞吐率,再利用DeBmijn圖可 容錯的特點設計出了避免擁塞的數據傳輸方法,提高了數據傳輸的可靠性,并且在節點中將 處理單元與路由單元直接連接,因此又減少了數據傳輸環節。
圖1是由4個水平面組成的網絡拓撲實施例。
圖2是每個水平面上有16個節點的水平面網絡和水平編號示意圖。
圖3是本發明采用的數據包的包頭格式。
l是水平面網絡,2是垂直方向的柱狀結構,3是甲類節點,4是乙類節點,5是節點的 水平編號數據,6是數據包頭的目標處理單元水平編號,7是數據包頭的目標處理單元Z坐 標,8是數據包頭的源處理單元水平編號,9是數據包頭的源處理單元Z坐標,10是數據包 頭的水平面上剩余跳數。1是數據包頭的移位方向序列,其長度(比特位數)為路由的跳 數,每位表示編號一次移動的方向(0表示左移,l表示右移),12是數據包頭的填充序列, 每位是一次編號移位后需要填充的值錯誤!未找到引用源。,13是數據包頭的交換單元送出 的數據包的傳遞方向值。
具體實施例方式
圖1示出的網絡中每個水平層中有16個節點,圖2示出了其中任意一層的節點編號。 每層編號為1的節點都分別與同一個交換單元(乙類節點)連接,每層編號為2的節點都分 別與同一個交換單元(乙類節點)連接,以此類推,每層編號為16的節點都分別與同一個 交換單元(乙類節點)連接,實際上,各個交換單元可以分別分布在任何一個水平面上。
以從地址為(1,3)的源節點(在第3水平面上水平編號為1的節點,水平編號從0 開始。)向地址為(15, 2)的目標節點(在第2水平面上水平編號為15的節點)傳數據包 為例,介紹數據包從該網絡的傳遞處理過程。
源節點(1, 3)中處理單元發出的數據包首先傳遞給與其相連的路由單元。源節點(1, 3)的路由單元判斷源節點和目標節點的水平編號是否相同,顯然不相同,因此采用所述的 簡短移位路由算法計算出從坐標為(1, 3)的節點到坐標為(15, 3)的節點的最短路徑, 然后將數據包沿該路由傳遞到(15, 3)節點,數據包到達(15, 3)節點后,再傳遞到水平 編號為15的交換單元里,最后從水平編號為15的交換單元傳遞到目標節點(15, 2)。
'下面再詳細敘述數據從節點(1, 3)向節點(15, 3)傳遞數據的簡短移位路由算法過
程
首先將源節點的水平編號和目標節點的水平編號分別用4比特的二進制數代替,源節點 的水平二進制編號為0001,目標節點的水平二進制編號為1111;
一、 首先計算左路由
1、 比較源節點的水平編號的低3 (H的初始值取4-l,為3)位OOl與目標節點的水平 編號的高3位111是否相同,由于源節點的水平編號的低3位與目標節點的水平編號的高3 位不同,所以又將源節點的水平編號的低2位01與目標節點的水平編號的高2位11進行比 較,還是不同,所以又將源節點的水平編號的低1位1與目標節點的水平編號的高1位1 進行比較,由于源節點的水平編號的低l位和目標節點的水平編號的高l位相同,因此,此 時H-1;
2、 將源節點水平面地址的二進制編號0001從低向高移動一位并拋棄最高位得到OOl, 由于在第1步的源節點的水平編號與目標節點的水平編號的比較是經過了第三次比較后才 出現了相同的編號,H=l,因此將目標節點的水平編號中的第2高位(第H+1高位)的值l 補充到移動之后的編號的末尾作為最低位,得到的新編號為OOll,記錄該次的編號0011;
3、 將2中所得到的二進制編號0011從低向高移動一位并拋棄最高位得到011,將目標 節點的水平編號中的第3高位的值1補充到移動之后的編號的末尾作為最低位,得到的新編
號為oui,記錄該次的編號oin;
4、 將3中所得到的二進制編號Olll從低向高移動一位并拋棄最高位得到1U0,將目 標節點的水平編號中的第4高位的值1補充到移動之后的編號的末尾作為最低位,得到的新 編號為1111的編號,記錄該次的編號1111;
5、 將所記錄的所有編號按照記錄的前后順序構成了從源節點到目標節點的左路徑,艮卩 0001 ~^0011~^^0111^~>1111,其中,"《1"表示左移并填充比特l。
二、 再計算右路由
1 、比較源節點的水平編號的髙3位000與目標節點的水平編號的低3位111是否相同, 由于源節點的水平編號的高3位與目標節點的水平編號的低3位不同,所以又將源節點的水 平編號的高2位00與目標節點的水平編號的低2位11進行比較,還是不同,所以又將源節 點的水平編號的高1位0與目標節點的水平編號的低1位1進行比較,由于源節點的水平編 號的高1位和目標節點的水平編號的低1位還是不同,并且這是最后一位的比較,因此進入 2,此時H^;
2、 從源節點的水平面的二進制編號0001從高向低移動一位并拋棄最低位變成000,由 于在第1步的源節點的水平編號與目標節點的水平編號的所有比較過程中沒有出現相同的 情況,H-O,因此將目標節點的水平編號中的第1低位(第H+l低位)的值1補充到移動之 后的編號的首位作為最高位,得到的新編號為1000,記錄該次的編號1000;
3、 將2步所得到的編號1000從高向低移動一位并拋棄最低位變成100,將目標節點的 水平編號中的第2低位的值1補充到移動之后的編號的首位作為最高位,得到的新編號為 1100,記錄該次的編號1100:
4、 將3步所得到的編號1100從高向低移動一位并拋棄最低位變成110,將目標節點的 水平編號中的第3低位的值1補充到移動之后的編號的首位作為最高位,得到的新編號為 1110,記錄該次的編號1110;
5、 將3步所得到的編號1110從高向低移動一位并拋棄最低位變成111,將目標節點的 水平編號中的第4低位的值1補充到移動之后的編號的首位作為最高位,得到的新編號為 1111,記錄該次的編號llll;
6、 將所記錄的所有編號按照記錄的前后順序構成從源節點到目標節點的右路徑,艮卩 0001^^1000^^1100 >1110^^1111 。
三、比較左路徑和右路徑的長度(跳數),因為左路徑的長度較短(跳數較少),因此選
擇左路徑0001^^0011~^0111~^~>1111作為數據包從源節點(1,3)到目標節點(15, 2)的中轉節點(15, 3)的路由路徑。
數據包在傳遞過程中配合路由算法,對包頭做如下調整在水平方向傳遞過程中,各節 點的路由單元先根據移動方向的序列11和填充序列12的最高位選擇輸出端口,轉發數據包 后將移動方向的序列11和填充序列12的最高位都丟棄,將剩余跳數10的值減1,再將該 數據包發送到輸出端口;在垂直方向傳遞過程中,如果交換單元送出的數據包的傳遞方向數 據13為0,則將數據包送給處理單元,交換單元送出的數據包的傳遞方向數據13為1,則 將數據包送給路由單元。
權利要求
1、三維片上網絡架構方法,包括網絡結構、網絡節點的組成和路由計算方法,有的網絡節點是甲類,還有的網絡節點是乙類,網絡拓撲結構由水平方向網絡和垂直方向網絡構成三維網絡,其特點在于由路由單元和處理單元組成的節點中的路由單元與處理單元之間有單向數據線連接;網絡拓撲結構由水平方向網絡和垂直方向網絡構成,水平方向的節點連接網絡采用De Bruijn拓撲結構,垂直方向由M個柱狀結構組成,M是水平面上的節點數,每個柱狀結構是由每層水平網絡上水平編號相同的甲類節點與某一層中的乙類節點連接在一起而成的星型網絡,垂直方向的每個柱狀結構有且只有一個乙類節點,即網絡中每個甲類節點都與一個且只與一個乙類節點相連接,一個乙類節點將與N個甲類節點連接;數據包傳遞過程如下步驟1、源節點處理單元的數據包首先傳遞到源節點路由單元里;步驟2、源節點路由單元判斷目標節點與源節點的水平編號是否相同,如果相同,直接進入步驟4,否則,則先進入步驟3;步驟3、源節點路由單元利用路由計算方法計算出從源節點到與目標節點有相同水平編號且與源節點具有相同Z坐標的中轉節點的路由路徑,然后數據包通過該路由傳遞到中轉節點的路由單元,中轉節點與目標節點在同一個柱狀結構里;步驟4、數據包從源節點或步驟3中所述的中轉節點傳遞到與源節點或中轉節點同在一個柱狀結構里的交換單元,然后再從交換單元直接傳遞到目標節點的處理單元。
2、據權利要求1所述的三維片上網絡架構方法,其特征在于第3步中,數據包在路 由中的各節點傳遞過程中,要排除不可靠鏈路,其方法如下每個節點收到數據包后都要檢測從本節點到下一個節點的路由單元的鏈路是否擁塞或 不可靠,如果某節點檢測出到下一個節點的鏈路擁塞或不可靠,且下一個節點不是中轉節點, 則轉入步驟a,如果某節點檢測出到下一個節點的鏈路擁塞或者不可靠,且下一個路由單元 是中轉節點的路由單元則轉入步驟b;步驟a:將所述的某節點作為新的源節點,再由新的源節點按照容錯要求用某種路由算 法重新計算新的源節點到中轉節點的路由,完畢;步驟b:所述的某節點將數據包傳遞給與所述的某節點具有相同水平編號的交換單元, 然后由該交換單元將數據包送給除了所述的某節點所在水平面之外的任一水平面上和交換 單元具有相同水平編號節點的路由單元,最后由該路由單元將數據包送給所選水平面上與原 中轉節點具有相同水平編號的新的中轉節點,完畢。
3、據權利要求1或權利要求2所述的三維片上網絡架構方法,其特征在于所述某種路由 計算方法可以是簡短移位路由算法,所述的算法簡短移位路由算法為先分別利用左最簡循 環路徑算法和右最簡循環路徑算法計算出左路徑和右路徑,然后在左路徑和右路徑兩者之間選擇出最短的路徑作為最終計算所得到的路徑;所述的左最簡移位路徑算法為步驟1、將源節點的水平編號用m位比特的二進制數代替,設一個水平面的節點數為N, N的取值是2的冪次方,則mHogN,取H-m-l, F=m;步驟2、將新編號的低H位與目標節點的水平編號的高H位比較進行比較,如果不相 同且H^2,貝lj將H-H-l,然后重復本步,否則,命源節點的水平編號為新編號,取F-H+1,并進入3;步驟3、將新編號的二進制數從低向高移動一位,并將原來的最高位丟棄,移動后的編 號的最低位由目標節點的水平編號中的第F高位補充得到新編號,記錄該次的編號,取F-F+l;步驟4、重復3所述過程m-H-l次;步驟5、將3和4步所記錄的所有編號按照記錄的前后順序構成了從源節點到目標節點 的左路徑;所述的右最簡移位路徑算法具體步驟如下步驟6、將水平編號用m位比特的二進制數代替,設一個水平面的節點數為N, N的取 值是2的冪次方,則m—ogN;取H-m-l, F-m;步驟7、將源節點.的水平編號的高H位與目標節點的水平編號的低H位進行比較,如 果不相同且H>=2,則取H=H-1 ,然后重復本步,否則,命源節點的水平編號為新編號,F-H+1 , 進入8;步驟8、將新編號從高向低移動一位,并將原來的最低位丟棄,移動后的編號的最高位 由目標節點的水平編號中的第F低位補充得到新編號,記錄該次的編號,取F-F+1;步驟9、重復8所述過程m-H4次;步驟10、將8和9所記錄的所有編號按照記錄的前后順序構成從源節點到目標節點的 右路徑。
4、 據權利要求I或權利要求2所述的三維片上網絡架構方法,其特征在于,所述某種路由 計算方法可以是最短移位路由算法,所述的最短移位路由算法過程如下-1) 、采用權利要求3中所述的左最簡循環路徑算法和右最簡循環路徑算法分別算出源節點到目標節點之間左路徑和右路徑,如果左路徑或右路徑的跳數小于等于2, 轉入5),否則,將n=2, k-l,進入2);2) 、分別將n條路徑中的第k跳的終點為新的源節點,再采用最簡移位法計算出n條左路徑和n條右路徑,在每條路徑前面分別加上各自新的源節點到源節點之間的 路徑部分,即成為從源節點開始到目標節點的2n條路由,如2n條路徑中的某條 路由的跳數為小于等于k+2,則轉入5),否則轉入3);3) 、判斷k是否小于m,如果k小于m,轉入4,否則轉入5);4) 、將n-2n, k=k+l;轉入2);5) 、選擇所有路由中最短的路徑作為數據傳輸路由 其中m是地址的二進制數的長度。
5、 據權利要求l、 2、 3或4所述的三維片上網絡架構方法,其特征在于其中的數據包的包 頭格式包括目標處理單元的水平編號,目標處理單元Z坐標,源處理單元水平編號,源處 理單元Z坐標,水平面上剩余跳數,移位方向序列,每位表示編號一次移動的方向,填充 序列每位表示編號一次移動的填充值,交換單元送出的數據包的傳遞方向值等部分。
全文摘要
本發明提出了一種三維片上網絡架構方法,其網絡結構由水平面方向的De Bruiin圖網絡和垂直方向的柱狀結構組成的三維網絡,網絡中的節點,大部分是由處理單元和路由單元兩種功能模塊組成(甲類節點)且處理單元與路由單元(Router)是通過數據單向連線連接,其余是只有交換單元(乙類節點);本方法充分發揮De Bruiin圖的優勢,首先設計出最簡循環路徑算法,然后基于最簡循環路徑算法再設計出簡短移位路由算法和最短移位路由算法,利用所設計出的路由算法使數據傳輸的平均跳數少,網絡延時小,吞吐率,再利用De Bruiin圖可容錯的特點設計出了避免阻塞的數據傳輸方法,提高了數據傳輸的可靠性,并且在節點中將處理單元與路由單元直接連接,因此又減數了數據傳輸環節。
文檔編號H04L12/44GK101388834SQ20081004631
公開日2009年3月18日 申請日期2008年10月20日 優先權日2008年10月20日
發明者翔 凌, 符初生, 胡劍浩, 陳亦歐 申請人:電子科技大學