新四季網

容錯路由方法、裝置及片上網絡與流程

2023-12-01 05:34:36 2


本發明涉及計算機領域,特別涉及一種容錯路由方法、裝置及片上網絡。



背景技術:

片上網絡(英文:network-on-chip;簡稱:noc)是指在晶片上集成大量的計算資源以及連接這些資源的片上通信網絡。noc包括計算和通信兩個子系統,計算子系統完成廣義的「計算」任務,包括多個計算資源,該計算資源包括處理模塊(英文:processelement;簡稱:pe),也稱核,該pe既可以是中央處理器(英文:centralprocessingunit;簡稱:cpu),也可以是各種專用功能的智慧財產權核(英文:intellectualpropertycore;簡稱:ip核)、存儲器陣列或可重構硬體等;通信子系統負責連接pe,實現計算資源之間的高速通信。通信節點(也即路由器)及其間的互連線所構成的網絡被稱為片上通信網絡(英文:on-chipnetwork;簡稱:ocn),通信子系統包括該ocn,ocn借鑑了分布式計算系統的通信方式,用路由和分組交換技術替代傳統的片上總線來完成通信任務。

網格(mesh)型noc是noc的一種,網格型noc是將noc的晶片的表面區域由多個橫縱交錯的互連線劃分為多個形狀、大小相同的網格,在互連線的每個交點處設置通信節點,該通信節點簡稱為節點。由於網格型noc有可測量性較高等優點,其應用較為廣泛。

目前提出針對noc上節點分區域(partition或者region)的概念,即把noc上的一部分節點組成一個小區域系統以獨立完成某一任務。相關技術中,將符合預設規律的節點劃分為一個區域,在網格型noc上,由於節點的數量較多,有些節點在生產或使用過程中可能會壞死,這些壞死節點稱為故障節點。在網格型noc上,通常將故障節點及其相關節點劃分為一個區域,例如,每個節點在出廠時均標記為正常(active)節點,認為其能夠正常執行其相應的功能;當一個正常節點檢測其連接到的故障(faulty)節點和非正常(deactivated)節點的個數大於或等於2,該節點將自身標記為非正常(deactivated)節點,其中,非 正常節點還可以包括不安全節點,當一個非正常節點檢測其連接到至少一個正常節點,該節點將自身標記為不安全(unsafe)節點;互相連接的非正常節點和故障節點組成的矩形區域稱為故障區域(faultyregion);環繞在故障區域外圍,且與故障區域鄰接的的正常節點組成故障環(faultring),其中,包括網格型noc的南(south)邊和/或西(west)邊的故障環也稱為故障鏈(faultchain)。

相關技術中,提出一種容錯路由算法,當一個故障環上的節點接收到待傳輸信息後,可以根據該節點的位置信息和目的節點的位置信息確定待傳輸信息的傳輸類型,然後根據該傳輸類型以及該節點和目的節點的相對位置確定傳輸路徑,根據確定的傳輸路徑,將待傳輸信息傳輸至下一節點。

但是,現有的容錯路由算法中,當故障環上的節點通過多種傳輸路徑均能將待傳輸信息傳輸至目的節點時,會按照預設的傳輸方式確定傳輸路徑來進行待傳輸信息的傳輸,容易出現傳輸路徑較長,傳輸時延較大的情況,影響信息的傳輸效率。



技術實現要素:

為了解決信息的傳輸效率較低的問題,本發明實施例提供了一種容錯路由方法、裝置及片上網絡。所述技術方案如下:

第一方面,提供了一種容錯路由方法,應用於片上網際網路noc的第一節點,所述方法包括:

接收待傳輸信息,所述待傳輸信息包括:目的節點的位置信息,所述位置信息用於指示在所述noc的晶片上的位置;

當所述第一節點不是所述目的節點,且為故障環上的節點時,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,所述雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸;

當所述待傳輸信息能夠在所述故障環上雙向繞行傳輸時,在所述雙向繞行傳輸所形成的路徑中確定最短路徑;

基於所述最短路徑,將所述待傳輸信息傳輸至下一節點。

可選的,所述判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

獲取所述故障環的位置信息;

根據所述故障環的位置信息,確定所述故障環的類型,所述故障環的類型用於指示所述故障環在所述晶片上所形成的形狀為封閉環形或非封閉環形;

根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸。

可選的,所述故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,所述兩個參考節點是位於所述故障環的四個頂點上的節點中,在同一對角線上的兩個節點。

可選的,所述晶片上形成有m×n個網格,所述預設坐標系的坐標系原點為所述晶片的西南角的節點,在所述預設坐標繫上,所述晶片的坐標範圍包括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數,所述兩個參考節點為所述故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,位於所述東北角的節點為第一參考節點,位於所述西南角的節點為第二參考節點;

所述根據所述故障環的位置信息,確定所述故障環的類型,包括:

當所述兩個參考節點的位置信息指示所述兩個參考節點在所述預設坐標系中的坐標位置在所述晶片的坐標範圍內時,確定所述故障環的類型為正常環;

當所述兩個參考節點的位置信息指示第一參考節點的x坐標為m時,確定所述故障環的類型為東型環;

當所述兩個參考節點的位置信息指示第一參考節點的y坐標為n時,確定所述故障環的類型為北型環;

當所述兩個參考節點的位置信息指示第二參考節點的x坐標為-1時,確定所述故障環的類型為西型環;

當所述兩個參考節點的位置信息指示第二參考節點的y坐標為-1時,確定所述故障環的類型為南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為北型環,則確定所述故障環為東北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為西型環,又為北型環,則確定所述故障環為西北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為南型環,又為西型環,則確定所述故障環為西南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為南型環,則確定所述故障環為東南型環。

本發明實施例可以識別故障環的具體類型,提高識別的準確性,提高識別粒度。

可選的,所述故障環的類型包括:正常環,所述正常環上的任一節點均為位於所述晶片上的實體節點,所述實體節點為所述晶片上實際存在的節點,

所述根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

檢測所述故障環的類型是否為正常環;

當所述故障環的類型不為正常環時,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸;

當所述故障環的類型為正常環時,根據所述待傳輸信息的傳輸類型和所述故障環的位置信息,確定所述待傳輸信息在所述故障環上的備選傳輸路徑,所述待傳輸信息的傳輸類型用於反映所述第一節點與所述目的節點的相對位置關係;

統計所述待傳輸信息的備選傳輸路徑的個數;

當所述備選傳輸路徑的個數為2,確定所述待傳輸信息能夠在所述故障環上雙向繞行傳輸;

當所述備選傳輸路徑的個數為0,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,在所述接收待傳輸信息之前,所述方法還包括:

當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息;

根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息 時,確定虛擬參考節點的位置信息。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,在所述接收待傳輸信息之前,所述方法還包括:

當所述第一節點為實體參考節點,且接收到兩個虛擬節點的位置信息時,根據所述兩個虛擬節點的位置信息及所述實體參考節點的位置信息,確定虛擬參考節點的位置信息,該兩個虛擬節點的位置信息分別由故障環上的兩個位於所述晶片的邊界上的非邊角節點確定並發送;

