本發(fā)明涉及片上網(wǎng)絡(luò)技術(shù)領(lǐng)域。更具體地,涉及一種片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法。
背景技術(shù):
片上網(wǎng)絡(luò)(Network On Chip,NOC)以其在解決復(fù)雜SoC中多核間通信的可擴展性、能夠適應(yīng)超深亞微米工藝下較大的傳輸線延遲、較高的通信帶寬等優(yōu)點,在高性能多核芯片如通用芯片多處理器和專用系統(tǒng)芯片的設(shè)計中已經(jīng)成為主流的設(shè)計方法。
在片上網(wǎng)絡(luò)中,由于通信鏈路和網(wǎng)絡(luò)的輸入/輸出端口是帶寬受限的,并且真實應(yīng)用的流量負載分布有著天然的不均衡性,使得在網(wǎng)絡(luò)中發(fā)往某些NOC路由器或PE(Processing Element,處理單元)模塊的數(shù)據(jù)包速率有時候會高于這些模塊本身所能接收的最高速率,此時就會造成網(wǎng)絡(luò)擁塞。片上網(wǎng)絡(luò)的擁塞將導(dǎo)致網(wǎng)絡(luò)負載飽和、應(yīng)用吞吐量的下降、通信延時增加、系統(tǒng)性能的降低等問題。
源限流(source throttling control algorithm)是一種主要的片上網(wǎng)絡(luò)擁塞控制方法。其基本思路是在網(wǎng)絡(luò)擁塞時PE節(jié)點通過限制進入網(wǎng)絡(luò)的數(shù)據(jù)包數(shù)目來降低網(wǎng)絡(luò)負載,使得在不顯著降低應(yīng)用性能和網(wǎng)絡(luò)吞吐量的情況下就能有效降低擁塞,在網(wǎng)絡(luò)負載過高時可以有效降低通信延時和提升網(wǎng)絡(luò)性能。
在源限流系統(tǒng)中,限流系數(shù)的設(shè)置是十分的重要。限流系數(shù)的設(shè)置不當,容易產(chǎn)生過度限流(over throttling)或限流不足(under throttling)的問題,從而導(dǎo)致網(wǎng)絡(luò)性能下降。在網(wǎng)絡(luò)采取適應(yīng)性路由算法來傳遞數(shù)據(jù)包的情況下,路由過程對PE節(jié)點而言是一個黑盒,PE節(jié)點無法控制網(wǎng)絡(luò)的路由過程。這給精確設(shè)置限流系數(shù)產(chǎn)生了困難。如何利用網(wǎng)絡(luò)負載信息來精確地對限流系數(shù)進行量化,從而盡量避免過度限流或限流不足的問題,在現(xiàn)有技術(shù)中并沒有很好的解決方法。
因此,需要提供一種片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法。
為達到上述目的,本發(fā)明采用下述技術(shù)方案:
一種片上網(wǎng)絡(luò)限流系數(shù)的量化方法,包括如下步驟:
S1、源節(jié)點查找以該源節(jié)點和目標節(jié)點為對角線頂點的矩形RSD范圍內(nèi)該源節(jié)點至目標節(jié)點的路由中的所有瓶頸節(jié)點;
S2、源節(jié)點獲取瓶頸節(jié)點的擁塞值;
S3、源節(jié)點根據(jù)瓶頸節(jié)點的擁塞值計算得到限流系數(shù)。
優(yōu)選地,步驟S1包括如下子步驟:
S1.1、源節(jié)點計算RSD范圍內(nèi)該源節(jié)點至目標節(jié)點的路由中的每一個中間節(jié)點的正向路徑計數(shù)值和反向路徑計數(shù)值,標記出所有的可用中間節(jié)點;
S1.2、計算源節(jié)點對可用中間節(jié)點的貢獻值;
S1.3、將貢獻值最大的可用中間節(jié)點作為該源節(jié)點至目標節(jié)點的路由的瓶頸節(jié)點。
優(yōu)選地,步驟S1.1中標記出所有的可用中間節(jié)點的方法為:將所有的正向路徑計數(shù)值和反向路徑計數(shù)值均不為0的中間節(jié)點標記為可用中間節(jié)點。
優(yōu)選地,步驟S3的具體過程為:
S3.1、源節(jié)點將瓶頸節(jié)點(Xi,Yj)的擁塞值Conij與限流閾值TH進行比較,如果Conij>TH,則源節(jié)點需要進行限流,轉(zhuǎn)步驟S3.2;如果Conij≤TH,則源節(jié)點不需要進行限流,流程結(jié)束;
S3.2、源節(jié)點根據(jù)瓶頸節(jié)點的擁塞值計算得到瓶頸節(jié)點(Xi,Yj)對應(yīng)的限流系數(shù)αij,公式如下:
如果只有一個瓶頸節(jié)點,則該瓶頸節(jié)點對應(yīng)的限流系數(shù)就是源節(jié)點的限流系數(shù);如果存在多個瓶頸節(jié)點,則將各瓶頸節(jié)點對應(yīng)的限流系數(shù)的最大值作為源節(jié)點的限流系數(shù)。
本發(fā)明的有益效果如下:
本發(fā)明所述技術(shù)方案適用于以下場景:一是容錯且擁塞緩解的場景,此時將擁塞節(jié)點當做錯誤節(jié)點即可;二是多值表示擁塞值的場景。通過對不含擁塞節(jié)點的曼哈頓路徑的求解,找到網(wǎng)絡(luò)中的瓶頸節(jié)點,本發(fā)明所述技術(shù)方案易于實現(xiàn)、時間復(fù)雜度低,可精確確定片上網(wǎng)絡(luò)的限流系數(shù)。而且本發(fā)明所述技術(shù)方案是根據(jù)瓶頸節(jié)點對源節(jié)點進行限流,盡量避免飽和樹蔓延時才開始進行限流的情況,進而避免出現(xiàn)限流系數(shù)偏大或者偏小的問題導(dǎo)致的網(wǎng)絡(luò)吞吐量和網(wǎng)絡(luò)延時的震蕩。本發(fā)明所述技術(shù)方案對已經(jīng)形成的擁塞節(jié)點,可防止飽和樹的蔓延。
附圖說明
下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步詳細的說明。
圖1示出片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法的流程圖。
圖2示出計算中間節(jié)點正向路徑計數(shù)值的示意圖。
圖3示出計算中間節(jié)點反向路徑計數(shù)值的示意圖。
圖4示出源節(jié)點對可用中間節(jié)點的貢獻值的示意圖。
具體實施方式
為了更清楚地說明本發(fā)明,下面結(jié)合優(yōu)選實施例和附圖對本發(fā)明做進一步的說明。附圖中相似的部件以相同的附圖標記進行表示。本領(lǐng)域技術(shù)人員應(yīng)當理解,下面所具體描述的內(nèi)容是說明性的而非限制性的,不應(yīng)以此限制本發(fā)明的保護范圍。
根據(jù)片上網(wǎng)絡(luò)的負載狀況,片上網(wǎng)絡(luò)中的節(jié)點可以分為擁塞節(jié)點和非擁塞節(jié)點。由于片上網(wǎng)絡(luò)負載的分布有著天然的不均衡性,使得片上網(wǎng)絡(luò)中的某些節(jié)點接收到了過多的數(shù)據(jù)包,其處理能力遠低于數(shù)據(jù)包的接收速率,從而造成了擁塞,這樣的節(jié)點就是擁塞節(jié)點。片上網(wǎng)絡(luò)中的其他的處理能力和接收速率相適應(yīng)的節(jié)點就是非擁塞節(jié)點。片上網(wǎng)絡(luò)中節(jié)點擁塞與否的判斷標準是閾值TH,TH是一個大于1的自然數(shù),如果節(jié)點當前的擁塞值大于等于TH,則該節(jié)點處于擁塞狀態(tài),是擁塞節(jié)點。
擁塞節(jié)點可以分為兩類:目標節(jié)點和中間節(jié)點。在一對源節(jié)點和目標節(jié)點的通信過程中,如果源節(jié)點發(fā)送數(shù)據(jù)包的速率超出了目標節(jié)點的處理能力,那么目標節(jié)點將成為擁塞節(jié)點。如果源節(jié)點和目標節(jié)點的收/發(fā)數(shù)據(jù)包的速率相適應(yīng),則目標節(jié)點不會成為擁塞節(jié)點。片上網(wǎng)絡(luò)的中間節(jié)點成為擁塞節(jié)點的原因是:由于路由算法、網(wǎng)絡(luò)拓撲等原因?qū)е戮W(wǎng)絡(luò)流量集中在一些中間節(jié)點上,這也會導(dǎo)致這些中間節(jié)點成為擁塞節(jié)點。對目標節(jié)點的限流很簡單,直接在源節(jié)點采用與目標節(jié)點接收速率一致或少一些的速率來發(fā)送數(shù)據(jù)包即可。本發(fā)明公開的是面向擁塞的中間節(jié)點對源節(jié)點的限流系數(shù)進行量化的方法。
對于片上網(wǎng)絡(luò)中的任意一個節(jié)點而言,其擁塞值是片上網(wǎng)絡(luò)中多個不同的源節(jié)點所發(fā)出的數(shù)據(jù)包經(jīng)過不同路徑疊加到該節(jié)點所造成的,即其中Conij是節(jié)點(Xi,Yj)的擁塞值,PSmn為各源節(jié)點S(Xm,Yn)對節(jié)點(Xi,Yj)的貢獻值(貢獻值就是貢獻的數(shù)據(jù)包),M和N分別表示片上網(wǎng)絡(luò)的長和寬,i,m∈[1,M],j,n∈[1,N]。源節(jié)點S(Xm,Yn)對于不同的節(jié)點會傳遞不同數(shù)量的數(shù)據(jù)包,在整個網(wǎng)絡(luò)中通過各源節(jié)點S(Xm,Yn)產(chǎn)生的數(shù)據(jù)包的總和最多的中間節(jié)點就是影響整個片上網(wǎng)絡(luò)性能的片上網(wǎng)絡(luò)瓶頸節(jié)點。
本發(fā)明公開的片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法的基本思想是片上網(wǎng)絡(luò)中每一個源節(jié)點S根據(jù)該源節(jié)點S獲取的該源節(jié)點S至目標節(jié)點D的路徑中的瓶頸節(jié)點進行精確的限流。
如圖1所示,本發(fā)明公開的片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法包括如下步驟:
S1、源節(jié)點查找以該源節(jié)點和目標節(jié)點為對角線頂點的矩形RSD(Rectangle defined by‘Source’node and‘Destination’node)范圍內(nèi)該源節(jié)點至目標節(jié)點的路由中的所有瓶頸節(jié)點;
S2、源節(jié)點獲取瓶頸節(jié)點的擁塞值;
S3、源節(jié)點根據(jù)瓶頸節(jié)點的擁塞值計算得到限流系數(shù),從而根據(jù)限流系數(shù)進行精確限流,控制片上網(wǎng)絡(luò)的擁塞狀態(tài)。
其中,如果片上網(wǎng)絡(luò)中有多個源節(jié)點,則每一個源節(jié)點都執(zhí)行步驟S1至S3,得到各源節(jié)點自身的限流系數(shù),從而進行精確限流,控制片上網(wǎng)絡(luò)的擁塞狀態(tài)。對某個源節(jié)點來說,其獲取的擁塞節(jié)點不一定是瓶頸節(jié)點,所查找到的瓶頸節(jié)點也未必處于擁塞狀態(tài)。另外,一個中間節(jié)點可能是一個源節(jié)點的瓶頸節(jié)點,但未必是其它源節(jié)點的瓶頸節(jié)點。
步驟S1包括如下子步驟:
S1.1、源節(jié)點計算以該源節(jié)點和目標節(jié)點為對角線頂點的矩形RSD范圍內(nèi)該源節(jié)點至目標節(jié)點的路由中的每一個中間節(jié)點的正向路徑計數(shù)值和反向路徑計數(shù)值,標記出所有的可用中間節(jié)點;
S1.2、計算源節(jié)點對可用中間節(jié)點的貢獻值;
S1.3、源節(jié)點對可用中間節(jié)點按貢獻值由大到小進行排序,將貢獻值最大的可用中間節(jié)點作為該源節(jié)點至目標節(jié)點的路由的瓶頸節(jié)點。
步驟S1.1的具體過程為:
假設(shè)2D-mesh拓撲結(jié)構(gòu)片上網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模為M*N。(Xm,Yn)表示源節(jié)點,(Xk,Yh)表示目標節(jié)點,m,k∈[1,M],n,h∈[1,N]。假定(Xk,Yh)在(Xm,Yn)的X+、Y+方向。定義一個被(Xk,Yh)和(Xm,Yn)所決定的矩形(Rectangle defined by‘Source’node and‘Destination’node,RSD),其中(Xk,Yh)和(Xm,Yn)是RSD的對角線頂點,RSD的長和寬分別為Xk-Xm和Yh-Yn。RSD包含了從(Xm,Yn)到(Xk,Yh)的所有可能的曼哈頓路徑,則可通過求解不包含擁塞節(jié)點的曼哈頓路徑來查找瓶頸節(jié)點。
如果中間節(jié)點通過一跳就可以到達中間節(jié)點則稱是的前驅(qū)節(jié)點,是的后繼節(jié)點,且i2=i1+1∧j2=j(luò)1或i1=i2∧j2=j(luò)1+1。在片上網(wǎng)絡(luò)中,兩個節(jié)點之間的曼哈頓路徑中的中間節(jié)點的前驅(qū)節(jié)點和后繼節(jié)點的個數(shù)只能是0、1或2。
將從源節(jié)點(Xm,Yn)到目標節(jié)點(Xk,Yh)的、不包含擁塞節(jié)點的曼哈頓路徑簡稱為目標路徑。由于擁塞節(jié)點的存在,使得有些RSD范圍內(nèi)的中間節(jié)點并不包含在目標路徑中,這些節(jié)點分為無用中間節(jié)點和不可達中間節(jié)點。無用中間節(jié)點不能通過目標路徑向目標節(jié)點傳送接收到的數(shù)據(jù)包,不可達中間節(jié)點無法通過目標路徑接收到來自源節(jié)點的數(shù)據(jù)包。將擁塞節(jié)點看做是錯誤節(jié)點的話,這兩類節(jié)點的類似的概念在現(xiàn)有技術(shù)中均有公開,這里不再贅述。
求解從源節(jié)點(Xm,Yn)到目標節(jié)點(Xk,Yh)的目標路徑數(shù)的計算方法有兩種:正向路徑計數(shù)方法(Positive Path-Counter,P-PC)和反向路徑計數(shù)方法(Negative Path-Counter,N-PC)。正向路徑計數(shù)方法的定義為在RSD范圍內(nèi)從源節(jié)點(Xm,Yn)到當前中間節(jié)點(Xi,Yj)的所有目標路徑數(shù),用正向路徑計數(shù)值C(i,j)表示。如果源節(jié)點(Xm,Yn)不是一個擁塞節(jié)點,C(m,n)初始化設(shè)置為1,這表示源節(jié)點(Xm,Yn)到其自身的目標路徑數(shù)目是1;如果源節(jié)點(Xm,Yn)是一個擁塞節(jié)點,則C(m,n)初始化設(shè)置為0,這表示源節(jié)點(Xm,Yn)到其自身的目標路徑數(shù)目是0。反向路徑計數(shù)方法的定義為在RSD范圍內(nèi)從當前中間節(jié)點(Xi,Yj)到目標節(jié)點(Xk,Yh)的所有目標路徑數(shù),用反向路徑計數(shù)值C'(i,j)表示。如果目標節(jié)點(Xk,Yh)不是一個擁塞節(jié)點,C'(k,h)初始化設(shè)置為1,這表示目標節(jié)點(Xk,Yh)到其自身的目標路徑數(shù)目是1;如果目標節(jié)點(Xk,Yh)是一個擁塞節(jié)點,則C'(k,h)初始化設(shè)置為0,這表示目標節(jié)點(Xk,Yh)到其自身的目標路徑數(shù)目是0。
(Xk,Yh)在(Xm,Yn)的X+、Y+方向,(Xi,Yj)是RSD范圍內(nèi)的一個中間節(jié)點,則m≤i≤k,n≤j≤h,中間節(jié)點(Xi,Yj)的正向路徑計數(shù)值C(i,j)和反向路徑計數(shù)值C'(i,j)的定義為:
根據(jù)公式(1),按照遞推的順序即可求得各個中間節(jié)點的正向路徑計數(shù)值。利用正向路徑計數(shù)方法計算中間節(jié)點正向路徑計數(shù)值的詳細算法步驟如下:
S1.1.1、進行初始化操作:設(shè)j=n,如果(Xm,Yn)是擁塞節(jié)點,則C(m,n)=0,否則C(m,n)=1;
S1.1.2、設(shè)i=m,判斷j≤h是否成立,如果成立則轉(zhuǎn)入步驟S1.1.3,否則退出算法;
S1.1.3、判斷i≤k是否成立,如果成立則轉(zhuǎn)入步驟S1.1.4,否則轉(zhuǎn)入步驟S1.1.6;
S1.1.4、根據(jù)公式(1)計算C(i,j);
S1.1.5、i++,轉(zhuǎn)入步驟S1.1.3;
S1.1.6、j++,轉(zhuǎn)入步驟S1.1.2;
通過上述正向路徑計數(shù)方法即可求得各個中間節(jié)點的正向路徑計數(shù)值C(i,j)。
根據(jù)公式(2),按照遞推的順序即可求得各個中間節(jié)點的反向路徑計數(shù)值,利用反向路徑計數(shù)方法計算中間節(jié)點反向路徑計數(shù)值的詳細算法步驟如下:
S1.1.7、進行初始化操作:設(shè)j=h,如果(Xk,Yh)是擁塞節(jié)點,C'(k,h)=0,否則C'(k,h)=1;
S1.1.8、設(shè)i=k,判斷j≥n是否成立,如果成立則轉(zhuǎn)入步驟S1.1.9,否則退出算法;
S1.1.9、判斷i≥m是否成立,如果成立則轉(zhuǎn)入步驟S1.1.10,否則轉(zhuǎn)入步驟S1.1.11;
S1.1.10、根據(jù)公式(2)計算C'(i,j);
S1.1.11、i--,轉(zhuǎn)入步驟S1.1.9;
S1.1.12、j--,轉(zhuǎn)入步驟S1.1.8;
通過上述反向路徑計數(shù)方法即可求得各個中間節(jié)點的反向路徑計數(shù)值C'(i,j)。
其中正向路徑計數(shù)值C(i,j)的值為0的中間節(jié)點為無用中間節(jié)點,反向路徑計數(shù)值C'(i,j)值為0的中間節(jié)點為不可達中間節(jié)點。正向路徑計數(shù)值C(i,j)或反向路徑計數(shù)值C'(i,j)為0的中間節(jié)點即為不可用中間節(jié)點,正向路徑計數(shù)值C(i,j)和反向路徑計數(shù)值C'(i,j)均不為0的中間節(jié)點即為可用中間節(jié)點。目標路徑由可用中間節(jié)點組成。
步驟S1.2的具體過程為:
計算RSD范圍內(nèi)源節(jié)點對RSD范圍內(nèi)該源節(jié)點至目標節(jié)點的路由中的每一個可用中間節(jié)點的貢獻值,具體為:進行歸一化處理,源節(jié)點(Xm,Yn)有1份流量沿目標路徑傳送到目的節(jié)點(Xk,Yh)。設(shè)V(m,n)表示源節(jié)點所需傳達的流量的份數(shù),則V(i,j)表示當前可用中間節(jié)點(i,j)的貢獻值(貢獻值就是所需傳送的流量份數(shù))。貢獻值按照如下規(guī)則傳送:
通過公式(3)按照遞推的順序可以求出源節(jié)點對各個可用中間節(jié)點的貢獻值V(i,j),詳細的算法過程如下面的敘述:
S1.2.1、進行初始化操作:設(shè)i=m,V(m,n)=1;
S1.2.2、設(shè)j=n,判斷i≤k是否成立,如果成立則轉(zhuǎn)入步驟S1.2.3,否則退出算法;
S1.2.3、判斷j≤h是否成立,如果成立則轉(zhuǎn)入步驟S1.2.4,否則轉(zhuǎn)入步驟S1.2.6;
S1.2.4、根據(jù)公式(3)計算V(i,j);
S1.2.5、j++,轉(zhuǎn)入步驟S1.2.3;
S1.2.6、i++,轉(zhuǎn)入步驟S1.2.2;
這樣,就求出了源節(jié)點對各個可用中間節(jié)點的貢獻值V(i,j),在此基礎(chǔ)上,執(zhí)行步驟S1.3,步驟S1.3通過簡單的排序方法就可以找出除源節(jié)點和目的節(jié)點外的貢獻值V(i,j)最大(maxV(i,j))的可用中間節(jié)點,這個貢獻值最大的可用中間節(jié)點就是該源節(jié)點至目標節(jié)點的路由的瓶頸節(jié)點。
步驟S2中,源節(jié)點使用常用的網(wǎng)絡(luò)擁塞感知策略即可感知到瓶頸節(jié)點(Xi,Yj)的擁塞值Conij?,F(xiàn)有的擁塞感知策略很多,在此不再贅述。
步驟S3的具體過程為:
設(shè)定需要進行限流的限流閾值為TH。通過將瓶頸節(jié)點(Xi,Yj)的擁塞值Conij與限流閾值TH進行比較,判斷源節(jié)點是否進行限流,如果需要限流則計算限流系數(shù),具體步驟如下:
S3.1、源節(jié)點將瓶頸節(jié)點(Xi,Yj)的擁塞值Conij與限流閾值TH進行比較,如果Conij>TH,則源節(jié)點需要進行限流,轉(zhuǎn)步驟S3.2;如果Conij≤TH,則源節(jié)點不需要進行限流,流程結(jié)束;注意,在RSD范圍內(nèi)的非瓶頸節(jié)點的擁塞值即使大于閾值TH,也不根據(jù)其值判斷是否進行限流;
S3.2、源節(jié)點根據(jù)瓶頸節(jié)點的擁塞值計算得到瓶頸節(jié)點對應(yīng)的限流系數(shù),公式如下:
如果只有一個瓶頸節(jié)點,則該瓶頸節(jié)點對應(yīng)的限流系數(shù)就是源節(jié)點的限流系數(shù);如果存在多個瓶頸節(jié)點,則將各瓶頸節(jié)點對應(yīng)的限流系數(shù)的最大值作為源節(jié)點的限流系數(shù)。
這樣,就求得了源節(jié)點最終的精確的限流系數(shù)。
片上網(wǎng)絡(luò)中,其他源節(jié)點至目標節(jié)點的中間節(jié)點的限流系數(shù)的量化與上述過程相同。
下面將本發(fā)明公開的片上網(wǎng)絡(luò)限流系數(shù)的精確量化方法應(yīng)用于具體片上網(wǎng)絡(luò)對本發(fā)明做進一步地說明。
如圖2、圖3和圖4所示,2D-mesh片上網(wǎng)絡(luò)的網(wǎng)絡(luò)規(guī)模為8x8,節(jié)點(1,1)為源節(jié)點,節(jié)點(8.8)為目標節(jié)點。(8,8)在(1,1)的X+,Y+方向。5個擁塞節(jié)點分別為(6,1),(5,2),…,(2,5)。
圖2表示P-PC方法計算的各個節(jié)點的不含擁塞節(jié)點的最短路徑數(shù),各節(jié)點的結(jié)果已在圖中標示。每個中間節(jié)點的路徑數(shù)是從左到右,從上到下按順序求得的。對于源節(jié)點(1,1),因為它不是擁塞節(jié)點,所以初始化為1。接下來計算(2,1),根據(jù)公式(1),(2,1)不是擁塞節(jié)點且只有一個前驅(qū)節(jié)點(1,1),所以(2,1)的計算結(jié)果為1,同理(3,1),(4,1),(5,1)也是1。對于節(jié)點(6,1),因為它是擁塞節(jié)點所以根據(jù)公式(1)其計算結(jié)果是0。(7,1),(8,1)都是0.按照第一行,第二行,…,第八行的順序計算完第一列之后,按照同樣的順序計算第二列。(1,2)的計算結(jié)果為1,(2,2)因為有兩個前驅(qū)節(jié)點,計算結(jié)果為(1,2)和(2,1)和2。同理,計算余下的其他節(jié)點,直到最后一個節(jié)點(8,8),計算結(jié)果是568。這樣就以P-PC方法計算得到了該RSD范圍內(nèi)的各個節(jié)點的所有目標路徑數(shù)。
圖3表示N-PC方法計算的各個節(jié)點的不含擁塞節(jié)點的最短路徑數(shù),各節(jié)點的結(jié)果已在圖中標示。每個節(jié)點的路徑數(shù)是從底到頂,從右到左按順序求得的。對于(8,8)因為它不是擁塞節(jié)點,所以初始化為1。接下來計算(7,8),根據(jù)公式(2),(7,8)不是擁塞節(jié)點且只有一個前驅(qū)節(jié)點(8,8),所以(7,8)的計算結(jié)果為1,同理(6,8),(5,8),…,(1,8)也是1。計算完第一列之后,按照同樣的順序計算第二列。(8,7)的計算結(jié)果為1,(7,7)因為有兩個前驅(qū)節(jié)點,計算結(jié)果為(8,7)和(7,8)的和2。同理,計算余下的其他節(jié)點,如(4,4)因為是擁塞節(jié)點,根據(jù)公式(2)計算結(jié)果為0,…,直到最后一個節(jié)點(1,1),計算結(jié)果是568。這樣就以N-PC方法計算完了該RSD的各個節(jié)點的所有目標路徑數(shù)。
圖4中假定源節(jié)點(1,1)需要傳送1份流量(歸一化處理)到目標節(jié)點(8,8),兩節(jié)點所組成的RSD范圍內(nèi)的各中間節(jié)點所需傳送的數(shù)據(jù)包的數(shù)目。根據(jù)公式(3),從左往右,從上往下依次計算。(1,2)因為只有一個前驅(qū)節(jié)點且(1,1)有兩個可用的后繼節(jié)點,所以(1,2)的計算結(jié)果等于1/2=0.5,同理,(1,3)為0.25,(1,4)為0.125。(1,5)因為只有一個前驅(qū)節(jié)點且(1,4)有一個可用的后繼節(jié)點,所以(1,5)的計算結(jié)果為0.125。(1,6),…,(1,8),計算完第一行的數(shù)據(jù),然后依次計算第二行,…,第八行,得到圖4的結(jié)果。從圖4中我們可知,除源節(jié)點(1,1)和目的節(jié)點(8,8)外,(4,3),(5,3)的值最大,為0.875,將這兩個節(jié)點作為源節(jié)點(1,1)的瓶頸節(jié)點。同時,我們假定限流閾值為120,并且該兩個瓶頸節(jié)點此時的擁塞值都為150,則根據(jù)公式(4)可知,此狀態(tài)下該節(jié)點的限流系數(shù)α=1-120/150=0.2。最后求得源節(jié)點(1,1)的限流系數(shù)為0.2。
顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定,對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動,這里無法對所有的實施方式予以窮舉,凡是屬于本發(fā)明的技術(shù)方案所引伸出的顯而易見的變化或變動仍處于本發(fā)明的保護范圍之列。