專利名稱:一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)可靠性技術(shù)領(lǐng)域,尤其是一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法。
背景技術(shù):
隨著半導(dǎo)體工藝與多核技術(shù)的發(fā)展,芯片集成度達(dá)到前所未有的高度,超復(fù)雜系統(tǒng)相繼出現(xiàn),傳統(tǒng)的片上系統(tǒng)(SoC,System on Chip)體系結(jié)構(gòu)及其相應(yīng)的設(shè)計(jì)方法成為片上系統(tǒng)發(fā)展的瓶頸。為此業(yè)界提出了一種基于網(wǎng)絡(luò)和路由通信的片上網(wǎng)絡(luò)(Networks on Chip,NoC)體系結(jié)構(gòu),其核心思想是利用分組交換技術(shù)取代硬連線,實(shí)現(xiàn)各功能部件之間的高速通信,從體系結(jié)構(gòu)上徹底解決總線架構(gòu)帶來(lái)的問(wèn)題。但是隨著芯片越做越小,集成度越來(lái)越高,芯片中的互聯(lián)線對(duì)串?dāng)_、耦合噪聲、電磁干擾和工藝不穩(wěn)定等深亞微米噪聲源日益敏感,片上網(wǎng)絡(luò)通信中會(huì)出現(xiàn)數(shù)據(jù)失效或功能部件失效等硬件故障,如路由失效、鏈路失效等,這大大降低了通信的可靠性和穩(wěn)定性,從而影響了 NoC的性能。因此,片上網(wǎng)絡(luò)必須采用容錯(cuò)機(jī)制來(lái)保證片上網(wǎng)絡(luò)的通信可靠性。片上網(wǎng)絡(luò)是片上系統(tǒng)發(fā)展到一定程度的產(chǎn)物,具有片上系統(tǒng)的特點(diǎn),所以功耗是片上網(wǎng)絡(luò)無(wú)法回避的問(wèn)題。因此,在不考慮物理實(shí)現(xiàn)等工藝方面的要求,片上網(wǎng)絡(luò)的性能主要表現(xiàn)在功耗、延時(shí)和容錯(cuò)性三個(gè)方面。片上網(wǎng)絡(luò)的容錯(cuò)機(jī)制是利用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和路由算法,在盡量不影響功耗、延時(shí)的情況下提高片上網(wǎng)絡(luò)的性能,拓?fù)浣Y(jié)構(gòu)和路由算法是片上網(wǎng)絡(luò)容錯(cuò)設(shè)計(jì)的基礎(chǔ)。
發(fā)明內(nèi)容
為了克服已有的片上網(wǎng)絡(luò)容錯(cuò)機(jī)制的平均傳輸延遲較大、峰值功耗較大、NoC性能較低的不足,本發(fā)明提供一種有效降低平均傳輸延遲和峰值功耗、提高NoC性能的面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法,所述路由控制方法包括以下步驟1)確定一次通信的數(shù)據(jù)發(fā)送量,然后利用鄰居置換元素優(yōu)先級(jí)規(guī)則進(jìn)行第一跳洪泛路由選擇,具體過(guò)程如下首先,給出節(jié)點(diǎn)元素位置定義,節(jié)點(diǎn)的內(nèi)部元素位置就是元素在節(jié)點(diǎn)中的排列位置,外部元素分為兩種,當(dāng)外部元素存在于目的節(jié)點(diǎn)中,其位置定義為0,如果外部元素不存在與目的節(jié)點(diǎn)中,則定義為-1 ;然后,根據(jù)排列環(huán)生成規(guī)則得到排列環(huán)組合,第一步是對(duì)內(nèi)環(huán)進(jìn)行優(yōu)先級(jí)計(jì)算,根據(jù)首節(jié)點(diǎn)首元素是否相同我們確定最高優(yōu)先級(jí),然后根據(jù)內(nèi)環(huán)排列依次優(yōu)先級(jí)減1 ;接著是外環(huán),利用到外環(huán)元素優(yōu)先級(jí)規(guī)則,如果a的外部元素存在于目標(biāo)節(jié)點(diǎn)b中,根據(jù)這些外部元素在b排列中的位置劃分優(yōu)先級(jí),從b排列最后一個(gè)元素開(kāi)始,如果首次碰到一個(gè)外部元素,則記錄該元素在優(yōu)先級(jí)表中,并給這個(gè)元素映射優(yōu)先權(quán)值為內(nèi)環(huán)元素最低優(yōu)先級(jí)元素值減1,直到b的第一個(gè)元素結(jié)束,其中碰到外部元素,則添加到優(yōu)先級(jí)表中,同時(shí)較上一個(gè)外部元素的權(quán)值減1 ;2)第一條之后的路由選擇利用(n,k)-star graph節(jié)點(diǎn)排列環(huán)外部元素優(yōu)先級(jí)規(guī)則選擇確定性路由,其中就是指(n,k)-star graph,是一個(gè)無(wú)向圖,頂點(diǎn)由<n>中取k 個(gè)數(shù)的全排列構(gòu)成,η和k為兩個(gè)整數(shù),且1 < k < η ;a、b分別表示兩個(gè)不同的節(jié)點(diǎn),在Sn, k上,從a = B0B1. · · Bk^1到b = Kb1. · · V1的隨機(jī)路由通信過(guò)程如下(2. 1)首先,根據(jù)鄰居置換元素優(yōu)先級(jí)規(guī)則得到除外的a中與其鄰居相關(guān)的元素的優(yōu)先級(jí)表,并計(jì)算出通信可靠閾值Kmin,同時(shí)生成Kmin份數(shù)據(jù)拷貝;(2.2)根據(jù)信息標(biāo)志位判斷是否為首次轉(zhuǎn)發(fā),如果是則進(jìn)入O. 3),如果不是則進(jìn) Λ (2. 4);(2. 3)根據(jù)(2. 1)的Kmin值,從優(yōu)先級(jí)表中得到Kmin個(gè)鄰居置換元素,即優(yōu)先級(jí)從高到低依次選取,節(jié)點(diǎn)a分別向Kmin個(gè)置換元素通過(guò)與節(jié)點(diǎn)a元素置換所得的鄰居節(jié)點(diǎn)信息拷貝發(fā)送;(2. 4)根據(jù)信息中目的節(jié)點(diǎn)信息,生成排列環(huán)外部元素優(yōu)先級(jí)表;2. 4. 1)如果徹= bi i ^ 0,那么將徹到第i個(gè)位置元素置換;如果置換后節(jié)點(diǎn)為壞點(diǎn),則將與任意一個(gè)不包含的內(nèi)環(huán)的任意元素置換;2. 4. 2)如果徹=bQ,那么將徹與任意一個(gè)不在其正確位置的符號(hào)交換。2. 4. 3)如果某個(gè)外環(huán)的外部符號(hào)在第一個(gè)位置, Φ by,ax為a的內(nèi)部元素,by為 b的內(nèi)部元素,那么將其與外環(huán)中沒(méi)有固定的優(yōu)先級(jí)最高的外部元素置換,如果有壞點(diǎn)則跳過(guò)到次優(yōu)級(jí)元素置換,如果沒(méi)有外部元素則置換,則與內(nèi)圈不在其正確位置元素交換,如不成功,則說(shuō)明鏈路不通。本發(fā)明的技術(shù)構(gòu)思為本發(fā)明首次提出將(n,k)-star graph拓?fù)浣Y(jié)構(gòu)應(yīng)用于片上網(wǎng)絡(luò)。(n,k)-star graph 是 1995 年由 Wei-Kuo Chiang 和 Rong-Jaye Chen 提出,具有良好的拓?fù)湫再|(zhì)結(jié)構(gòu)規(guī)整,高對(duì)稱性,高連通度,網(wǎng)絡(luò)直徑小等,其中最重要的是該結(jié)構(gòu)具有特殊的排列環(huán)性質(zhì),排列環(huán)可以簡(jiǎn)化路由算法,也可以直接作為路由算法。(n,k)-star graph的拓?fù)涮匦允顾m合作為片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),采用一種適合片上網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu), 可以使片上網(wǎng)絡(luò)的永久故障容錯(cuò)性能更好。永久故障在并行計(jì)算機(jī)網(wǎng)絡(luò)中研究十分廣泛,比如使用備用維的容錯(cuò)路由,基于深度優(yōu)先搜索的容錯(cuò)路由,二維網(wǎng)格中繞過(guò)塊形故障的容錯(cuò)路由等算法,但片上網(wǎng)絡(luò)特殊性使這些容錯(cuò)路由算法無(wú)法直接應(yīng)用于NoC。用于NoC的源路由算法、DR-NoC、帶有強(qiáng)制方向的蟲(chóng)孔路由(FDWR)、改進(jìn)的f-Cube2路由算法、概率安全向量算法等,是已經(jīng)使用的幾種永久故障容錯(cuò)算法,這些算法可以進(jìn)行容錯(cuò),但是卻不能很好的解決NoC中延時(shí)敏感應(yīng)用的延時(shí)敏感問(wèn)題。因此,鑒于延時(shí)敏感應(yīng)用主要是對(duì)延時(shí)的要求高,本發(fā)明提出將隨機(jī)路由算法應(yīng)用于片上網(wǎng)絡(luò),采用(n,k)-star graph排列環(huán)等拓?fù)湫再|(zhì),提出一種新的基于鄰居置換元素優(yōu)先級(jí)的隨機(jī)路由重構(gòu)算法,該算法旨在降低片上網(wǎng)絡(luò)的延時(shí),保證片上網(wǎng)絡(luò)的通信可靠性和實(shí)時(shí)性。針對(duì)NoC的功耗敏感型應(yīng)用和延時(shí)敏感型應(yīng)用,本發(fā)明提出一種基于排列環(huán)外部元素優(yōu)先級(jí)的確定性容錯(cuò)路由算法(簡(jiǎn)稱PDPE算法)和一種基于鄰居置換元素優(yōu)先級(jí)的隨機(jī)路由重構(gòu)算法(簡(jiǎn)稱PPN算法)。PDPE算法利用(n,k)-Star graph節(jié)點(diǎn)排列環(huán)外部元素優(yōu)先級(jí)規(guī)則選擇確定性路由,得到最短路徑,如果優(yōu)先級(jí)高的路由路徑出現(xiàn)故障,則算法選擇次優(yōu)路徑進(jìn)行通信。PPN算法借鑒隨機(jī)通信的優(yōu)點(diǎn),首先確定一次通信的數(shù)據(jù)發(fā)送量, 然后利用鄰居置換元素優(yōu)先級(jí)規(guī)則進(jìn)行第一跳洪泛路由選擇,第一跳之后的路由選擇采用 PDPE算法進(jìn)行。本發(fā)明的有益效果主要表現(xiàn)在有效降低平均傳輸延遲和峰值功耗、提高NoC性能。
圖1 是 n = 4,k = 2 的(n,k) -star graph 實(shí)例的示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1,一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法,所述路由控制方法包括以下步驟1)確定一次通信的數(shù)據(jù)發(fā)送量,然后利用鄰居置換元素優(yōu)先級(jí)規(guī)則進(jìn)行第一跳洪泛路由選擇;2)第一條之后的路由選擇利用(n,k)-star graph節(jié)點(diǎn)排列環(huán)外部元素優(yōu)先級(jí)規(guī)則選擇確定性路由。鄰居置換元素優(yōu)先級(jí)規(guī)則如下首先給出節(jié)點(diǎn)元素位置定義,節(jié)點(diǎn)的內(nèi)部元素位置就是元素在節(jié)點(diǎn)中的排列位置,外部元素分為兩種,當(dāng)外部元素存在于目的節(jié)點(diǎn)中,其位置定義為0,如果外部元素不存在與目的節(jié)點(diǎn)中,則定義為-1。然后根據(jù)排列環(huán)生成規(guī)則得到排列環(huán)組合,第一步是對(duì)內(nèi)環(huán)進(jìn)行優(yōu)先級(jí)計(jì)算,根據(jù)首節(jié)點(diǎn)首元素是否相同我們確定最高優(yōu)先級(jí),然后根據(jù)內(nèi)環(huán)排列依次優(yōu)先級(jí)減1 ;接著是外環(huán),利用到外環(huán)元素優(yōu)先級(jí)規(guī)則, 如果a的外部元素存在于目標(biāo)節(jié)點(diǎn)b中,根據(jù)這些外部元素在b排列中的位置劃分優(yōu)先級(jí), 從b排列最后一個(gè)元素開(kāi)始,如果首次碰到一個(gè)外部元素,則記錄該元素在優(yōu)先級(jí)表中,并給這個(gè)元素映射優(yōu)先權(quán)值為內(nèi)環(huán)元素最低優(yōu)先級(jí)元素值減1,直到b的第一個(gè)元素結(jié)束,其中碰到外部元素,則添加到優(yōu)先級(jí)表中,同時(shí)較上一個(gè)外部元素的權(quán)值減1。根據(jù)新的排列環(huán)元素優(yōu)先級(jí)規(guī)則以及隨機(jī)路由通信的特點(diǎn),本發(fā)明設(shè)計(jì)得到一個(gè)隨機(jī)路由算法,算法如下在Sn,k上,從a = B0B1. · · Bh到b = ^b1. · · V1的隨機(jī)路由通信算法。其中Sn,k就是指(n,k)-Star graph,是一個(gè)無(wú)向圖,頂點(diǎn)由<n>中取k個(gè)數(shù)的全排列構(gòu)成,η和k為兩個(gè)整數(shù),且1彡k < η ;a、b分別表示兩個(gè)不同的節(jié)點(diǎn)。圖 1 是一個(gè) η = 4,k = 2 的(n,k) -star graph 實(shí)例。(2. 1)首先,根據(jù)鄰居置換元素優(yōu)先級(jí)規(guī)則得到a中與其鄰居相關(guān)的元素( 除外)的優(yōu)先級(jí)表,并計(jì)算出通信可靠閾值Kmin,同時(shí)生成Kmin份數(shù)據(jù)拷貝。(2. 2)根據(jù)信息標(biāo)志位判斷是否為首次轉(zhuǎn)發(fā),如果是則進(jìn)入(2. 3),如果不是則進(jìn)入仗4)。(2. 3)根據(jù)步驟一 Kmin值,我們從優(yōu)先級(jí)表中得到Kmin個(gè)鄰居置換元素,即優(yōu)先級(jí)從高到低依次選取,節(jié)點(diǎn)a分別向Kmin個(gè)置換元素通過(guò)與節(jié)點(diǎn)a元素置換所得的鄰居節(jié)點(diǎn)信息拷貝發(fā)送。(2. 4)根據(jù)信息中目的節(jié)點(diǎn)信息,生成PDPE算法中定義的排列環(huán)外部元素優(yōu)先級(jí)表。2. 4. 1)如果徹= bi, i ≠ 0,那么將徹到第i個(gè)位置元素置換;如果置換后節(jié)點(diǎn)為壞點(diǎn),則將如與任意一個(gè)不包含如的內(nèi)環(huán)的任意元素置換。2. 4. 2)如果徹a0=b0,那么將徹與任意一個(gè)不在其正確位置的符號(hào)交換。2. 4. 3)如果某個(gè)外環(huán)的外部符號(hào)在第一個(gè)位置,a≠by(ax為a的內(nèi)部元素,by為 b的內(nèi)部元素),那么將其與外環(huán)中沒(méi)有固定的優(yōu)先級(jí)最高的外部元素置換,如果有壞點(diǎn)則跳過(guò)到次優(yōu)級(jí)元素置換,如果沒(méi)有外部元素可以置換,則與內(nèi)圈不在其正確位置元素交換, 如不成功,則說(shuō)明鏈路不通。
權(quán)利要求
1.一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法,其特征在于所述路由控制方法包括以下步驟1)確定一次通信的數(shù)據(jù)發(fā)送量,然后利用鄰居置換元素優(yōu)先級(jí)規(guī)則進(jìn)行第一跳洪泛路由選擇,具體過(guò)程如下首先,給出節(jié)點(diǎn)元素位置定義,節(jié)點(diǎn)的內(nèi)部元素位置就是元素在節(jié)點(diǎn)中的排列位置,外部元素分為兩種,當(dāng)外部元素存在于目的節(jié)點(diǎn)中,其位置定義為0,如果外部元素不存在與目的節(jié)點(diǎn)中,則定義為-1 ;然后,根據(jù)排列環(huán)生成規(guī)則得到排列環(huán)組合,第一步是對(duì)內(nèi)環(huán)進(jìn)行優(yōu)先級(jí)計(jì)算,根據(jù)首節(jié)點(diǎn)首元素是否相同我們確定最高優(yōu)先級(jí),然后根據(jù)內(nèi)環(huán)排列依次優(yōu)先級(jí)減1 ;接著是外環(huán),利用到外環(huán)元素優(yōu)先級(jí)規(guī)則,如果a的外部元素存在于目標(biāo)節(jié)點(diǎn)b中,根據(jù)這些外部元素在b排列中的位置劃分優(yōu)先級(jí),從b排列最后一個(gè)元素開(kāi)始,如果首次碰到一個(gè)外部元素,則記錄該元素在優(yōu)先級(jí)表中,并給這個(gè)元素映射優(yōu)先權(quán)值為內(nèi)環(huán)元素最低優(yōu)先級(jí)元素值減1,直到b的第一個(gè)元素結(jié)束,其中碰到外部元素,則添加到優(yōu)先級(jí)表中,同時(shí)較上一個(gè)外部元素的權(quán)值減1 ;2)第一條之后的路由選擇利用(n,k)-stargraph節(jié)點(diǎn)排列環(huán)外部元素優(yōu)先級(jí)規(guī)則選擇確定性路由,其中就是指(n,k)-star graph,是一個(gè)無(wú)向圖,頂點(diǎn)由<n>中取k個(gè)數(shù)的全排列構(gòu)成,η和k為兩個(gè)整數(shù),且1 < k < η ;a、b分別表示兩個(gè)不同的節(jié)點(diǎn),在Sn,k上, 從a = B0B1. · · Bk^1到b = Kb1. · · V1的隨機(jī)路由通信過(guò)程如下(2. 1)首先,根據(jù)鄰居置換元素優(yōu)先級(jí)規(guī)則得到除外的a中與其鄰居相關(guān)的元素的優(yōu)先級(jí)表,并計(jì)算出通信可靠閾值Kmin,同時(shí)生成Kmin份數(shù)據(jù)拷貝;(2. 2)根據(jù)信息標(biāo)志位判斷是否為首次轉(zhuǎn)發(fā),如果是則進(jìn)入(2. 3),如果不是則進(jìn)入 (2. 4);(2.3)根據(jù)(2. 1)的Kmin值,從優(yōu)先級(jí)表中得到Kmin個(gè)鄰居置換元素,即優(yōu)先級(jí)從高到低依次選取,節(jié)點(diǎn)a分別向Kmin個(gè)置換元素通過(guò)與節(jié)點(diǎn)a元素置換所得的鄰居節(jié)點(diǎn)信息拷貝發(fā)送;(2. 4)根據(jù)信息中目的節(jié)點(diǎn)信息,生成排列環(huán)外部元素優(yōu)先級(jí)表;·2.4. 1)如果徹=bi; i興0,那么將徹到第i個(gè)位置元素置換;如果置換后節(jié)點(diǎn)為壞點(diǎn),則將徹與任意一個(gè)不包含徹的內(nèi)環(huán)的任意元素置換;·2. 4. 2)如果= Iv那么將與任意一個(gè)不在其正確位置的符號(hào)交換?!?. 4. 3)如果某個(gè)外環(huán)的外部符號(hào)在第一個(gè)位置, Φ by,ax為a的內(nèi)部元素,by為b的內(nèi)部元素,那么將其與外環(huán)中沒(méi)有固定的優(yōu)先級(jí)最高的外部元素置換,如果有壞點(diǎn)則跳過(guò)到次優(yōu)級(jí)元素置換,如果沒(méi)有外部元素則置換,則與內(nèi)圈不在其正確位置元素交換,如不成功,則說(shuō)明鏈路不通。
全文摘要
一種面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法,包括以下步驟1)確定一次通信的數(shù)據(jù)發(fā)送量,然后利用鄰居置換元素優(yōu)先級(jí)規(guī)則進(jìn)行第一跳洪泛路由選擇;2)第一條之后的路由選擇利用(n,k)-star graph節(jié)點(diǎn)排列環(huán)外部元素優(yōu)先級(jí)規(guī)則選擇確定性路由。本發(fā)明提供一種有效降低平均傳輸延遲和峰值功耗、提高NoC性能的面向片上網(wǎng)絡(luò)的永久故障容錯(cuò)路由控制方法。
文檔編號(hào)H04L12/56GK102571608SQ201210050039
公開(kāi)日2012年7月11日 申請(qǐng)日期2012年2月29日 優(yōu)先權(quán)日2012年2月29日
發(fā)明者劉東升, 周怡, 王冰, 王蓓, 琚春華, 章敏, 許翀寰, 陳庭貴 申請(qǐng)人:浙江工商大學(xué)