將所述虛擬節點的位置信息發送至所述故障環上的每個節點上。

第二方面,提供一種容錯路由裝置,應用於片上網際網路noc的第一節點,所述裝置包括:

接收模塊,用於接收待傳輸信息,所述待傳輸信息包括:目的節點的位置信息,所述位置信息用於指示在所述noc的晶片上的位置;

判斷模塊,用於當所述第一節點不是所述目的節點,且為故障環上的節點時,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,所述雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸;

確定模塊,用於當所述待傳輸信息能夠在所述故障環上雙向繞行傳輸時,在所述雙向繞行傳輸所形成的路徑中確定最短路徑;

傳輸模塊,用於基於所述最短路徑,將所述待傳輸信息傳輸至下一節點。

可選的,所述判斷模塊包括:

獲取子模塊,用於獲取所述故障環的位置信息;

確定子模塊,用於根據所述故障環的位置信息,確定所述故障環的類型,所述故障環的類型用於指示所述故障環在所述晶片上所形成的形狀為封閉環形或非封閉環形;

判斷子模塊,用於根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸。

可選的,所述故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,所述兩個參考節點是位於所述故障環的四個頂點上的節點中,在同一對角線上的兩個節點。

可選的,所述晶片上形成有m×n個網格,所述預設坐標系的坐標系原點為所述晶片的西南角的節點,在所述預設坐標繫上,所述晶片的坐標範圍包 括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數,所述兩個參考節點為所述故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,位於所述東北角的節點為第一參考節點,位於所述西南角的節點為第二參考節點;

所述確定子模塊,用於:

當所述兩個參考節點的位置信息指示所述兩個參考節點在所述預設坐標系中的坐標位置在所述晶片的坐標範圍內時,確定所述故障環的類型為正常環;

當所述兩個參考節點的位置信息指示第一參考節點的x坐標為m時,確定所述故障環的類型為東型環;

當所述兩個參考節點的位置信息指示第一參考節點的y坐標為n時,確定所述故障環的類型為北型環;

當所述兩個參考節點的位置信息指示第二參考節點的x坐標為-1時,確定所述故障環的類型為西型環;

當所述兩個參考節點的位置信息指示第二參考節點的y坐標為-1時,確定所述故障環的類型為南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為北型環,則確定所述故障環為東北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為西型環,又為北型環,則確定所述故障環為西北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為南型環,又為西型環,則確定所述故障環為西南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為南型環,則確定所述故障環為東南型環。

可選的,所述故障環的類型包括:正常環,所述正常環上的任一節點均為位於所述晶片上的實體節點,所述實體節點為所述晶片上實際存在的節點,

所述判斷子模塊,用於:

檢測所述故障環的類型是否為正常環;

當所述故障環的類型不為正常環時,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸;

當所述故障環的類型為正常環時,根據所述待傳輸信息的傳輸類型和所述 故障環的位置信息,確定所述待傳輸信息在所述故障環上的備選傳輸路徑,所述待傳輸信息的傳輸類型用於反映所述第一節點與所述目的節點的相對位置關係;

統計所述待傳輸信息的備選傳輸路徑的個數;

當所述備選傳輸路徑的個數為2,確定所述待傳輸信息能夠在所述故障環上雙向繞行傳輸;

當所述備選傳輸路徑的個數為0,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,

所述確定模塊,還用於當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息;

所述判斷模塊,還用於根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

所述傳輸模塊,還用於當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

所述傳輸模塊,還用於當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,

搜書確定模塊,還用於當所述第一節點為實體參考節點,且接收到兩個虛擬節點的位置信息時,根據所述兩個虛擬節點的位置信息及所述實體參考節點的位置信息,確定虛擬參考節點的位置信息,該兩個虛擬節點的位置信息分別由故障環上的兩個位於所述晶片的邊界上的非邊角節點確定並發送;

所述傳輸模塊,還用於將所述虛擬節點的位置信息發送至所述故障環上的每個節點上。

第三方面,提供一種片上網絡,包括第一節點,所述第一節點包括上述第一方面提供的任一所述的容錯路由裝置。

可選的,所述片上網絡noc還包括:第二節點,所述第二節點位於所述晶片的邊界上,且為故障環上的非邊角節點,所述第二節點用於:

確定所述故障環上與所述第二節點相鄰的虛擬節點的位置信息;

根據所述虛擬節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

可選的,所述片上網絡noc還包括:實體參考節點,所述實體參考節點用於:

當所述實體參考節點接收到兩個虛擬節點的位置信息時,根據所述兩個虛擬節點的位置信息及所述實體參考節點的位置信息,確定虛擬參考節點的位置信息,該兩個虛擬節點的位置信息分別由故障環上的兩個位於所述晶片的邊界上的非邊角節點確定並發送;

將所述虛擬節點的位置信息發送至所述故障環上的每個節點上。

需要說明的是,所述第一節點和所述第二節點可以是同一節點,也可以是不同節點,所述第一節點和所述實體參考節點可以是同一節點,也可以是不同節點。且本發明中,第一節點是實體節點。

本發明實施例提供的容錯路由方法、裝置及片上網絡,由於在待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑,並基於最短路徑,將待傳輸信息傳輸至下一節點,因此,採用最短路徑進行待傳輸信息的傳輸,避免了傳輸路徑較長,傳輸時延較大的情況,提高了信息的傳輸效率。

附圖說明

為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。

圖1是本發明實施例提供的一種容錯路由方法所涉及的一種網格型noc的結構示意圖;

圖2是本發明實施例提供的節點狀態標記示意圖;

圖3是本發明實施例提供的一種容錯路由方法的流程圖;

圖4是本發明實施例提供的另一種容錯路由方法的流程圖;

圖5是本發明實施例提供的一種容錯路由方法所涉及的另一種網格型noc的結構示意圖;

圖6是本發明實施例提供的一種判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸的方法流程圖;

圖7是本發明實施例提供的一種各種類型的故障環在晶片上的位置示意圖;

圖8是本發明實施例提供的一種根據故障環的類型,判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸的方法流程圖;

圖9是本發明實施例提供的一種待傳輸信息在故障環上的傳輸路徑示意圖;

圖10是本發明實施例提供的一種傳輸類型示意圖;

圖11是現有技術提供的一種待傳輸信息的傳輸路徑示意圖;

圖12是本發明實施例提供的一種待傳輸信息的傳輸路徑示意圖;

圖13是本發明實施例提供的一種容錯路由裝置的結構示意圖;

圖14是本發明實施例提供的一種判斷模塊的結構示意圖;

圖15是本發明實施例提供的另一種容錯路由裝置的結構示意圖。

具體實施方式

為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。

