專利名稱:一種基于片上網絡的無死鎖路由方法
技術領域:
本發明屬于片上網絡技術領域,涉及一種路由方法,尤其涉及一種基于片上網絡的無死鎖路由方法。
背景技術:
隨著半導體工藝技術步入納米階段,在單一芯片中集成上億晶體管已經成為現實,如何解決傳統共享總線通信結構中存在的延遲、通信性能瓶頸等問題就成為了重要的研究方向。片上網絡NoC(Network on Chip)作為一種新的片上通信系統結構在性能上相比于傳統總線結構有了極大的提升。而在現有的片上網絡中,最主要采用的是2D網格的拓撲結構,這種拓撲結構工藝上較容易實現,對絕大多數應用也具備較好的性能。本發明就是基于片上網絡的通信結構和傳統2D網格的拓撲結構來設計實現的。同時,隨著工藝尺寸的不斷縮小,芯片越來越容易受到外界的干擾。串擾、耦合噪聲以及宇宙射線照射帶來的軟錯誤逐漸成為制約系統可靠性的關鍵因素。另一方面,空天、 金融等行業領域又需要很高的可靠性要求,面對這種有高可靠性要求的應用,就需要設計具有容錯能力的系統來滿足這些需求。通常的具有容錯能力的系統會利用時間冗余、空間冗余、信息冗余等方法來提高系統的可靠性。
發明內容
本發明所要解決的技術問題是提供一種基于片上網絡的無死鎖路由方法,可實現空間上的三模冗余,提高系統的可靠性。為解決上述技術問題,本發明采用如下技術方案一種基于片上網絡的無死鎖路由方法,所述方法包括如下步驟在源節點將數據包復制η份,其中,η彡3 ;在片上網絡中設定η條自源節點至目的節點的不交叉的通道,η 份數據包分別在η條通道上傳輸;η份數據包到達目的節點后再通過表決器得到正確結果, 實現了空間上的冗余。作為本發明的一種優選方案,在源節點將數據包復制三份;在片上網絡中設定三條自源節點至目的節點的不交叉的通道,三份數據包分別在三條通道上傳輸;三份數據包到達目的節點后再通過表決器得到正確結果,實現了空間上的三模冗余。作為本發明的一種優選方案,在片上網絡中開設四條虛通道,其中兩條分別為XY 通道和Tk通道,另外兩條是紅通道和黑通道;具有高可靠性要求的數據包在源節點首先拷貝成三份,其中的兩份分別通過XY通道和通道向目的節點發包;第三份數據包首先通過源節點的紅通道/黑通道發送到與前兩條通道不同的相鄰節點,再通過XY通道ΛΧ通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過黑通道/紅通道發送到目的節點。進一步地,如果源節點是偶節點則通過黑通道發送到與前兩條通道不同的相鄰節點,再通過Tk通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過紅通道發送到目的節點;如果源節點是奇節點則通過紅通道發送到與前兩條通道不同的相鄰節點,再通過XY通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過黑通道發送到目的節點。進一步地,所有紅通道都是從奇節點為源節點,發送到偶節點;紅通道對所有偶節點來說都是接收通道,對所有奇節點都是發出通道;黑通道與之相反。進一步地,所述奇節點、偶節點的定義為將片上網絡的左下角router節點的坐標定位為(1,1),向右為X正向,向上為Y正向,將任一 router節點的XY坐標相加,如果為奇數該節點就是奇節點,如果該節點XY坐標相加為偶數就是偶節點。本發明的有益效果在于本發明提出的基于片上網絡的無死鎖路由方法,第一次在2D網格的片上網絡中提出了一種三條非交叉路徑的路由算法,并且嚴格證明了不會帶來死鎖問題。可以利用本發明的路由算法來實現空間上的三模冗余,提高系統的可靠性。
圖1為一個經典的2D網格片上網絡結構圖。圖2為一個紅黑通道示意圖。圖3為一個本發明無死鎖路由方法的實際示例圖。
具體實施例方式下面結合附圖詳細說明本發明的優選實施例。實施例一本發明揭示了一種非交叉無死鎖的三路徑路由算法,可以將具有高可靠性要求的數據包復制三份在片上網絡中進行傳輸,到目的節點后再通過表決器得到正確結果,實現了空間上的三模冗余。由于宇宙射線等造成的軟錯誤在時間和空間上都具有隨機性,因此本發明設計的無交叉路由可以保證同一個軟錯誤最多只會影響一份數據包,從而在目的節點完全可以通過表決器得到正確結果。同時本發明可以嚴格證明的無死鎖路由,可保證不會引起系統的崩潰。在本發明中采用了奇節點、偶節點、XY通道、通道、紅通道、黑通道名詞,它們的定義為奇節點將片上網絡的左下角router節點的坐標定位為(1,1),向右為X正向,向上為Y正向,將任一 router節點的XY坐標相加,如果為奇數該節點就是奇節點。偶節點如上所述,如果該節點XY坐標相加為偶數就是偶節點。XY通道在該虛通道內,數據包的傳輸采用XY路由策略,就是先沿X方向傳輸到與目標節點相同的X坐標的節點,再沿Y方向傳輸到目標節點。通道與XY通道類似,先沿Y方向傳輸到目標節點相同X坐標的節點,再沿X方向傳輸到目標節點。紅通道每個router節點到它每個相鄰的節點都有一對虛通道一個發出通道和一個接收通道。對每個奇節點來說,它們的發出通道是紅通道,對每一個偶節點來說,它們的接收通道是紅通道。
黑通道與紅通道類似,對每個奇節點來說,它們的接收通道是黑通道,對每一個偶節點來說,它們的發出通道是黑通道。圖1是一個經典的2D網格片上網絡結構圖。IP代表片上網絡中的IP核,即處理器單元。而R代表router節點,它是一個五端口器件,可以將任意端口傳入的數據包根據路由算法分配到任意一個端口進行輸出。圖2是一個8X8的2D網格片上網絡中的紅黑通道示意圖。其中每個方塊代表每個router節點,因為只考慮網絡中通信虛通道所以在圖中省略了 IP核。左下角的router 節點坐標為(1,1)那么坐標和為2,因此在節點上標明為2,此節點為偶節點。其余節點分別計算坐標和,并將其標在圖2中。這樣可以看出標明偶數的節點為偶節點,奇數節點為奇節點;還可以看出所有偶節點的相鄰節點都是奇節點,反之亦然。在圖2中畫出虛線的有向邊為紅通道,從圖中可以看出所有紅通道都是從奇節點為源節點,發送到偶節點。因此紅通道對所有偶節點來說都是接收通道,對所有奇節點都是發出通道。黑通道與之相反。高可靠性處理器一般采用三模冗余的方式提高系統容錯能力,而在片上網絡中如果采用三套網絡來傳輸又會帶來巨大的硬件開銷,因此在本發明中嘗試在一套網絡中選取三條非交叉路徑分別傳輸。本發明在傳統XY4X路由的基礎上,再添加一條固定的與上面兩條線路無交叉的路由線路,并且通過合理的虛通道分配保證在系統中無死鎖。具體地,本發明無死鎖路由方法包括如下步驟首先,需要在片上網絡中開設四條虛通道,其中兩條分別為XY和Tk虛通道,另外兩條是紅通道和黑通道。具有高可靠性要求的數據包在源節點(除了四個端點的節點只有兩條不相交發出路徑除外)首先拷貝成三份,其中的兩份分別通過XY通道和通道向目的節點發包,第三份數據包首先通過源節點的紅或黑通道(取決于源節點是奇節點還是偶節點,如果是偶節點則通過黑通道,如果是奇節點則通過紅通道)發送到與前兩份不同的相鄰節點,再通過XY或Tt通道發送到距離目的節點為一的節點(必須在源節點與目的節點組成的矩形區域以外保證與另外兩份數據包無交叉路徑)。再通過紅通道或黑通道(取決于該節點的奇偶性)發送到目的節點。本發明的路由算法可以嚴格證明為無死鎖路由算法。首先,XY路由與路由分別為無死鎖路由,將他們分配為兩個虛通道則在這兩條路徑上不存在死鎖問題。然后對紅通道來說,任意相鄰兩節點的紅通道必為一個是發出通道一個是接收通道,任何包在紅通道內只會傳輸一跳就必須進入XY或Tk通道,或者從XY或Tk通道出來只會在紅通道內傳輸一跳。因此,紅通道內的傳輸邊都是孤立邊,不可能在紅通道內有一跳以上的傳輸,必然不可能有通道依賴環的存在,因此加入紅通道內仍然無死鎖。而同理,黑通道與紅通道只有奇偶性的區別,加入黑通道依然無死鎖。從而證明了本發明的路由算法是無死鎖路由算法。圖3是一個本路由算法的實際示例圖。數據包需要從圖中的源節點發送到目的節點。首先XY路由和路由分別如圖中所示分配了兩條虛通道傳輸到目的節點(都是 7-8-9-10-11-12-13)。然后,因為源節點的XY坐標和為7,所以是奇節點。根據本發明的規定,奇節點的發出通道是紅通道,因此從圖中可以看出數據包通過紅通道從源節點向下傳輸一跳,因為這個方向與乂丫,作路由的方向都不同,因此與上面兩種路徑無交叉。然后在這個節點使用XY通道傳輸到與目的節點相鄰的節點,因為這條路徑是在源節點到目的節點組成的矩形區域以外的區域內傳輸,因此與上面兩種路徑無交叉。到達的目的節點相鄰節點的XY坐標和為14,所以是偶節點,根據本發明的規定,偶節點的發出通道是黑通道,因此從該節點通過黑通道發送到目的節點,完成傳輸。這樣就實現了三條非交叉路徑的路由策略,并且在前面已經嚴格證明了本路由算法無死鎖。綜上所述,本發明提出的基于片上網絡的無死鎖路由方法,第一次在2D網格的片上網絡中提出了一種三條非交叉路徑的路由算法,并且嚴格證明了不會帶來死鎖問題。可以利用本發明的路由算法來實現空間上的三模冗余,提高系統的可靠性。實施例二本實施例揭示一種基于片上網絡的無死鎖路由方法,所述方法包括如下步驟在源節點將數據包復制三份,在片上網絡中設定三條自源節點至目的節點的不交叉的通道, 三份數據包分別在三條通道上傳輸;三份數據包到達目的節點后再通過表決器得到正確結果,實現了空間上的冗余。其中,三條通道可以為除實施例一中三條通道之外的其他通道,只需要三條通道不交叉即可;當然,通道可以盡可能的短。實施例三本實施例揭示一種基于片上網絡的無死鎖路由方法,所述方法包括如下步驟在源節點將數據包復制四份,在片上網絡中設定四條自源節點至目的節點的不交叉的通道, 四份數據包分別在四條通道上傳輸;四份數據包到達目的節點后再通過表決器得到正確結果,實現了空間上的冗余。這里本發明的描述和應用是說明性的,并非想將本發明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是可能的,對于那些本領域的普通技術人員來說實施例的替換和等效的各種部件是公知的。本領域技術人員應該清楚的是,在不脫離本發明的精神或本質特征的情況下,本發明可以以其它形式、結構、布置、比例,以及用其它組件、 材料和部件來實現。在不脫離本發明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。
權利要求
1.一種基于片上網絡的無死鎖路由方法,其特征在于,所述方法包括如下步驟在源節點將數據包復制η份,其中,η彡3 ;在片上網絡中設定η條自源節點至目的節點的不交叉的通道,η份數據包分別在η條通道上傳輸;η份數據包到達目的節點后再通過表決器得到正確結果,實現空間上的冗余。
2.根據權利要求1所述的基于片上網絡的無死鎖路由方法,其特征在于在源節點將數據包復制三份;在片上網絡中設定三條自源節點至目的節點的不交叉的通道,三份數據包分別在三條通道上傳輸;三份數據包到達目的節點后再通過表決器得到正確結果,實現了空間上的三模冗余。
3.根據權利要求2所述的基于片上網絡的無死鎖路由方法,其特征在于在片上網絡中開設四條虛通道,其中兩條分別為XY通道和通道,另外兩條是紅通道和黑通道;具有高可靠性要求的數據包在源節點首先拷貝成三份,其中的兩份分別通過XY通道和Tk通道向目的節點發包;第三份數據包首先通過源節點的紅通道/黑通道發送到與前兩條通道不同的相鄰節點,再通過XY通道ΛΧ通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過黑通道/紅通道發送到目的節點。
4.根據權利要求3所述的基于片上網絡的無死鎖路由方法,其特征在于如果源節點是偶節點則通過黑通道發送到與前兩條通道不同的相鄰節點,再通過U 通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過紅通道發送到目的節點;如果源節點是奇節點則通過紅通道發送到與前兩條通道不同的相鄰節點,再通過XY 通道發送到距離目的節點為一的節點,必須在源節點與目的節點組成的矩形區域以外,保證與另外兩份數據包無交叉路徑;再通過黑通道發送到目的節點。
5.根據權利要求4所述的基于片上網絡的無死鎖路由方法,其特征在于所有紅通道都是從奇節點為源節點,發送到偶節點;紅通道對所有偶節點來說都是接收通道,對所有奇節點都是發出通道;黑通道與之相反。
6.根據權利要求4所述的基于片上網絡的無死鎖路由方法,其特征在于所述奇節點、偶節點的定義為將片上網絡的左下角router節點的坐標定位為(1,1), 向右為X正向,向上為Y正向,將任一 router節點的XY坐標相加,如果為奇數該節點就是奇節點,如果該節點XY坐標相加為偶數就是偶節點。
全文摘要
本發明揭示了一種基于片上網絡的無死鎖路由方法,所述方法包括如下步驟在源節點將數據包復制n份,其中,n≥3;在片上網絡中設定n條自源節點至目的節點的不交叉的通道,n份數據包分別在n條通道上傳輸;n份數據包到達目的節點后再通過表決器得到正確結果,實現了空間上的冗余。本發明提出的基于片上網絡的無死鎖路由方法,第一次在2D網格的片上網絡中提出了一種三條非交叉路徑的路由算法,并且嚴格證明了不會帶來死鎖問題。可以利用本發明的路由算法來實現空間上的三模冗余,提高系統的可靠性。
文檔編號H04L12/56GK102333038SQ20111032148
公開日2012年1月25日 申請日期2011年10月21日 優先權日2011年10月21日
發明者付宇卓, 劉婷, 武鵬, 蔣江 申請人:上海交通大學