用于三維torus光電混合網絡的路由方法
【專利摘要】本發明公開了一種用于三維torus光電混合網絡的路由方法,其實施步驟如下:1)節點在時隙開始階段解析輸入端口輸入的報文和新報文的目的地址并選擇輸出端口;2)節點首先判斷三個輸入端口是否都有報文輸入,如果三個輸入端口都有報文輸入且本節點有待發送的新報文,則暫停發送新報文并在下一個時隙開始時嘗試發送該新報文;然后跳轉執行下一步;3)節點首先判斷為所有報文選擇的輸出端口是否沖突,如果發生輸出端口沖突,則根據預設優先級別對發生輸出端口沖突的報文的輸出端口進行重新分配;最終將各個報文按照對應的輸出端口發送給下一節點。本發明具有硬件利用率好、通信效率高、通信性能好、無死鎖、活鎖及餓死現象的優點。
【專利說明】用于三維torus光電混合網絡的路由方法
【技術領域】
[0001]本發明涉及高性能計算機通信領域,具體涉及一種用于三維torus光電混合網絡的路由方法。
【背景技術】
[0002]近年來,隨著高性能計算技術的發展,高性能計算機內部核的數目不斷增加,核間通信需求不斷提高,對交換網絡的網絡延遲和帶寬提出了新的更高要求。三維torus光電混合網絡則用于實現高性能計算機的通信,能夠有效解決交換網絡的網絡延遲和帶寬問題。
[0003]三維torus光電混合網絡包含一個光數據網絡和一個具有同樣拓撲結構的電控制網絡。光數據網絡用于傳輸數據,電控制網絡用于傳輸控制信號,該控制信號用來控制光網絡數據的傳輸方向。光數據網絡的基本功能單元為網絡節點,每個節點包含電控制網絡和若干個光交換單元(Photonic Switch Element),電控制網絡用于發送、接收和解析路由信息,并向光交換單元發出控制信號,設置這些光交換單元的狀態。在三維torus光電混合網絡中,節點之間使用光網絡來傳輸數據報文、使用電網絡來傳輸電控制信息。光數據網絡和電控制網絡具有同構的拓撲結構,在相鄰的兩個節點間同時建立光鏈路和電鏈路,從而形成一個光電混合互連網絡結構。在這種光電混合網絡中,報文的路由過程實際上就是報文在光交換單元和光鏈路組成的路徑上進行傳輸的過程。因此,對于任何一個節點,其上的路由算法實際上就是設置該節點光交換單元的狀態。
[0004]以4X4X4三維torus光電混合網絡為例,一個mXnXp的三維torus光電混合網絡由mXnXp個節點組成,每個節點可用坐標(X,y, z) (x=0, I, 2,..., m_l ;y=0, I, 2,…n-1 ;z=0, 1,2…p-1)表示,每個節點包含三個端口 X-、Y-和Z-,三個輸出端口 X+、Y+和Z+ ;在4X4X4三維torus光電混合網絡中,貝U有m、η、ρ的值均為4,每個節點的坐標(x, y, z)中x、y、z的取值均為O~3。在三維torus光電混合網絡中,所有節點都按照時隙同步模式傳輸數據。比如報文P的數據信息的第一位在某個時隙開始時刻h從一個節點N1的X+、Y+或Z+端口發出后,經過一個時隙的時間Λ !',在七片Λ T時刻,報文P的數據信息的第一位到達相鄰的下一個節點N2的X-、Y-或Z-端口,同時,報文P的最后一位剛從N1發送出來,這種按照時隙同步模式傳輸數據的網絡假定報文在相鄰節點間的傳輸時間等于一個時隙。因此,在在Δ T時刻,節點N1和節點N2間的光鏈路“充滿”數據。然后報文P的數據信息的第一位接著從節點N2的X+、Y+或Z+端口送出,在tj2 Δ T時刻,P報文的第一位到達節點N3的X-、Y-或Z-端口,此時其最后一位到達節點N2的發送端口。這樣,整個報文在到達目的節點之前將沿著網絡鏈路流水前進。
[0005]目前,三維torus光電混合網絡常用的路由算法包括如下三種。
[0006]第一種,維序路由算法。在維序路由算法中,每個數據包每次只在一個維上路由,當在該維上到達了目的坐標之后,再按照由低維到高維的順序在其他維上路由。因為數據包嚴格按照單調的維數變化在通道內路由,所以維序路由是沒有死鎖的,維序路由算法在負載較輕和負載均勻的條件下能夠比較好的工作,但維序路由算法在網絡負載加重或負載不均勻時,性能會急劇下降。
[0007]第二種,確定性路由算法。確定性路由算法是指從節點A到節點B是一個固定的路徑,與網絡狀況無關。確定性路由算法在網絡沒有擁塞時,具有高可靠性和低延遲。每個路由器都有一個包括一個全局路由表,網絡改變時,路由表隨之更新。確定性路由算法的硬件設計和實現簡單,在網絡流量不大時,具有較小的網絡時延,是無死鎖和無活鎖路由,但是確定性路由算法的可擴張性較差,每次網絡規模的變化,都會帶來大量的網絡帶寬開銷。
[0008]第三,隨機路由算法。隨機路由算法基于概率將報文按不同的路徑發送到目的節點,并假定每個分組遲早都能到達其目的節點。為了避免分組在網絡中無限制地游走,算法規定了報文的生存時間。報文在網絡中隨機路由時都有一個最長時間限制,超過此時間,報文將被丟棄。隨機路由算法雖然實現簡單,且能容錯,但是隨機路由算法的網絡延遲較大,難以滿足延遲要求高的網絡應用。
【發明內容】
[0009]本發明要解決的技術問題是提供一種硬件利用率好、通信效率高、通信性能好、無死鎖、活鎖及餓死現象的用于三維torus光電混合網絡的路由方法。
[0010]為了解決上述技術問題,本發明采用的技術方案為:
一種用于三維torus光電混合網絡的路由方法,其實施步驟如下:
1)節點在每個時隙的開始階段,解析X-端口、Υ_端口、Z-端口三個輸入端口到達節點的報文的目的地址,如果本節點有待發送的新報文則解析新報文的目的地址,根據維序路由算法決定所有被解析報文的輸出端口;
2)判斷所述三個輸入端口是否都有報文輸入,當所述三個輸入端口都有報文輸入且本節點有待發送的新報文時,則暫停發送新報文并將在下一個時隙開始時嘗試發送該新報文;否則,跳轉執行下一步;
3)首先判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則根據預設的優先級別對輸出端口發生沖突的報文的輸出端口進行重新分配;最后將各個報文按照對應的輸出端口發送至下一節點。
[0011]作為本發明用于三維torus光電混合網絡的路由方法的進一步改進:
所述步驟I)中解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址時,按照X-端口、Y-端口、Z-端口的優先順序依次解析三個輸入端口到達節點的報文的目的地址,來自X-端口的報文的目的地址首先被解析,來自Y-端口的報文的目的地址其次被解析,來自Z-端口的報文的目的地址最后被解析。
[0012]所述步驟3)中預設的優先級別具體是指:x-端口輸入的報文優先級大于Y-端口輸入的報文,Y-端口輸入的報文優先級大于Z-端口輸入的報文,X-端口輸入的報文、Y-端口輸入的報文、Z-端口輸入的報文的優先級均大于待發送的新報文。
[0013]所述步驟3)的詳細步驟如下:
3.1)判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則跳轉執行步驟3.2),否則跳轉執行步驟3.5); 3.2)判斷本節點是否有待發送的新報文,如果有待發送的新報文則跳轉執行步驟3.3),否則跳轉執行步驟3.4);
3.3)檢查輸出端口發生沖突的類型,如果有兩個輸入端口到達節點的報文,且所述兩個輸入端口到達節點的報文的輸出端口均和待發送新報文的輸出端口相同,則跳轉執行步驟3.3.1);如果有兩個輸入端口的報文,但所述兩個輸入端口到達節點的報文中僅有一個報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.2);如果有兩個輸入端口到達節點的報文,所述兩個輸入端口到達節點的報文的輸出端口均與新報文的輸出端口不同,但所述兩個輸入端口到達節點的報文的輸出端口之間相同,則跳轉執行步驟3.3.3);如果僅有一個輸入端口到達節點的報文,且所述輸入端口到達節點的報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.4);
3.3.1)保持所述兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,隨機選取一個空閑的輸出端口并重新分配給兩個輸入端口到達節點的報文中優先級較低的報文,并將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟3.5);
3.3.2)保持所述兩個輸入端口到達節點的報文的輸出端口的輸出端口均不變,將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟3.5);
3.3.3)保持所述兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,保持待發送新報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給所述兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟3.5);
3.3.4)保持輸入端口到達節點的報文的輸出端口不變,隨機選擇一個空閑輸出端口并重新分配給待發送的新報文,跳轉執行步驟3.5);
3.4)檢查輸出端口發生沖突的類型,如果有三個輸入端口到達節點的報文,且三個輸入端口到達節點的報文的輸出端口均相同,則跳轉執行步驟3.4.1);如果有三個輸入端口到達節點的報文,且僅有兩個輸入端口到達節點的報文的輸出端口相同,則跳轉執行步驟3.4.2);如果僅有兩個輸入端口的報文,且所述兩個輸入端口的報文之間的輸出端口相同,則跳轉執行步驟3.4.3);
3.4.1)保持三個輸入端口到達節點的報文中優先級最高報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級次高的報文,并將最后剩下的一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級最低的報文,跳轉執行步驟3.5);
3.4.2)保持三個輸入端口到達節點的報文中輸出端口不相同報文的輸出端口不變,保持所述兩個輸入端口的報文中優先級較高的報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給所述兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟3.5);
3.4.3)保持所述兩個輸入端口到達節點的報文中優先級較高的報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給所述兩個輸入端口到達節點的報文中優先級較低的報文,跳轉執行步驟3.5);
3.5)將各個報文按照對應的輸出端口發送至下一節點。
[0014]本發明具有下述優點:本發明提出了一種基于維序路由和隨機路由的混合路由方法,本發明的節點在每個時隙的開始階段,為輸入報文以及新報文解析目的地址并選擇輸出端口,根據三個輸入端口的情況決定新報文的發送時隙,且節點首先判斷為所有報文選擇的輸出端口中是否有報文發生輸出端口沖突,如果發生輸出端口沖突,則根據預設優先級別對發生輸出端口沖突的報文的輸出端口進行重新分配,最終將各個報文按照對應的輸出端口發送給下一節點,因此能夠充分利用空閑的鏈路發送新報文以及解決報文之間的輸出端口沖突,數據傳輸效率相對現有算法有了很大的提升,而且能夠可避免網絡產生死鎖、活鎖及餓死現象,具有硬件利用率好、通信效率高、通信性能好、無死鎖、活鎖及餓死現象的優點。
【專利附圖】
【附圖說明】
[0015]圖1為本發明實施例的基本流程示意圖。
[0016]圖2為應用本發明實施例的電控制網絡節點的結構示意圖。
【具體實施方式】
[0017]如圖1所示,本實施例用于三維torus光電混合網絡的路由方法的實施步驟如下:
1)節點在每個時隙的開始階段,解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址,如果本節點有待發送的新報文則解析新報文的目的地址,根據維序路由算法決定所有被解析報文的輸出端口;
2)判斷三個輸入端口是否都有報文輸入,當三個輸入端口都有報文輸入且本節點有待發送的新報文時,則暫停發送新報文并將在下一個時隙開始時嘗試發送該新報文;否則,跳轉執行下一步;
3)首先判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則根據預設的優先級別對輸出端口發生沖突的報文的輸出端口進行重新分配;最后將各個報文按照對應的輸出端口發送至下一節點。
[0018]本實施例中,步驟I)中解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址時,按照X-端口、Y-端口、Z-端口的優先順序依次解析三個輸入端口到達節點的報文的目的地址,來自X-端口的報文的目的地址首先被解析,來自Y-端口的報文的目的地址其次被解析,來自Z-端口的報文的目的地址最后被解析。
[0019]本實施例中,步驟3)中預設的優先級別具體是指:Χ-端口輸入的報文優先級大于Y-端口輸入的報文,Y-端口輸入的報文優先級大于Z-端口輸入的報文,X-端口輸入的報文、Y-端口輸入的報文、Z-端口輸入的報文的優先級均大于待發送的新報文,從而能夠提高端口輸入的報文的發送效率,而且支持X-端口、Υ-端口、Z-端口的優先級細粒度處理,通信效率更好。此外,本實施例同樣也可以根據需要采用其它的預設優先級,同樣也能夠實現對發生輸出端口沖突的報文的輸出端口進行重新分配。
[0020]本實施例中,步驟3)的詳細步驟如下:
3.1)判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則跳轉執行步驟3.2),否則跳轉執行步驟3.5);
3.2)判斷本節點是否有待發送的新報文,如果有待發送的新報文則跳轉執行步驟3.3),否則跳轉執行步驟3.4);
3.3)檢查輸出端口發生沖突的類型,如果有兩個輸入端口到達節點的報文,且兩個輸入端口到達節點的報文的輸出端口均和待發送新報文的輸出端口相同,則跳轉執行步驟3.3.1);如果有兩個輸入端口的報文,但兩個輸入端口到達節點的報文中僅有一個報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.2);如果有兩個輸入端口到達節點的報文,兩個輸入端口到達節點的報文的輸出端口均與新報文的輸出端口不同,但兩個輸入端口到達節點的報文的輸出端口之間相同,則跳轉執行步驟3.3.3);如果僅有一個輸入端口到達節點的報文,且輸入端口到達節點的報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.4);
3.3.1)保持兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,隨機選取一個空閑的輸出端口并重新分配給兩個輸入端口到達節點的報文中優先級較低的報文,并將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟3.5);
3.3.2)保持兩個輸入端口到達節點的報文的輸出端口的輸出端口均不變,將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟3.5);
3.3.3)保持兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,保持待發送新報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟3.5);
3.3.4)保持輸入端口到達節點的報文的輸出端口不變,隨機選擇一個空閑輸出端口并重新分配給待發送的新報文,跳轉執行步驟3.5);
3.4)檢查輸出端口發生沖突的類型,如果有三個輸入端口到達節點的報文,且三個輸入端口到達節點的報文的輸出端口均相同,則跳轉執行步驟3.4.1);如果有三個輸入端口到達節點的報文,且僅有兩個輸入端口到達節點的報文的輸出端口相同,則跳轉執行步驟3.4.2);如果僅有兩個輸入端口的報文,且兩個輸入端口的報文之間的輸出端口相同,則跳轉執行步驟3.4.3);
3.4.1)保持三個輸入端口到達節點的報文中優先級最高報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級次高的報文,并將最后剩下的一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級最低的報文,跳轉執行步驟3.5);
3.4.2)保持三個輸入端口到達節點的報文中輸出端口不相同報文的輸出端口不變,保持兩個輸入端口的報文中優先級較高的報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟3.5);
3.4.3)保持兩個輸入端口到達節點的報文中優先級較高的報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給兩個輸入端口到達節點的報文中優先級較低的報文,跳轉執行步驟3.5);
3.5)將各個報文按照對應的輸出端口發送至下一節點。
[0021]如圖2所示,應用本實施例的三維torus光電混合網絡的電控制網絡中的電控制節點的核心模塊為處理單元(PE),每個輸入端口(X-、Y-或Z-端口)可以通過處理單元PE的控制連接到任意一個輸出端口(X+、Y+或Z+端口),處理單元PE則用于執行本實施例的路由方法,為電控制節點和光數據節點同步選擇輸出端口。[0022]如圖2所示,處理單元PE包括控制信息解析模塊、路由判斷及仲裁模塊、控制信息轉發模塊、光交換單元控制器。控制信息解析模塊用于解析報文的目的地址,節點在每個時隙的開始階段通過控制信息解析模塊解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址,如果本節點有待發送的新報文,則通過控制信息解析模塊解析新報文的目的地址。路由判斷及仲裁模塊用于決定被解析報文的輸出端口以及對輸出端口發生沖突的報文的輸出端口進行重新分配,路由判斷及仲裁模塊在每個時隙的開始階段根據維序路由算法決定所有被解析報文的輸出端口,然后判斷三個輸入端口是否都有報文輸入,當三個輸入端口都有報文輸入且本節點有待發送的新報文時,則暫停發送新報文并將在下一個時隙開始時嘗試發送該新報文;否則,首先判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則根據預設的優先級別對輸出端口發生沖突的報文的輸出端口進行重新分配。控制信息轉發模塊用于向下一節點轉發電控制信息,光交換單元控制器則用于向下一節點轉發光數據,從而實現報文在三維torus光電混合網絡上的傳輸。
[0023]為了進一步描述清楚,本實施例以新報文P從源節點S經過若干中間節點N發送到目的節點D為例,對源節點S和中間節點N的路由過程進行進一步的說明。
[0024]參見步驟3.3),新報文P從源節點S發送出去的詳細工作過程如下:
Al)源節點S在時隙開始時,首先解析從Χ-、gama_或Z-端口到達源節點S的報文的目的地址,然后解析報文P (新報文)的目的地址,并根據維序路由策略決定所有被解析報文的輸出端口。本實施例中解析目的地址時,報文的優先級順序為來自X-端口的報文優先級大于來自Y-端口的報文,來自Y-端口的報文優先級大于來自Z-端口的報文,來自Z-端口的報文優先級大于報文P (新報文),報文P (新報文)具有最低的優先級。
[0025]Α2)如果X-端口、gama-端口和Z-端口都有報文發送,那么源節點S暫停發送報文P,并在下一個時隙開始時,嘗試發送報文P。
[0026]A3)否則的話,判斷報文的輸出端口是否有重復。如果所選擇的輸出端口沒有重復,說明不存在輸出沖突,那么每個報文分別按照選擇的輸出端口發送報文。
[0027]Α4)如果所選擇的輸出端口有重復,說明存在沖突。那么根據隨機路由策略和報文優先級順序(X-端口報文具有最高優先級,報文P優先級最低),解決沖突:
Α4.1)如果有兩個輸入端口報文且他們選擇的輸出端口和報文P相同,那么保持優先級較高的報文的輸出端口不變,隨機選取一個空閑的輸出端口給優先級較低的輸入端口的報文,報文P從最后剩下的輸出端口輸出。
[0028]Α4.2)如果有兩個輸入端口報文,但是這兩個報文的輸出端口和報文P的輸出端口不完全相同。那么保持不沖突的報文的輸出端口,并按照優先級,保持優先級較高的那個報文的輸出端口,將優先級相對較低的那個報文從最后剩下的輸出端口輸出。
[0029]Α4.3)如果有兩個輸入端口報文,這兩個報文的輸出端口和報文P的輸出端口均不相同,但是兩個輸入端口報文之間的輸出端口相同。那么保持不沖突的報文P的輸出端口不變,并按照優先級,在兩個輸入端口報文中保持優先級較高的那個報文的輸出端口,將優先級相對較低的那個報文從最后剩下的輸出端口輸出。
[0030]Α4.4)僅有一個輸入端口有報文且輸出端口相同,那么按照優先級,保持這個輸入端口、報文的輸出端口,然后隨機選擇一個空閑輸出端口,將報文P從這個輸出端口輸出。
[0031]參見步驟3.4),報文P到達中間節點N時的詳細工作過程如下: BI)在每個時隙的開始階段,依次解析從Χ-、Υ_或Z-端口到達中間節點N的報文的目的地址(X-端口報文的目的地址首先被解析,Z-端口的最后被解析),并根據維序路由策略決定報文的輸出端口。
[0032]Β2)如果所選擇的輸出端口沒有重復,說明不存在輸出沖突。那么每個報文分別按照選擇的輸出端口發送報文。
[0033]Β3)如果所選擇的輸出端口有重復,說明存在沖突。那么根據隨機路由策略和報文優先級順序(X-端口報文具有最高優先級,Z-端口優先級最低),解決沖突:
Β3.1)如果X-、Y-和Z-端口都有報文且輸出端口完全相同,那么保持X-端口報文的輸出端口不變,隨機選取一個空閑的輸出端口給Y-端口的報文,Z-端口的報文從最后剩下的輸出端口輸出。
[0034]Β3.2)如果Χ-、Υ_和Z-端口都有報文且輸出端口部分相同(如X-和Y-的輸出端口相同,Z-不同)。那么保持不沖突的報文的輸出端口,并按照優先級,保持優先級較高的那個報文的輸出端口,將優先級相對較低的那個報文從最后剩下的輸出端口輸出。
[0035]Β3.3)僅有兩個輸入端口有報文且輸出端口相同,那么按照優先級,保持優先級較高的那個報文的輸出端口,然后隨機選擇一個空閑輸出端口,將優先級相對較低的那個報文這個輸出端口輸出。
[0036]Cl)報文P經過多個中間節點N傳輸后最終到達目的節點D,由目的節點D將其接收,報文P的傳輸過程結束。
[0037]以上所述僅是本發明的優選實施方式,本發明的保護范圍并不僅局限于上述實施例,凡屬于本發明思路下的技術方案均屬于本發明的保護范圍。應當指出,對于本【技術領域】的普通技術人員來說,在不脫離本發明原理前提下的若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
【權利要求】
1.一種用于三維torus光電混合網絡的路由方法,其特征在于實施步驟如下: .1)節點在每個時隙的開始階段,解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址,如果本節點有待發送的新報文則解析新報文的目的地址,根據維序路由算法決定所有被解析報文的輸出端口; .2)判斷所述三個輸入端口是否都有報文輸入,當所述三個輸入端口都有報文輸入且本節點有待發送的新報文時,則暫停發送新報文并將在下一個時隙開始時嘗試發送該新報文;否則,跳轉執行下一步; .3)首先判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則根據預設的優先級別對輸出端口發生沖突的報文的輸出端口進行重新分配;最后將各個報文按照對應的輸出端口發送至下一節點。
2.根據權利要求1所述的用于三維torus光電混合網絡的路由方法,其特征在于:所述步驟I)中解析X-端口、Y-端口、Z-端口三個輸入端口到達節點的報文的目的地址時,按照X-端口、Y-端口、Z-端口的優先順序依次解析三個輸入端口到達節點的報文的目的地址,來自X-端口的報文的目的地址首先被解析,來自Y-端口的報文的目的地址其次被解析,來自Z-端口的報文的目的地址最后被解析。
3.根據權利要求2所述的用于三維torus光電混合網絡的路由方法,其特征在于,所述步驟3)中預設的優先級別具體是指:X-端口輸入的報文優先級大于Y-端口輸入的報文,Y-端口輸入的報文優先級大于Z-端口輸入的報文,X-端口輸入的報文、Y-端口輸入的報文、Z-端口輸入的報文的優先級均大于待發送的新報文。
4.根據權利要求3所述的用于三維torus光電混合網絡的路由方法,其特征在于,所述步驟3)的詳細步驟如下: .3.1)判斷所有報文的輸出端口是否發生沖突,如果輸出端口發生沖突,則跳轉執行步驟3.2),否則跳轉執行步驟3.5); .3.2)判斷本節點是否有待發送的新報文,如果有待發送的新報文則跳轉執行步驟.3.3),否則跳轉執行步驟3.4); .3.3)檢查輸出端口發生沖突的類型,如果有兩個輸入端口到達節點的報文,且所述兩個輸入端口到達節點的報文的輸出端口均和待發送新報文的輸出端口相同,則跳轉執行步驟3.3.1);如果有兩個輸入端口的報文,但所述兩個輸入端口到達節點的報文中僅有一個報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.2);如果有兩個輸入端口到達節點的報文,所述兩個輸入端口到達節點的報文的輸出端口均與新報文的輸出端口不同,但所述兩個輸入端口到達節點的報文的輸出端口之間相同,則跳轉執行步驟3.3.3);如果僅有一個輸入端口到達節點的報文,且所述輸入端口到達節點的報文的輸出端口與新報文的輸出端口相同,則跳轉執行步驟3.3.4); .3.3.1) 保持所述兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,隨機選取一個空閑的輸出端口并重新分配給兩個輸入端口到達節點的報文中優先級較低的報文,并將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟.3.5); .3.3.2)保持所述兩個輸入端口到達節點的報文的輸出端口的輸出端口均不變,將最后剩下的一個空閑的輸出端口重新分配給待發送的新報文,跳轉執行步驟3.5);`3.3.3)保持所述兩個輸入端口到達節點的報文中優先級較高報文的輸出端口不變,保持待發送新報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給所述兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟3.5); `3.3.4)保持輸入端口到達節點的報文的輸出端口不變,隨機選擇一個空閑輸出端口并重新分配給待發送的新報文,跳轉執行步驟3.5); ` 3.4)檢查輸出端口發生沖突的類型,如果有三個輸入端口到達節點的報文,且三個輸入端口到達節點的報文的輸出端口均相同,則跳轉執行步驟3.4.1);如果有三個輸入端口到達節點的報文,且僅有兩個輸入端口到達節點的報文的輸出端口相同,則跳轉執行步驟`3.4.2);如果僅有兩個輸入端口的報文,且所述兩個輸入端口的報文之間的輸出端口相同,則跳轉執行步驟3.4.3); `3.4.1)保持三個輸入端口到達節點的報文中優先級最高報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級次高的報文,并將最后剩下的一個空閑的輸出端口重新分配給三個輸入端口到達節點的報文中優先級最低的報文,跳轉執行步驟3.5); ` 3.4.2)保持三個輸入端口到達節點的報文中輸出端口不相同報文的輸出端口不變,保持所述兩個輸入端口的報文中優先級較高的報文的輸出端口不變,將最后剩下的一個空閑的輸出端口重新分配給所述兩個輸入端口的報文中優先級較低的報文,跳轉執行步驟`3.5); `3.4.3)保持所述兩個輸入端口到達節點的報文中優先級較高的報文的輸出端口不變,隨機選取一個空閑的輸出端口重新分配給所述兩個輸入端口到達節點的報文中優先級較低的報文,跳轉執行步驟3.5); ` 3.5)將各個報文按照對應的輸出端口發送至下一節點。
【文檔編號】H04L12/851GK103491023SQ201310417134
【公開日】2014年1月1日 申請日期:2013年9月13日 優先權日:2013年9月13日
【發明者】竇文華, 魯佳, 韓崗, 李寶亮, 周樂文, 任雙印, 彭超, 錢悅, 竇強, 郭龍飛, 蘇醒, 任斌, 葉進, 覃晨 申請人:中國人民解放軍國防科學技術大學