請參考圖1,其示出了本發明實施例提供的容錯路由方法所涉及的一種網格型noc的結構示意圖。如圖1所示,在該網格型noc上,noc的晶片的表面區域由多個橫縱交錯的互連線劃分為多個形狀、大小相同的網格,通常為正方形網格,在互連線的每個交點處設置通信節點,簡稱節點,圖1以該網格型noc被劃分為10*10個正方形網格為例進行示例性說明。以圓圈表示節點。需要說明的是,容錯(fault-tolerance)指的是容忍故障,在故障一旦發生時能夠自動檢 測出來並使系統能夠自動恢復正常運行。當出現某些指定的硬體故障或軟體錯誤時,系統仍能執行規定的一組程序,或者說程序不會因系統中的故障而中止或被修改,並且執行結果也不包含系統中故障所引起的差錯。路由算法:又名選路算法,可以根據多個特性來加以區分,該路由算法的目的是找到一條從源節點(也稱源路由器)到目的節點(也稱目的路由器)的最佳路徑(即具有最低功耗的路徑)。本發明實施例提供的容錯路由算法即是一種容忍故障且能夠尋找源節點到目的節點的最佳路徑的算法,應用於noc上。

如圖1所示,網格型noc上的節點包括正常節點、非正常節點和故障節點,非正常節點又包括不安全節點。其中,正常節點為能夠正常執行其功能的節點;故障節點為不能執行其功能的節點;非正常節點為至少能夠執行其部分功能的節點。如圖2所示,通常每個節點在出廠時均標記為正常節點,認為其能夠正常執行其相應的功能;當一個正常節點檢測其連接到的故障節點和非正常節點的個數大於或等於2,該節點將自身標記為非正常節點,如圖1中坐標位置為(0,6)的節點;當一個非正常節點檢測其連接到至少一個正常節點,該節點將自身標記為不安全節點,如圖1中坐標位置為(7,0)的節點;互相連接的非正常節點和故障節點組成的矩形區域稱為故障區域,如圖1中的區域01中的坐標位置分別為(8,9)、(8,8)、(9,8)、(9,9)的節點形成的區域;在本發明實施例中,不區分故障環和故障鏈,將環繞在故障區域外圍,且與故障區域鄰接的正常節點組成的環(封閉環形)或鏈(非封閉環形)均稱為故障環,如圖1中的區域02中的坐標位置分別為(7,9)、(7,8)、(7,7)、(8,7)、(9,7)的正常節點形成一個故障環。

通常的,節點對自身的標記是不可逆的,例如,當一個正常節點將自身標記為非正常節點後,便不能在將自身重置回正常節點,除非對該節點進行了維修或替換。

如圖3所示,本發明實施例提供一種容錯路由方法,應用於noc的第一節點,該noc可以是圖1所示的網格型noc,該第一節點可以為noc上任一節點, 該方法包括:

步驟301、接收待傳輸信息,該待傳輸信息包括:目的節點的位置信息,該位置信息用於指示在noc的晶片上的位置。

步驟302、當第一節點不是目的節點,且為故障環上的節點時,判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸,雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸。

步驟303、當待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑;

步驟304、基於最短路徑,將待傳輸信息傳輸至下一節點。

綜上所述,本發明實施例提供的容錯路由方法,由於在待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑,並基於最短路徑,將待傳輸信息傳輸至下一節點,因此,採用最短路徑進行待傳輸信息的傳輸,避免了傳輸路徑較長,傳輸時延較大的情況,提高了信息的傳輸效率。

如圖4所示,本發明實施例提供一種容錯路由方法,應用於noc的第一節點,假設該noc的晶片上形成有m×n個網格,基於該noc的晶片建立預設坐標系,該預設坐標系的坐標系原點可以為晶片的西南角(即左下角)的節點,晶片在預設坐標系的坐標範圍包括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數。實際應用中,坐標系原點可以為預設坐標系的其他節點,如東北角的節點,本發明實施例只是示意性說明。例如,當m=n=10時,該noc可以是圖1所示的網格型noc,該第一節點可以為noc上任一節點,示例的,本發明實施例提供的容錯路由方法包括:

步驟401、接收待傳輸信息,該待傳輸信息包括:目的節點的位置信息。執行步驟402。

在本發明實施例中,位置信息用於指示在noc的晶片上的位置,通常為在 預設坐標系中的坐標位置,也即是,節點的位置信息指的是節點在noc的晶片上的位置,故障環的位置信息指的是故障環在noc的晶片上的位置。本發明實施例中假設待傳輸信息均為noc內部進行傳輸的信息,不是與其他noc進行傳輸的信息。

需要說明的是,待傳輸信息可以包括目的節點的位置信息,還可以包括源節點的位置信息。其中,源節點為發出該待傳輸信息的初始節點,目的節點是該待傳輸信息所傳輸的目的地。待傳輸信息中的源節點的位置信息可以方便目的節點來知曉待傳輸信息的來源。

步驟402、判斷第一節點是否為目的節點。當第一節點為目的節點時,執行步驟403,當第一節點不為目的節點時,執行步驟404。

noc上的每個節點都預先配置有自身在晶片上的位置信息,用於標明其具體位置,第一節點可以將第一節點在晶片上的位置信息與目的節點進行比較,若兩者相同,說明第一節點是目的節點,若兩者不同,說明第一節點不是目的節點。例如,以圖1所示的noc為例,假設第一節點在晶片上的位置信息指示第一節點的坐標位置為(5,7),即第一節點為圖1中的節點p01,目的節點在晶片上的位置信息指示目的節點的坐標位置為(9,5),即目的節點為圖1中的p02。由於坐標位置(5,7)和(9,5)不同,則第一節點不為目的節點。

步驟403、結束待傳輸信息的傳輸。

當第一節點為目的節點時,則說明待傳輸信息到達了傳輸的目的地,第一節點可以根據待傳輸信息進行相應的操作。例如,待傳輸信息為數據請求信息,則第一節點根據該數據請求信息生成數據請求響應信息,發送回源節點,該數據響應信息包括該數據請求信息所請求的數據。

步驟404、判斷第一節點是否為故障環上的節點,當第一節點為故障環上的節點時,執行步驟405,當第一節點不為故障環上的節點時,執行步驟406。

實際應用中,noc上的每個節點會實時或周期性檢測其相鄰節點的狀態(通常是通過與相鄰節點進行信息通信來檢測),當某一節點檢測到位於其正東 (east)或正西(west)的相鄰節點為故障節點或者非正常節點時,就將指示該相鄰節點的狀態(即故障、不安全或非正常)的狀態信息發送至位於該某一節點的正南(south)和正北(north)的相鄰節點;當某一節點檢測到位於其正南和正北的相鄰節點均滿足邊角條件時,就將指示該相鄰節點的狀態的狀態信息發送位於該某一節點的正東或正西的相鄰節點,該邊角條件為:節點為故障節點、不安全節點和非正常節點中的任一種。這樣一來,noc上的每個節點都會接收到從自己周圍的相鄰節點發送的狀態信息。假設當前節點(也即第一節點)為節點x,則具體的偽代碼如下述所示:

procedureform-ring/*currentnodeisx*/

if(exorwxisfaulty,unsafe,ordeactivated)

