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