sendstatusinformationtosxandnx;

if(sxandnxisfaulty,unsafe,ordeactivated)

sendstatusinformationtoexorwx;

receivefromallactiveneighborstheirstatusinformation;

在本發明實施例中,每個節點根據接收到的狀態信息可以確定自身是否為故障環上的邊角上的節點,當該節點為故障環邊角上的節點時,判斷自身是否為參考(reference)節點,當該節點為參考節點時,向該參考節點所在故障環上所有的節點發送參考節點的位置信息,當任一節點接收到參考節點發送的位置信息時,可以確定該任一節點為故障環上的節點。

參考節點用於標識故障環,當一個位於邊角的節點確定自身為參考節點時,會向其所在的故障環上的所有其他節點發送參考節點的位置信息,以便於該故障環上的所有節點都記錄有該故障環上的參考節點的位置信息,相關技術中,通常將位於故障環東北角的節點確定為參考節點。當一個節點接收到參考節點發送的位置信息,可以確定自身是一個以該參考節點所在點為東北角的故障環上的一個節點,所以相關技術中,參考節點主要是用於使故障環上的節點確定自身是否位於故障環上。

本發明實施例中,參考節點可以有兩個,該兩個參考節點是位於故障環的四個頂點上的節點中,在同一對角線上的兩個節點。例如,該兩個參考節點可以為位於晶片東北角的節點和位於晶片西南角的節點,或者該兩個參考節點可 以為位於晶片東南角的節點和位於晶片西北角的節點。在本發明實施例中,參考節點不僅可以用於使故障環上的節點確定自身是否位於故障環上,還可以標識故障環在預設坐標系中的位置,即指示故障環的位置信息。通常的,網格型noc的節點是將noc的晶片的表面區域由多個橫縱交錯的互連線劃分為多個形狀、大小相同的網格,在互連線的每個交點處設置的節點;在本發明實施例中,在設置了預設坐標系後,節點可以分為實體節點和虛擬節點,如圖5所示,基於該noc的晶片建立預設坐標系,該預設坐標系的坐標系原點(0,0)可以為晶片的西南角(即左下角)的節點,該坐標系的x軸與晶片的行方向平行,y軸與晶片的列方向平行,實體節點是將晶片的表面區域由多個橫縱交錯的互連線劃分為多個形狀、大小相同的網格後,位於晶片上的實際存在的節點,本發明實施例中能夠進行信息收發的節點全部是實體節點,如圖5中晶片上處於該預設坐標系中第一象限中的節點,以及x軸和y軸正方向上的節點,也即是,在圖5所示的坐標系中,實體節點的x坐標和y坐標均為非負數,即圖5中,處於區域03中的節點;虛擬節點是將晶片的表面區域由多個橫縱交錯的互連線劃分為多個形狀、大小相同的網格後,位於坐標系中,但在晶片外的,互連線的交點處的點,是虛擬的節點,是實際不存在的節點,也即假想的節點,不能進行信息的收發,如圖5中,處於區域03之外的區域中圓形虛線所標識的節點,也即是,在圖5所示的坐標系中,虛擬節點的x坐標和y坐標至少存在一個為負數。

步驟405、判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸,其中,雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸。當待傳輸信息能夠在故障環上雙向繞行傳輸時,執行步驟407,當待傳輸信息不能在故障環上雙向繞行傳輸時,執行步驟406。

如圖6所示,在本發明實施例中,步驟405中判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸的過程,可以包括:

步驟4051、獲取故障環的位置信息。

在本發明實施例中,故障環的位置信息可以包括:預設坐標系中兩個參考節點的位置信息,該兩個參考節點是位於故障環的四個頂點上的節點中,在同一對角線上的兩個節點。在本發明實施例中,假設兩個參考節點為故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,位於東北角的節點為第一參考節點,位於西南角的節點為第二參考節點。例如,圖5中故障環l1的第一參考節點為r1,第二參考節點為r2,故障環l2的第一參考節點為r3,第二參考節點為r4。

根據步驟404可知,當故障環上的某一節點確定自身為參考節點時,會向該故障環上的所有節點發送其位置信息,故障環上的任一節點接收到參考節點發送的位置信息後會將該參考節點的位置信息記錄,當一個故障環上的第一參考節點和第二參考節點均為實體節點時,故障環上的任一實體節點均可以獲取兩個參考節點發送的位置信息;當一個故障環上的第一參考節點和第二參考節點中存在一個實體節點和一個虛擬節點時,故障環上的任一實體節點仍可以接收到實體參考節點的位置信息和虛擬參考節點的位置信息,該實體參考節點的位置信息由實體參考節點發送,具體過程可以參考相關技術,但是在不同場景中,虛擬參考節點的位置信息的發送節點不同,當故障環上存在與虛擬參考節點相鄰的實體節點時,虛擬參考節點的位置信息可以由該實體節點確定並發送;當故障環上不存在與虛擬參考節點相鄰的實體節點時,虛擬參考節點的位置信息可以由實體參考節點確定並發送。其中,實體參考節點指得是故障環上既是參考節點又是實體節點的節點,在本發明實施例提供的上述預設坐標系中,如圖5所示的坐標系,該實體參考節點的x,y坐標均為非負數,虛擬參考節點指的是故障環上既是參考節點又是虛擬節點的節點,在本發明實施例提供的上述預設坐標系中,如圖5所示的坐標系,該虛擬參考節點的x,y坐標至少存在一個為負數。

當一個故障環上的兩個參考節點中存在一個實體節點和一個虛擬節點時,本發明實施例以第一節點為例,對故障環上的任一實體節點獲取虛擬參考節點 的位置信息的過程進行說明,該過程可以包括:

a1、當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息。

實際應用中,當第一節點為位於所述晶片的邊界上,且為故障環上的非邊角節點,與該第一節點相鄰的虛擬節點必然位於第一節點所在故障環上,如圖5可知,第一節點a為位於所述晶片的邊界上,且為故障環l1上的非邊角節點,與第一節點a相鄰的虛擬節點r2為故障環上的節點。

在本發明實施例中,位於故障環上且位於所述晶片的邊界上的節點,可以代替虛擬參考節點來發送其位置信息。

以第一節點為例,假設第一節點為圖5中故障環l1上的節點a,第一節點a的位置信息為:坐標位置為(0,4),第一節點a可以根據其位置信息確定故障環l1上與其相鄰的虛擬節點r2的位置信息,也即坐標位置為(-1,4)。

需要說明的是,當第一節點位於晶片的邊界上,且為故障環上的非邊角節點,可以先確定該第一節點接收的參考節點的位置信息的個數,如果該第一節點接收了兩個參考節點的位置信息,若該兩個參考節點為實體參考節點,則說明故障環上不存在虛擬參考節點,若該兩個參考節點包括一個實體參考節點和一個虛擬參考節點,則說明故障環上已經有一個位於故障環上且位於所述晶片的邊界上的節點確定了虛擬參考節點的位置信息,因此,與第一節點相鄰的虛擬節點,必然不是虛擬參考節點,只要第一節點接收到了2個參考節點的位置信息,即可停止執行確定故障環上與第一節點相鄰的虛擬節點的位置信息的動作,以減少不必要的運算。

a2、根據虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點。

一方面,第一節點可以將該虛擬節點的位置信息和實體參考節點的位置信息進行比較,判斷該虛擬節點與實體參考節點是否位於故障環的同一對角線上,若虛擬節點與實體參考節點位於故障環的同一對角線上,則確定該虛擬節點為 虛擬參考節點,若虛擬節點與實體參考節點不位於故障環的同一對角線上,則確定該虛擬節點不為虛擬參考節點。可選的,第一節點可以通過分別比較虛擬節點與實體參考節點的橫縱坐標來判斷兩者是否在同一對角線上,如果虛擬節點與實體參考節點的橫坐標相同或者虛擬參考節點與實體參考節點的縱坐標相同,則確定兩者不在同一對角線上;如果虛擬節點與實體參考節點的橫坐標、縱坐標均不相同,則確定兩者在同一對角線上。

例如,圖5中故障環l1上的節點a可以獲取故障環l1上的實體參考節點r1的位置信息:坐標位置為(3,8),實體參考節點r1的坐標位置(3,8)與虛擬節點r2的坐標位置(-1,4)的橫坐標和縱坐標均不相同,則可以確定兩者位於同一對角線上,虛擬節點r2為虛擬參考節點。

另一方面,由於第一節點已獲取了參考節點的位置信息,第一節點可以參考現有技術的方法,來判斷虛擬節點是否為參考節點,當其為參考節點時,可以確定其為虛擬參考節點,本發明實施例對此不做贅述。

a3、當虛擬節點為虛擬參考節點時,將虛擬節點的位置信息發送至故障環上的每個節點上。

例如,節點a在確定虛擬節點r2為虛擬參考節點,會將其位置信息:坐標位置(3,8)發送至故障環上的每個節點上。

a4、當虛擬節點不為虛擬參考節點時,將虛擬節點的位置信息發送至實體參考節點,以便於實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

實體參考節點可以接收到兩個位於故障環上的虛擬節點的位置信息時,可以根據該兩個虛擬節點的位置信息,確定虛擬參考節點的位置信息。此時,該虛擬參考節點位於坐標系的第三象限。

例如,當第一節點為圖5中的故障環l3上的節點d時,其接收到實體參考節點c的位置信息:坐標位置(2,3)後,確定故障環上與節點d相鄰的節點e不為虛擬參考節點,便將節點e的位置信息:坐標位置(2,-1)發送至實體 參考節點c;當第一節點為圖5中的故障環l3上的節點f時,其接收到實體參考節點c的位置信息:坐標位置(2,3)後,確定故障環上與節點f相鄰的節點g不為虛擬參考節點,便將節點g的位置信息:坐標位置(-1,3)發送至實體參考節點c,由於實體參考節點、該兩個虛擬節點以及虛擬參考節點分別為故障環的四個頂點,因此實體參考節點根據該兩個虛擬節點的位置信息很容易算出虛擬參考節點的位置信息:坐標位置(-1,-1),實體參考節點可以將虛擬參考節點的位置信息:坐標位置(-1,-1)發送至故障環上的每個節點上。

實際應用中,也可以是故障環上的預設實體節點接收到兩個位於故障環上的虛擬節點的位置信息時,根據該兩個虛擬節點的位置信息以及預先接收的實體參考節點的位置信息,確定虛擬參考節點的位置信息,該預設實體節點可以是該故障環上的任一實體節點。此時,該虛擬參考節點位於坐標系的第三象限。

在本發明實施例中,由於故障環上的任一實體節點都能獲取故障環的位置信息,從而能夠確定故障環上每個節點的位置信息,並且該實體節點根據自身的位置信息及故障環的位置信息,可以確定自身在故障環的位置。

步驟4052、根據故障環的位置信息,確定故障環的類型,故障環的類型用於指示故障環在晶片上所形成的形狀為封閉環形或非封閉環形。

其中,當故障環在晶片上所形成的形狀為封閉環形(如圖5中的故障環l2,其全部在晶片內,因此在晶片上的形狀為封閉環形)時,其故障環的類型為正常環,該正常環上的任一節點均為位於晶片上的實體節點,實體節點為晶片上實際存在的節點,當故障環在晶片上所形成的形狀為非封閉環形(如圖5中的故障環l1,其一部分在晶片內,一部分在晶片外,因此在晶片上的形狀是鏈狀,也即非封閉環形)時,其故障環的類型根據其非封閉的邊在晶片上的位置所確定。

假設如表1所示,兩個參考節點為故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,第一參考節點為位於故障環東北角上的節點pne,第二參考節點為位於故障環西南角的節點psw,則根據故障環的位置信息, 確定故障環的類型的過程可以包括:

當兩個參考節點的位置信息指示兩個參考節點在預設坐標系中的坐標位置在晶片的坐標範圍內時,確定故障環的類型為正常環(normalring);

當兩個參考節點的位置信息指示第一參考節點pne的x坐標(即x_pne)為m時(即x_pne=m),確定故障環的類型為東(e)型環,即e-ring;

當兩個參考節點的位置信息指示第一參考節點pne的y坐標為n時(即y_pne=n),確定故障環的類型為北(n)型環,即n-ring;

當兩個參考節點的位置信息指示第二參考節點psw的x坐標為-1時(即x_psw=-1),確定故障環的類型為西(w)型環,即w-ring;

當兩個參考節點的位置信息指示第二參考節點psw的y坐標為-1時(即y_psw=-1),確定故障環的類型為南(s)型環,即s-ring;

當根據兩個參考節點的位置信息確定該故障環既為e型環,又為n型環,也即該故障環屬於e型環和n型環的交集,則確定故障環為東北(ne)型環,即ne-ring;

當根據兩個參考節點的位置信息確定該故障環既為w型環,又為n型環,也即該故障環屬於w型環和n型環的交集,則確定故障環為西北(nw)型環,即nw-ring;

當根據兩個參考節點的位置信息確定該故障環既為s型環,又為w型環,也即該故障環屬於s型環和w型環的交集,則確定故障環為西南(sw)型環,即sw-ring;

當根據兩個參考節點的位置信息確定該故障環既為e型環,又為s型環,也即該故障環屬於e型環和s型環的交集,則確定故障環為東南(se)型環,即se-ring。

其中,上述h型環中的h表示該故障環包括晶片的h邊,該h包括:東、西、南、北、東北、西北、西南和東南的任一種。

表1

如圖7所示,圖7為表1中各種類型的故障環在晶片上的位置示意圖。正常環全部位於晶片的內部,而除正常環之外的其他類型的故障環均存是一部分位於晶片的內部,另一部分位於晶片的外部。

傳統的容錯路由方法,只能識別出s-ring和非s-ring兩種故障環類型,無法識別具體的故障環類型,而本發明實施例可以識別故障環的具體類型,提高識別的準確性,提高識別粒度。

步驟4053、根據故障環的類型,判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸。

根據步驟4052可知,故障環的類型可以包括:正常環,正常環上的任一節點均為位於晶片上的實體節點,實體節點為晶片上實際存在的節點,則如圖8所示,根據故障環的類型,判斷待傳輸信息是否能夠在故障環上雙向繞行傳輸的過程可以包括:

步驟4053a、檢測故障環的類型是否為正常環。當故障環的類型不為正常環時,執行步驟4053b;當故障環的類型為正常環時,執行步驟4053c。

由圖5或圖7可以看出,當故障環的類型為正常環時,待傳輸信息才有雙 向繞行的可能,當故障環的類型不是正常環時,由於故障環在晶片上所形成的形狀為非封閉環形,待傳輸信息不存在雙向繞行的可能,因此,本發明實施例中需要通過檢測故障環的類型是否為正常環,來確定待傳輸信息是否能在故障環上雙向繞行傳輸。

步驟4053b、確定待傳輸信息不能在故障環上雙向繞行傳輸。

步驟4053c、根據待傳輸信息的傳輸類型和故障環的位置信息,確定待傳輸信息在故障環上的備選傳輸路徑。執行步驟4053d。

本發明實施例中,在故障環上的備選傳輸路徑指的是待傳輸信息在故障環上傳輸時可以選擇的傳輸路徑。實際應用中,待傳輸信息傳輸至目的節點的路徑可以有多種,當第一節點是故障環上的節點時,待傳輸信息需要傳輸到的下一節點可能是該故障環上的節點,也可能不是該故障環上的節點,如圖9所示,假設第一節點為故障環l4上的節點p1,若目的節點為節點p2,則待傳輸信息的傳輸路徑為r1,該傳輸路徑r1不在故障環上,則備選傳輸路徑的個數為0;若目的節點為節點p3,則待傳輸信息的傳輸路徑分別為順時針的路徑r2和逆時針的路徑r3,該傳輸路徑r2和r3在故障環上,則備選傳輸路徑的個數為2。

實際應用中,在步驟302之前,第一節點在接收到待傳輸信息時,會根據第一節點的位置信息和待傳輸信息中攜帶的目的節點的位置信息,預先確定待傳輸信息的傳輸類型,待傳輸信息的傳輸類型用於根據第一節點與目的節點的相對位置關係來確定傳遞的優先級。其中,傳輸類型包括:行優先(英文:row-first;簡稱:rf)類型、列優先(英文:column-first;簡稱:cf)類型和行傳遞(英文:row-only;簡稱:ro)類型,如圖10所示的第一種情況,rf類型用於指示目的節點在第一節點的西北方向或者西南方向;如圖10所示的第二種情況,cf類型用於指示目的節點與第一節點在同一列;如圖10所示的第三種情況,ro類型用於指示目的節點與第一節點在同一行。

由步驟4051可知,故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,第一節點根據該兩個參考節點的位置信息可以很容易算出故障環上 各個節點的位置信息,由於第一節點確定了故障環上各個節點的位置信息,則可以計算出從第一節點沿順時針方向和沿逆時針方向是否存在可以到達目的節點的路徑。

步驟4053d、統計待傳輸信息的備選傳輸路徑的個數。執行步驟4053e或步驟4053f。

步驟4053e、當備選傳輸路徑的個數為2,確定待傳輸信息能夠在故障環上雙向繞行傳輸。

步驟4053f、當備選傳輸路徑的個數為0,確定待傳輸信息不能在故障環上雙向繞行傳輸。

步驟406、根據待傳輸信息的傳輸類型、第一節點的位置信息和目的節點的位置信息,將待傳輸信息傳輸至下一節點。

當第一節點不是故障環上的節點,根據待傳輸信息的傳輸類型、第一節點的位置信息和目的節點的位置信息,將待傳輸信息傳輸至下一節點,具體過程如下:

通常的,如果待傳輸信息的傳輸類型是rf類型,則沿著ew通道(即從東到西的方向)將待傳輸信息傳輸至下一節點;

如果待傳輸信息的傳輸類型是cf類型並且目的節點在第一節點的正南方,則沿著ns通道(即從北到南的方向)將待傳輸信息傳輸至下一節點;

如果待傳輸信息的傳輸類型是cf類型並且目的節點在第一節點的正南方,則沿著sn通道(即從南到北的方向)將待傳輸信息傳輸至下一節點;

如果待傳輸信息的傳輸類型是ro類型,則沿著we通道(即從西到東的方向)將待傳輸信息傳輸至下一節點。

當第一節點是故障環上的節點,但待傳輸信息不能在故障環上雙向繞行傳輸時,根據待傳輸信息的傳輸類型、第一節點的位置信息、目的節點的位置信息和故障環的位置信息,將待傳輸信息傳輸至下一節點,具體包括如下兩方面:

第一方面,當第一節點是故障環上的節點,但不是正常故障環上的節點時, 其傳輸過程可以參考現有技術,本發明實施例對此不做贅述。

第二方面,當第一節點是正常故障環上的節點,但不能雙向繞行傳輸時:其傳輸過程可以參考現有技術,本發明實施例對此不做贅述。

當下一節點接收到待傳輸信息時,其執行的步驟的可以參考第一節點的步驟,本發明實施例對此不做贅述。

步驟407、在雙向繞行傳輸所形成的路徑中確定最短路徑。執行步驟408。

由於第一節點已經確定了故障環的位置信息,相應的可以知道故障環上每個節點的位置信息,根據自身的位置信息,便可以知道自身在故障環上的位置,那麼就可以計算出,待傳輸信息傳輸時的具體路徑,第一節點在確定了雙向繞行傳輸所形成的路徑後,可以將兩個路徑中經過的節點最少的路徑作為最短路徑。

步驟408、基於最短路徑,將待傳輸信息傳輸至下一節點。

本發明實施例中提供的容錯路由方法,由於在待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑,並基於最短路徑,將待傳輸信息傳輸至下一節點,因此,採用最短路徑進行待傳輸信息的傳輸,避免了傳輸路徑較長,傳輸時延較大的情況,提高了信息的傳輸效率。如圖11和圖12所示,圖11是現有技術提供的一種待傳輸信息的傳輸路徑示意圖,圖11分別繪製了兩組傳輸路徑,一組是從源節點s1到目的節點d1的傳輸路徑,另一組是從源節點s2到目的節點d2的傳輸路徑。圖12是本發明實施例提供的一種待傳輸信息的傳輸路徑示意圖,圖12分別繪製了兩組傳輸路徑,一組是從源節點s1到目的節點d1的傳輸路徑,另一組是從源節點s2到目的節點d2的傳輸路徑。可以明顯看出,採用本發明實施例提供的容錯路由算法,從源節點s1到目的節點d1的傳輸路徑較現有技術的要短,從源節點s2到目的節點d2的傳輸路徑也較現有技術要短,因此,有效減小了傳輸路徑。

需要說明的是,本發明實施例提供的容錯路由方法步驟的先後順序可以進行適當調整,步驟也可以根據情況進行相應增減,任何熟悉本技術領域的技術 人員在本發明揭露的技術範圍內,可輕易想到變化的方法,都應涵蓋在本發明的保護範圍之內,因此不再贅述。

本發明實施例提供一種容錯路由裝置,如圖13所示,應用於片上網際網路noc的第一節點,該第一節點可以為路由器等具有通信功能的裝置,所述裝置包括:

接收模塊50,用於接收待傳輸信息,所述待傳輸信息包括:目的節點的位置信息,所述位置信息用於指示在所述noc的晶片上的位置;

判斷模塊51,用於當所述第一節點不是所述目的節點,且為故障環上的節點時,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,所述雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸;

確定模塊52,用於當所述待傳輸信息能夠在所述故障環上雙向繞行傳輸時,在所述雙向繞行傳輸所形成的路徑中確定最短路徑;

傳輸模塊53,用於基於所述最短路徑,將所述待傳輸信息傳輸至下一節點。

綜上所述,本發明實施例提供的容錯路由裝置,由於確定模塊在判斷模塊判斷得到待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑,並由傳輸模塊基於最短路徑,將待傳輸信息傳輸至下一節點,因此,採用最短路徑進行待傳輸信息的傳輸,避免了傳輸路徑較長,傳輸時延較大的情況,提高了信息的傳輸效率。

可選的,如圖14所示,所述判斷模塊51包括:

獲取子模塊511,用於獲取所述故障環的位置信息;

確定子模塊512,用於根據所述故障環的位置信息,確定所述故障環的類型,所述故障環的類型用於指示所述故障環在所述晶片上所形成的形狀為封閉環形或非封閉環形;

判斷子模塊513,用於根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸。

可選的,所述故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,所述兩個參考節點是位於所述故障環的四個頂點上的節點中,在同一對角線上的兩個節點。

可選的,所述晶片上形成有m×n個網格,所述預設坐標系的坐標系原點為所述晶片的西南角的節點,在所述預設坐標繫上,所述晶片的坐標範圍包括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數,所述兩個參考節點為所述故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,位於所述東北角的節點為第一參考節點,位於所述西南角的節點為第二參考節點;

所述確定子模塊512,用於:

當所述兩個參考節點的位置信息指示所述兩個參考節點在所述預設坐標系中的坐標位置在所述晶片的坐標範圍內時,確定所述故障環的類型為正常環;

當所述兩個參考節點的位置信息指示第一參考節點的x坐標為m時,確定所述故障環的類型為東型環;

當所述兩個參考節點的位置信息指示第一參考節點的y坐標為n時,確定所述故障環的類型為北型環;

當所述兩個參考節點的位置信息指示第二參考節點的x坐標為-1時,確定所述故障環的類型為西型環;

當所述兩個參考節點的位置信息指示第二參考節點的y坐標為-1時,確定所述故障環的類型為南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為北型環,則確定所述故障環為東北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為西型環,又為北型環,則確定所述故障環為西北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為南型環,又為西型環,則確定所述故障環為西南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為南型環,則確定所述故障環為東南型環。

可選的,所述故障環的類型包括:正常環,所述正常環上的任一節點均為位於所述晶片上的實體節點,所述實體節點為所述晶片上實際存在的節點,

所述判斷子模塊513,用於:

檢測所述故障環的類型是否為正常環;

當所述故障環的類型不為正常環時,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸;

當所述故障環的類型為正常環時,根據所述待傳輸信息的傳輸類型和所述故障環的位置信息,確定所述待傳輸信息在所述故障環上的備選傳輸路徑,所述待傳輸信息的傳輸類型用於反映所述第一節點與所述目的節點的相對位置關係;

統計所述待傳輸信息的備選傳輸路徑的個數;

當所述備選傳輸路徑的個數為2,確定所述待傳輸信息能夠在所述故障環上雙向繞行傳輸;

當所述備選傳輸路徑的個數為0,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,

所述確定模塊52,還用於當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息;

所述判斷模塊51,還用於根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

所述傳輸模塊53,還用於當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

所述傳輸模塊53,還用於當所述虛擬節點不為虛擬參考節點時,將所述虛 擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

綜上所述,本發明實施例提供的容錯路由裝置,由於確定模塊在判斷模塊判斷得到待傳輸信息能夠在故障環上雙向繞行傳輸時,在雙向繞行傳輸所形成的路徑中確定最短路徑,並由傳輸模塊基於最短路徑,將待傳輸信息傳輸至下一節點,因此,採用最短路徑進行待傳輸信息的傳輸,避免了傳輸路徑較長,傳輸時延較大的情況,提高了信息的傳輸效率。

所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統,裝置和模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。

本發明實施例提供一種片上網絡,可以設置於伺服器中,該片上網絡可以包括第一節點,所述第一節點包括如圖13所示的容錯路由裝置。

進一步的,所述片上網絡noc還可以包括:第二節點,所述第二節點位於所述晶片的邊界上,且為故障環上的非邊角節點,所述第二節點用於:

確定所述故障環上與所述第二節點相鄰的虛擬節點的位置信息;

根據所述虛擬節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

本發明實施例提供一種容錯路由裝置,該容錯路由裝置可以為路由器等具有通信功能的裝置,如圖15所示,包括至少一個處理器601(例如cpu),該 處理器601用於執行上述容錯路由方法,至少一個網絡接口602或者其他通信接口,存儲器603,和至少一個通信總線604,用於實現這些裝置之間的連接通信。處理器601用於執行存儲器603中存儲的可執行模塊,例如電腦程式。存儲器603可能包含高速隨機存取存儲器(ram:randomaccessmemory),也可能還包括非不穩定的存儲器(non-volatilememory),例如至少一個磁碟存儲器。通過至少一個網絡接口602(可以是有線或者無線)實現該容錯路由裝置與至少一個其他裝置之間的通信連接,可以使用網際網路,廣域網,本地網,城域網等。

在一些實施方式中,存儲器603存儲了程序6031,程序6031可以被處理器601執行,這個程序6031包括:

接收待傳輸信息,所述待傳輸信息包括:目的節點的位置信息,所述位置信息用於指示在所述noc的晶片上的位置;

當所述第一節點不是所述目的節點,且為故障環上的節點時,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,所述雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸;

當所述待傳輸信息能夠在所述故障環上雙向繞行傳輸時,在所述雙向繞行傳輸所形成的路徑中確定最短路徑;

基於所述最短路徑,將所述待傳輸信息傳輸至下一節點。

可選的,所述判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

獲取所述故障環的位置信息;

根據所述故障環的位置信息,確定所述故障環的類型,所述故障環的類型用於指示所述故障環在所述晶片上所形成的形狀為封閉環形或非封閉環形;

根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸。

可選的,所述故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,所述兩個參考節點是位於所述故障環的四個頂點上的節點中,在同一對 角線上的兩個節點。

可選的,所述晶片上形成有m×n個網格,所述預設坐標系的坐標系原點為所述晶片的西南角的節點,在所述預設坐標繫上,所述晶片的坐標範圍包括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數,所述兩個參考節點為所述故障環的四個頂點上的節點中,位於東北角和西南角的兩個節點,其中,位於所述東北角的節點為第一參考節點,位於所述西南角的節點為第二參考節點;

所述根據所述故障環的位置信息,確定所述故障環的類型,包括:

當所述兩個參考節點的位置信息指示所述兩個參考節點在所述預設坐標系中的坐標位置在所述晶片的坐標範圍內時,確定所述故障環的類型為正常環;

當所述兩個參考節點的位置信息指示第一參考節點的x坐標為m時,確定所述故障環的類型為東型環;

當所述兩個參考節點的位置信息指示第一參考節點的y坐標為n時,確定所述故障環的類型為北型環;

當所述兩個參考節點的位置信息指示第二參考節點的x坐標為-1時,確定所述故障環的類型為西型環;

當所述兩個參考節點的位置信息指示第二參考節點的y坐標為-1時,確定所述故障環的類型為南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為北型環,則確定所述故障環為東北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為西型環,又為北型環,則確定所述故障環為西北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為南型環,又為西型環,則確定所述故障環為西南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為南型環,則確定所述故障環為東南型環。

可選的,所述故障環的類型包括:正常環,所述正常環上的任一節點均為位於所述晶片上的實體節點,所述實體節點為所述晶片上實際存在的節點,

所述根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

檢測所述故障環的類型是否為正常環;

當所述故障環的類型不為正常環時,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸;

當所述故障環的類型為正常環時,根據所述待傳輸信息的傳輸類型和所述故障環的位置信息,確定所述待傳輸信息在所述故障環上的備選傳輸路徑,所述待傳輸信息的傳輸類型用於反映所述第一節點與所述目的節點的相對位置關係;

統計所述待傳輸信息的備選傳輸路徑的個數;

當所述備選傳輸路徑的個數為2,確定所述待傳輸信息能夠在所述故障環上雙向繞行傳輸;

當所述備選傳輸路徑的個數為0,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,在所述接收待傳輸信息之前,所述方法還包括:

當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息;

根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

當所述虛擬節點為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述故障環上的每個節點上;

當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息 時,確定虛擬參考節點的位置信息。

本發明實施例還提供一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令由容錯路由裝置的處理器執行時,使得容錯路由裝置能夠執行一種容錯路由方法,所述方法包括:

接收待傳輸信息,所述待傳輸信息包括:目的節點的位置信息,所述位置信息用於指示在所述noc的晶片上的位置;

當所述第一節點不是所述目的節點,且為故障環上的節點時,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,所述雙向繞行傳輸包括沿順時針方向傳輸和沿逆時針方向傳輸;

當所述待傳輸信息能夠在所述故障環上雙向繞行傳輸時,在所述雙向繞行傳輸所形成的路徑中確定最短路徑;

基於所述最短路徑,將所述待傳輸信息傳輸至下一節點。

可選的,所述判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

獲取所述故障環的位置信息;

根據所述故障環的位置信息,確定所述故障環的類型,所述故障環的類型用於指示所述故障環在所述晶片上所形成的形狀為封閉環形或非封閉環形;

根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸。

可選的,所述故障環的位置信息包括:預設坐標系中兩個參考節點的位置信息,所述兩個參考節點是位於所述故障環的四個頂點上的節點中,在同一對角線上的兩個節點。

可選的,所述晶片上形成有m×n個網格,所述預設坐標系的坐標系原點為所述晶片的西南角的節點,在所述預設坐標繫上,所述晶片的坐標範圍包括:x軸的坐標範圍為0~m-1,y軸的坐標範圍為0~n-1,m和n均為大於或等於2的整數,所述兩個參考節點為所述故障環的四個頂點上的節點中,位於東 北角和西南角的兩個節點,其中,位於所述東北角的節點為第一參考節點,位於所述西南角的節點為第二參考節點;

所述根據所述故障環的位置信息,確定所述故障環的類型,包括:

當所述兩個參考節點的位置信息指示所述兩個參考節點在所述預設坐標系中的坐標位置在所述晶片的坐標範圍內時,確定所述故障環的類型為正常環;

當所述兩個參考節點的位置信息指示第一參考節點的x坐標為m時,確定所述故障環的類型為東型環;

當所述兩個參考節點的位置信息指示第一參考節點的y坐標為n時,確定所述故障環的類型為北型環;

當所述兩個參考節點的位置信息指示第二參考節點的x坐標為-1時,確定所述故障環的類型為西型環;

當所述兩個參考節點的位置信息指示第二參考節點的y坐標為-1時,確定所述故障環的類型為南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為北型環,則確定所述故障環為東北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為西型環,又為北型環,則確定所述故障環為西北型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為南型環,又為西型環,則確定所述故障環為西南型環;

當根據所述兩個參考節點的位置信息確定所述故障環既為東型環,又為南型環,則確定所述故障環為東南型環。

可選的,所述故障環的類型包括:正常環,所述正常環上的任一節點均為位於所述晶片上的實體節點,所述實體節點為所述晶片上實際存在的節點,

所述根據所述故障環的類型,判斷所述待傳輸信息是否能夠在所述故障環上雙向繞行傳輸,包括:

檢測所述故障環的類型是否為正常環;

當所述故障環的類型不為正常環時,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸;

當所述故障環的類型為正常環時,根據所述待傳輸信息的傳輸類型和所述故障環的位置信息,確定所述待傳輸信息在所述故障環上的備選傳輸路徑,所述待傳輸信息的傳輸類型用於反映所述第一節點與所述目的節點的相對位置關係;

統計所述待傳輸信息的備選傳輸路徑的個數;

當所述備選傳輸路徑的個數為2,確定所述待傳輸信息能夠在所述故障環上雙向繞行傳輸;

當所述備選傳輸路徑的個數為0,確定所述待傳輸信息不能在所述故障環上雙向繞行傳輸。

可選的,所述兩個參考節點包括一個實體參考節點和一個虛擬參考節點,在所述接收待傳輸信息之前,所述方法還包括:

當所述第一節點位於所述晶片的邊界上,且為故障環上的非邊角節點,確定所述故障環上與所述第一節點相鄰的虛擬節點的位置信息;

根據所述虛擬節點的位置信息和預先接收的實體參考節點的位置信息,判斷所述虛擬節點是否為虛擬參考節點;

當所述虛擬節點不為虛擬參考節點時,將所述虛擬節點的位置信息發送至所述實體參考節點,以便於所述實體參考節點在收到兩個虛擬節點的位置信息時,確定虛擬參考節點的位置信息。

本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬體來完成,也可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁碟或光碟等。

在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性 的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個模塊或組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。

所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位於一個地方,或者也可以分布到多個網絡模塊上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。

另外,在本發明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理包括,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以採用硬體的形式實現,也可以採用硬體加軟體功能模塊的形式實現。

以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