專利名稱:Benes網(wǎng)絡(luò)及其變長(zhǎng)分組分發(fā)方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信系統(tǒng),尤其涉及一種Benes網(wǎng)絡(luò)及其變長(zhǎng)分組分發(fā)的方法及設(shè)備。
背景技術(shù):
Benes網(wǎng)絡(luò)是著名的多通路網(wǎng)絡(luò)。相當(dāng)于兩個(gè)Banyan網(wǎng)絡(luò)(Banyan網(wǎng)絡(luò)與反轉(zhuǎn)Banyan網(wǎng)絡(luò))的背對(duì)背相連,并將中間相鄰兩級(jí)合并為1級(jí)。由于每個(gè)Banyan網(wǎng)絡(luò)有l(wèi)og2N級(jí),因此Benes網(wǎng)絡(luò)共有2log2N-1級(jí)。每個(gè)交換單元同Banyan網(wǎng)絡(luò)中的交換單元一樣有直通和交叉兩種狀態(tài)。
Benes網(wǎng)絡(luò)的構(gòu)成也有一定的規(guī)律。使用2×2交換單元的N×NBenes網(wǎng)絡(luò)的構(gòu)成方法為兩側(cè)各有N/2個(gè)2×2交換單元,中間為兩個(gè)N/2×N/2的子網(wǎng)絡(luò),每個(gè)交換單元以一條鏈路連到每個(gè)子網(wǎng)絡(luò);再將中間子網(wǎng)絡(luò)按上述方法繼續(xù)分解,直到中間子網(wǎng)絡(luò)就是2×2交換單元為止。
可以用遞歸來定義一個(gè)N×N的Benes網(wǎng)絡(luò)。一個(gè)N×N的Benes網(wǎng)絡(luò)記作B(n),其中n=log2N。當(dāng)n=1時(shí),Benes網(wǎng)絡(luò)即B(1)就是一個(gè)基本的交換單元。當(dāng)n>1時(shí),在B(n)的中間,由兩個(gè)獨(dú)立的B(n-1)上下排列組成,記作B0(n-1)和B1(n-1)。在它們的兩邊加上第0級(jí)和第2n-2級(jí),而且,第0級(jí)的交換單元S(0,j)的上輸出連接B0(n-1),下輸出連接B1(n-1),第2n-2級(jí)的交換單元S(2n-2,j)的上輸入連接B0(n-1),下輸入連接B1(n-1)。這樣就構(gòu)成了N×N的Benes網(wǎng)。
在B(n)中,任意一對(duì)輸入端和輸出端之間,存在著2n-1條不同的路徑。在Banyan網(wǎng)絡(luò)中,任何一條入線與任何一條出線之間只存在一條通路,因此內(nèi)部可能出現(xiàn)阻塞(同一出線為目的地的數(shù)據(jù)包在整個(gè)交換結(jié)構(gòu)出線上的碰撞不算是交換結(jié)構(gòu)本身的阻塞),因?yàn)閿?shù)據(jù)包會(huì)在內(nèi)部競(jìng)爭(zhēng)同一條鏈路而造成數(shù)據(jù)包的丟失。Benes網(wǎng)絡(luò)由于每一對(duì)入線出線之間有多條的通路,可避免阻塞的發(fā)生,因此Benes結(jié)構(gòu)是一種可重排無阻塞(rearrangeably nonblocking)網(wǎng)絡(luò)??芍嘏艧o阻塞是指一條連接建立后,要想建立的連接而不造成阻塞,要對(duì)原來連接的重新選路。顧尚杰著的“一種基于Benes網(wǎng)的自選路無阻塞置換網(wǎng)絡(luò)”,上海交通大學(xué)學(xué)報(bào),1994年,03期,28卷80-88中分析了Benes網(wǎng)絡(luò)不出現(xiàn)阻塞的條件。
Benes網(wǎng)絡(luò)是一種動(dòng)態(tài)多級(jí)網(wǎng)絡(luò),現(xiàn)有技術(shù)中,若把變長(zhǎng)的數(shù)據(jù)包切割成定長(zhǎng)的信元進(jìn)入交換網(wǎng)絡(luò),則同一個(gè)數(shù)據(jù)包的不同信元的路徑不同。由于Benes的交換單元內(nèi)設(shè)有緩存,各個(gè)緩存隊(duì)列長(zhǎng)度不一致,因此這些經(jīng)過不同路徑到達(dá)輸出端口的信元時(shí)延不同,后進(jìn)入交換結(jié)構(gòu)的信元可能先到達(dá)輸出端口,造成同一數(shù)據(jù)包的不同信元的亂序。因此,定長(zhǎng)交換時(shí)在輸出端口要對(duì)信元進(jìn)行重排序。若是采用變長(zhǎng)分組直接交換,雖然也有可能造成同一業(yè)務(wù)流(我們定義具有相同輸入和輸出端口的分組為同一業(yè)務(wù)流)分組的亂序,但是,重排序的規(guī)模變小了。
分組重排序機(jī)制由兩部分組成一部分是位于交換網(wǎng)絡(luò)輸入端口的分組序列號(hào)生成器,它為每個(gè)分組添加一個(gè)序列號(hào),作為重排序的依據(jù);另一部分是位于交換網(wǎng)絡(luò)輸出端的重排序機(jī),它根據(jù)收到分組的序列號(hào),將分組流重新排序,再按其序列號(hào)逐一輸出分組。
由于Benes的每個(gè)基本的交換單元內(nèi)設(shè)有緩存,因此為了保證交換單元內(nèi)部的緩存不溢出數(shù)據(jù)包,還必須考慮Benes內(nèi)部的反壓機(jī)制。在Benes網(wǎng)絡(luò)結(jié)構(gòu)中,可以采用局部反壓機(jī)制,也就是后一級(jí)只向前一級(jí)發(fā)送反壓信號(hào)。SapountzisG,Katevenis M.Benes switching fabrics with O(N)-complexity internalbackpressure.IEEE Communications Magazine2005,Volume43,Issue1,Page88-94一文中提到了一種基于信譽(yù)度的局部反壓機(jī)制前一級(jí)為每個(gè)業(yè)務(wù)流保持一個(gè)信譽(yù)度的計(jì)數(shù)器,用來標(biāo)識(shí)在下一級(jí)發(fā)送反壓信號(hào)前,前一級(jí)允許發(fā)送的流量。當(dāng)前一級(jí)發(fā)送超過這個(gè)流量時(shí),停止發(fā)送,等待反壓信號(hào)發(fā)送回下次發(fā)送的信譽(yù)度值。
以8×8的Benes網(wǎng)絡(luò)為例,8×8的Benes網(wǎng)絡(luò)共有5級(jí),前兩級(jí)是分發(fā)網(wǎng)絡(luò),后三級(jí)是路由網(wǎng)絡(luò)。前兩級(jí)所起的作用就是負(fù)載均衡。所謂的均衡,就是把相同的業(yè)務(wù)流(具有相同源地址和目的地址的分組)盡量平均分配到中間一級(jí)的各條鏈路上,也就是從路由網(wǎng)的8個(gè)端口進(jìn)入路由網(wǎng)的業(yè)務(wù)流盡量均勻。選擇恰當(dāng)?shù)姆职l(fā)算法,可以使Benes網(wǎng)絡(luò)不發(fā)生阻塞。
基于定長(zhǎng)分組交換的Benes網(wǎng)絡(luò),已經(jīng)有很多的分發(fā)算法隨機(jī)分發(fā)、輪循分發(fā)等,這些算法可以使得到達(dá)路由網(wǎng)的定長(zhǎng)信分組(或信元)負(fù)載均衡。這些定長(zhǎng)分組的分發(fā)算法在定長(zhǎng)分組的分發(fā)中,可以達(dá)到比較好的負(fù)載均衡結(jié)果。
但是對(duì)于變長(zhǎng)分組交換,由于每個(gè)分組的長(zhǎng)度不同,用于定長(zhǎng)分組分發(fā)的算法不能用在變長(zhǎng)分組的分發(fā)中。
因此,現(xiàn)有技術(shù)中還沒有針對(duì)基于業(yè)務(wù)流的變長(zhǎng)分組在Benes網(wǎng)絡(luò)中分發(fā)的技術(shù)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例所要解決的技術(shù)問題在于,提供一種Benes網(wǎng)絡(luò)及其變長(zhǎng)分組的分發(fā)方法及設(shè)備,用以解決現(xiàn)有技術(shù)中變長(zhǎng)分組無法在Benes網(wǎng)絡(luò)中達(dá)到負(fù)載均衡的技術(shù)問題。
一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,所述Benes網(wǎng)絡(luò)的交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述方法包括A、所述變長(zhǎng)分組自所述第一輸入端口或第二輸入端口進(jìn)入所述交換單元;B、所述交換單元根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出。
一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元,該交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述交換單元還包括根據(jù)自第一輸入端口或第二輸出端口輸入的變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出的分發(fā)調(diào)度器。
一種Benes網(wǎng)絡(luò),包括彼此相連接的分發(fā)網(wǎng)絡(luò)和路由網(wǎng)絡(luò),所述分發(fā)網(wǎng)絡(luò)的包括多個(gè)交換單元,該交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述交換單元還包括根據(jù)自第一輸入端口或第二輸出端口輸入的變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出的分發(fā)調(diào)度器。
上述Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,通過對(duì)業(yè)務(wù)流的流量進(jìn)行計(jì)數(shù),這樣每個(gè)業(yè)務(wù)流進(jìn)入路由網(wǎng)時(shí)可以根據(jù)計(jì)數(shù)結(jié)果,判斷是應(yīng)該輸出到哪條輸出鏈路合理,因此可將分組均勻的分布到各條輸出鏈路上。又由于通過計(jì)數(shù),可以確知變長(zhǎng)分組的長(zhǎng)度,而根據(jù)該長(zhǎng)度(具體反應(yīng)在計(jì)數(shù)結(jié)果上)就可以均衡分布該變長(zhǎng)分組。因此,通過提供了變長(zhǎng)分組在Benes網(wǎng)絡(luò)中的負(fù)載均衡機(jī)制,解決了現(xiàn)有技術(shù)中對(duì)變長(zhǎng)分組無法利用定長(zhǎng)分組算法解決負(fù)載均衡的技術(shù)問題。因此,如果某個(gè)業(yè)務(wù)流的流量很大,利用Benes網(wǎng)絡(luò)的多路徑性,將會(huì)減少該業(yè)務(wù)流阻塞的發(fā)生。
上述Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元由于設(shè)置了分發(fā)調(diào)度器,通過對(duì)業(yè)務(wù)流的流量進(jìn)行計(jì)數(shù),這樣每個(gè)業(yè)務(wù)流進(jìn)入路由網(wǎng)時(shí)可以根據(jù)計(jì)數(shù)結(jié)果,判斷是應(yīng)該輸出到哪條輸出鏈路合理,因此可將分組均勻的分布到各條輸出鏈路上。又由于通過計(jì)數(shù),可以確知變長(zhǎng)分組的長(zhǎng)度,而根據(jù)該長(zhǎng)度(具體反應(yīng)在計(jì)數(shù)結(jié)果上)就可以均衡分布該變長(zhǎng)分組。因此,利用交換單元使得Benes網(wǎng)絡(luò)具有多路徑性,將會(huì)減少業(yè)務(wù)流阻塞的發(fā)生。
上述Benes網(wǎng)絡(luò)中采用了交換單元,從而具備了多路徑性,減少業(yè)務(wù)阻塞的發(fā)生。
圖1為本發(fā)明一種Benes網(wǎng)絡(luò)的一個(gè)具體實(shí)施例的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為基于圖1的Benes網(wǎng)絡(luò)的一個(gè)業(yè)務(wù)流的多條路徑示意圖;圖3為圖1中的Benes網(wǎng)絡(luò)的分發(fā)網(wǎng)絡(luò)中的交換單元的一個(gè)優(yōu)選實(shí)施例的結(jié)構(gòu)圖;圖4為本發(fā)明一種Benes網(wǎng)絡(luò)中變長(zhǎng)分組的分發(fā)方法的一個(gè)優(yōu)選實(shí)施例的流程圖;圖5為本發(fā)明一種Benes網(wǎng)絡(luò)中變長(zhǎng)分組的分發(fā)方法的一個(gè)優(yōu)選實(shí)施例中的DRR調(diào)度流程圖。
具體實(shí)施例方式
參考圖1,圖示了根據(jù)本發(fā)明實(shí)施例的一種Benes網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)。如圖所示,Benes網(wǎng)絡(luò)10包括分發(fā)網(wǎng)絡(luò)和路由網(wǎng)絡(luò)。在本實(shí)施例中,是由多個(gè)(圖中為20個(gè))2×2交換單元100構(gòu)成的8×8Benes網(wǎng)絡(luò),共分為5級(jí),其中,前2級(jí)是分發(fā)網(wǎng)絡(luò),后3級(jí)是路由網(wǎng)絡(luò)。所述Benes網(wǎng)絡(luò)10包括8個(gè)輸入端口和8個(gè)輸出端口,因此稱為8×8Benes網(wǎng)絡(luò);每個(gè)交換單元100包括2個(gè)輸入端口和2個(gè)輸出端口,因此稱為2×2交換單元。
參考圖2,在輸入端口2和輸出端口5之間存在如圖2所示的4條路徑,將自輸入端口2和輸出端口5之間的傳輸?shù)臄?shù)據(jù)包(分組或信元)流稱為業(yè)務(wù)流,可以記作P(2,5)。推而廣之,自輸入端口i到輸出端口j的業(yè)務(wù)流可以記作P(i,j)。本發(fā)明中,分組的長(zhǎng)度都是變化的,不是定長(zhǎng)。因此,對(duì)于Benes網(wǎng)絡(luò)10的分發(fā)網(wǎng)而言,就是基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)。具體處理分發(fā)的就是交換單元100。本發(fā)明實(shí)施例提供的分發(fā)方法就是由交換單元100來實(shí)現(xiàn)的,本發(fā)明實(shí)施例提供的交換單元100就是用來實(shí)現(xiàn)所述分發(fā)方法的。
參考圖3,圖示了圖1中的Benes網(wǎng)絡(luò)的分發(fā)網(wǎng)絡(luò)中的交換單元的一個(gè)優(yōu)選實(shí)施例的結(jié)構(gòu)。如圖所示,所述交換單元100包括有兩個(gè)輸入端口第一輸入端口和第二輸入端口,和兩個(gè)輸出端口第一輸出端口和第二輸出端口。所述變長(zhǎng)分組自第一輸入端口或者第二輸入端口進(jìn)入交換單元100中。如圖所示,如果自第一輸入端口進(jìn)入則進(jìn)入分發(fā)調(diào)度器1中,如果自第二輸入端口進(jìn)入則進(jìn)入分發(fā)調(diào)度器2中。所述分發(fā)調(diào)度器1和分發(fā)調(diào)度器2中執(zhí)行同樣的分發(fā)方法。
下面結(jié)合圖3和圖4,以長(zhǎng)度為X的變長(zhǎng)分組進(jìn)入第一輸入端口為例,詳細(xì)說明本發(fā)明提供的Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法。參考圖4,圖示了本發(fā)明提供的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法的一個(gè)優(yōu)選實(shí)施例的流程。如圖所示,所述方法包括步驟410所在業(yè)務(wù)流為P(I,J)的、長(zhǎng)度為X的變長(zhǎng)分組自交換單元100的第一輸入端口進(jìn)入交換單元,由分發(fā)調(diào)度器1負(fù)責(zé)分發(fā);其中,業(yè)務(wù)流P(I,J)是指自Benes網(wǎng)絡(luò)10的輸入端口I到輸出端口J的數(shù)據(jù)包(分組或信元)流,分發(fā)調(diào)度器1中為每個(gè)業(yè)務(wù)流都相應(yīng)的設(shè)置了計(jì)數(shù)器L1(I,J),用于作為均衡調(diào)度的基準(zhǔn),其初始值為0;步驟420判斷計(jì)數(shù)器L1(I,J)的值,如果L1(I,J)>0,即第一結(jié)果,對(duì)應(yīng)的進(jìn)入步驟430;如果L1(I,J)=0,即第三結(jié)果,對(duì)應(yīng)的進(jìn)入步驟440;如果L1(I,J)<0,即第二結(jié)果,對(duì)應(yīng)的進(jìn)入步驟450;步驟430將所述變長(zhǎng)分組發(fā)送到第二輸出端口輸出,同時(shí),L1(I,J)=L1(I,J)-X,即在L1(I,J)中減去變長(zhǎng)分組的長(zhǎng)度;步驟440隨機(jī)選擇將變長(zhǎng)分組發(fā)送的第一輸出端口或第二輸出端口輸出,同時(shí),如果在第一輸出端口輸出的,則L1(I,J)=L1(I,J)+X,如果在第二輸出端口輸出的,則L1(I,J)=L1(I,J)-X;步驟450將所述變長(zhǎng)分組發(fā)送到第一輸出端口輸出,同時(shí),L1(I,J)=L1(I,J)+X,即在L1(I,J)中加上變長(zhǎng)分組的長(zhǎng)度。
由上可以看出,本發(fā)明實(shí)施例提供的這種方法以計(jì)數(shù)器L1(I,J)的值0為基點(diǎn),對(duì)于當(dāng)計(jì)數(shù)器L1(I,J)的值超過這個(gè)基點(diǎn)時(shí),則在第二輸出端口輸出,同時(shí)在該計(jì)數(shù)器中減去變長(zhǎng)分組的長(zhǎng)度;相反,當(dāng)計(jì)數(shù)器L1(I,J)的值不足這個(gè)基點(diǎn)時(shí),則在第一輸出端口輸出,同時(shí)在該計(jì)數(shù)器中加上變長(zhǎng)分組的長(zhǎng)度;而當(dāng)計(jì)數(shù)器L1(I,J)的值正好等于此基點(diǎn)時(shí),則會(huì)隨機(jī)選擇輸出端口,同時(shí)根據(jù)選擇做相應(yīng)的加減操作。也即是說,將第一輸出端口關(guān)聯(lián)計(jì)數(shù)器的負(fù)值,第二輸出端口關(guān)聯(lián)計(jì)數(shù)器的正值,同時(shí)在輸出后對(duì)計(jì)數(shù)器作相應(yīng)的相反操作,即對(duì)第二輸出端口作相減操作,對(duì)第一輸出端口作相加操作。如此一來,計(jì)數(shù)器的值將會(huì)以0點(diǎn)(即基點(diǎn))為基準(zhǔn)上下震蕩,而變長(zhǎng)分組也會(huì)在第一輸出端口和第二輸出端口之間不斷變化的輸出,如此即可實(shí)現(xiàn)變長(zhǎng)分組均衡負(fù)載在第一輸出端口和第二輸出端口上。
也即是說,所述交換單元根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出,從而實(shí)現(xiàn)的均衡負(fù)載。
值得注意的是,也可以將第一輸出端口關(guān)聯(lián)正值,第二輸出端口關(guān)聯(lián)負(fù)值,而基點(diǎn)也可以選擇0以外的值。也即是說,只要是能夠?qū)崿F(xiàn)在一確定基點(diǎn)周圍作震蕩輸出即可。
如果變長(zhǎng)分組自第二輸入端口進(jìn)入交換單元,同樣執(zhí)行上述操作,即分發(fā)調(diào)度器2與分發(fā)調(diào)度器1執(zhí)行相同的分發(fā)操作。
在本發(fā)明的交換單元的一個(gè)優(yōu)選實(shí)施例中,針對(duì)每個(gè)分發(fā)調(diào)度器,都對(duì)應(yīng)著兩個(gè)虛擬輸入隊(duì)列(VIQ,Virtual Input Queue),即緩存裝置。如圖3所示,虛擬輸入隊(duì)列11是分發(fā)調(diào)度器1分發(fā)到第一輸出端口的分組的緩存隊(duì)列;虛擬輸入隊(duì)列12是分發(fā)調(diào)度器1分發(fā)到第二輸出端口的分組的緩存隊(duì)列;虛擬輸入隊(duì)列21是分發(fā)調(diào)度器2分發(fā)到第一輸出端口的分組的緩存隊(duì)列;虛擬輸入隊(duì)列22是分發(fā)調(diào)度器2分發(fā)到第二輸出端口的分組的緩存隊(duì)列。數(shù)據(jù)包(分組或信元)通過交換單元時(shí),如果沒有其他數(shù)據(jù)包和該數(shù)據(jù)包競(jìng)爭(zhēng)同一輸出端口,并且該數(shù)據(jù)包前面沒有數(shù)據(jù)包占據(jù)緩存隊(duì)列,不對(duì)該數(shù)據(jù)包進(jìn)行緩存,而使其直接通過交換單元,即對(duì)該數(shù)據(jù)包實(shí)行cut-through(切入直通)操作。否則對(duì)該數(shù)據(jù)包進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)。
在本發(fā)明的交換單元的一個(gè)優(yōu)選實(shí)施例中,針對(duì)每個(gè)分發(fā)調(diào)度器,都對(duì)應(yīng)著一個(gè)基于輪詢的調(diào)度裝置。如圖3所示,對(duì)應(yīng)分發(fā)調(diào)度器1的是DRR(DeficitRound Robin,差額輪詢)調(diào)度器1;對(duì)應(yīng)分發(fā)調(diào)度器2的是DRR調(diào)度器2。在DRR調(diào)度器中,每個(gè)服務(wù)隊(duì)列都有一個(gè)與之相關(guān)聯(lián)的量子(quantum)值和差額(deficit)計(jì)數(shù)器。前者為每一輪獲得服務(wù)的平均字節(jié)數(shù),后者則被初始化為前者的值,依此為每個(gè)非空隊(duì)列服務(wù)。每輪調(diào)度的字節(jié)數(shù)原則上等于量子值。只要差額計(jì)數(shù)器大于零,服務(wù)隊(duì)列便獲得服務(wù);分組獲得服務(wù)后,差額計(jì)數(shù)器將減去該分組的字節(jié)數(shù)。當(dāng)差額計(jì)數(shù)器不大于零時(shí),隊(duì)列不獲得服務(wù)。每當(dāng)新一輪開始時(shí),所有非空隊(duì)列的差額計(jì)數(shù)器都將增加其量子值。這樣,通過給不同的隊(duì)列設(shè)置不同的量子值可以支持不同的預(yù)約帶寬。應(yīng)用DRR調(diào)度算法可以避免由不同的隊(duì)列使用不同長(zhǎng)度的分組引起的不公平。下面對(duì)DRR調(diào)度算法舉例說明。
假設(shè)量子quantum=2000Byte,在第一個(gè)VOQ(虛擬輸出隊(duì)列)中的數(shù)據(jù)包的長(zhǎng)度依次為L(zhǎng)1=200Byte,L2=800Byte,L3=400Byte,L4=500Byte,L5=300Byte。設(shè)差額deficit的初始值為2000Byte。由于quantum為2000Byte,即一次調(diào)度最大的包長(zhǎng)為2000,因此,第一次調(diào)度只能調(diào)度前4個(gè)數(shù)據(jù)包(總長(zhǎng)度為1900Byte),deficit為2000-1900=100Byte。接著調(diào)度第二個(gè)VOQ,第三個(gè)VOQ,一直輪循下去。當(dāng)下一次調(diào)度第一個(gè)VOQ時(shí)deficit的值為2000+100=2100Byte,(如果第一個(gè)隊(duì)列中沒有數(shù)據(jù)包,則deficit的值保持100Byte不變)。DRR調(diào)度流程見圖5DRR調(diào)度開始后首先查看上一次的調(diào)度的隊(duì)列;然后按照輪詢方式查詢下一個(gè)隊(duì)列;接著通過deficit值來計(jì)算本次調(diào)度的數(shù)據(jù)包的個(gè)數(shù);然后判斷相應(yīng)的中間節(jié)點(diǎn)是否有足夠的存儲(chǔ)空間,如果是則選擇此VOQ的數(shù)據(jù)包進(jìn)行調(diào)度,否則返回到查詢下一個(gè)隊(duì)列處;然后計(jì)算本次調(diào)度后該VOQ的deficit值,計(jì)算完畢后DRR調(diào)度結(jié)束。
以上所揭露的僅為本發(fā)明實(shí)施例的較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,所述Benes網(wǎng)絡(luò)的交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述方法包括A、所述變長(zhǎng)分組自所述第一輸入端口或第二輸入端口進(jìn)入所述交換單元;B、所述交換單元根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出。
2.如權(quán)利要求1所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,其特征在于,步驟B包括所述交換單元根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果,以一基點(diǎn)為準(zhǔn),如果所述計(jì)數(shù)結(jié)果大于該基點(diǎn)則將所述變長(zhǎng)分組發(fā)送至第一輸出端口或第二輸出端口,同時(shí)從計(jì)數(shù)結(jié)果中減去所述變長(zhǎng)分組的長(zhǎng)度;如果所述計(jì)數(shù)結(jié)果小于所述基點(diǎn)則將所述變長(zhǎng)分組發(fā)送至第二輸出端口或第一輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中加上所述變長(zhǎng)分組的長(zhǎng)度;如果所述計(jì)數(shù)結(jié)果等于所述基點(diǎn),則將所述變長(zhǎng)分組隨機(jī)選擇或指定發(fā)送至第一輸出端口或第二輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中減去或加上所述變長(zhǎng)分組的長(zhǎng)度。
3.如權(quán)利要求1或2所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,其特征在于,在將所述變長(zhǎng)分組輸出前還包括將所述變長(zhǎng)分組緩存在所述交換單元中的步驟。
4.如權(quán)利要求3所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,其特征在于,在所述緩存之后輸出之前還包括針對(duì)所述變長(zhǎng)分組的基于差額輪詢的調(diào)度步驟。
5.一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元,該交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述交換單元還包括根據(jù)自第一輸入端口或第二輸出端口輸入的變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出的分發(fā)調(diào)度器。
6.如權(quán)利要求5所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元,其特征在于,所述分發(fā)調(diào)度器包括根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果,以一基點(diǎn)為準(zhǔn),判斷如果所述計(jì)數(shù)結(jié)果大于該基點(diǎn)則產(chǎn)生第一結(jié)果,小于所述基點(diǎn)則產(chǎn)生第二結(jié)果,等于所述基點(diǎn)則產(chǎn)生第三結(jié)果的判斷裝置;與所述第一結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組發(fā)送至第一輸出端口或第二輸出端口,同時(shí)從計(jì)數(shù)結(jié)果中減去所述變長(zhǎng)分組的長(zhǎng)度的第一發(fā)送裝置;與所述第二結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組發(fā)送至第二輸出端口或第一輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中加上所述變長(zhǎng)分組的長(zhǎng)度的第二發(fā)送裝置;與所述第三結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組隨機(jī)選擇或指定發(fā)送至第一輸出端口或第二輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中減去或加上所述變長(zhǎng)分組的長(zhǎng)度的第三發(fā)送裝置。
7.如權(quán)利要求5或6所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元,其特征在于,還包括將所述變長(zhǎng)分組輸出前緩存在所述交換單元中緩存裝置。
8.如權(quán)利要求7所述的一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元,其特征在于,還包括在所述變長(zhǎng)分組緩存之后輸出之前針對(duì)所述變長(zhǎng)分組的基于差額輪詢的調(diào)度裝置。
9.一種Benes網(wǎng)絡(luò),包括彼此相連接的分發(fā)網(wǎng)絡(luò)和路由網(wǎng)絡(luò),所述分發(fā)網(wǎng)絡(luò)的包括多個(gè)交換單元,該交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,其特征在于,所述交換單元還包括根據(jù)自第一輸入端口或第二輸出端口輸入的變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出的分發(fā)調(diào)度器。
10.如權(quán)利要求9所述的一種Benes網(wǎng)絡(luò),其特征在于,所述分發(fā)調(diào)度器包括根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果,以一基點(diǎn)為準(zhǔn),判斷如果所述計(jì)數(shù)結(jié)果大于該基點(diǎn)則產(chǎn)生第一結(jié)果,小于所述基點(diǎn)則產(chǎn)生第二結(jié)果,等于所述基點(diǎn)則產(chǎn)生第三結(jié)果的判斷裝置;與所述第一結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組發(fā)送至第一輸出端口或第二輸出端口,同時(shí)從計(jì)數(shù)結(jié)果中減去所述變長(zhǎng)分組的長(zhǎng)度的第一發(fā)送裝置;與所述第二結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組發(fā)送至第二輸出端口或第一輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中加上所述變長(zhǎng)分組的長(zhǎng)度的第二發(fā)送裝置;與所述第三結(jié)果相對(duì)應(yīng)的將所述變長(zhǎng)分組隨機(jī)選擇或指定發(fā)送至第一輸出端口或第二輸出端口,同時(shí)在計(jì)數(shù)結(jié)果中減去或加上所述變長(zhǎng)分組的長(zhǎng)度的第三發(fā)送裝置。
11.如權(quán)利要求9或10所述的一種Benes網(wǎng)絡(luò),其特征在于,還包括將所述變長(zhǎng)分組輸出前緩存在所述交換單元中緩存裝置。
12.如權(quán)利要求11所述的一種Benes網(wǎng)絡(luò),其特征在于,還包括在所述變長(zhǎng)分組緩存之后輸出之前針對(duì)所述變長(zhǎng)分組的基于差額輪詢的調(diào)度裝置。
全文摘要
本發(fā)明公開了一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)方法,所述Benes網(wǎng)絡(luò)的交換單元具有第一輸入端口、第二輸入端口、第一輸出端口和第二輸出端口,所述方法包括A.所述變長(zhǎng)分組自所述第一輸入端口或第二輸入端口進(jìn)入所述交換單元;B.所述交換單元根據(jù)所述變長(zhǎng)分組的業(yè)務(wù)流計(jì)數(shù)結(jié)果將所述變長(zhǎng)分組均衡分配在第一輸出端口或第二輸出端口上輸出。本發(fā)明還公開了一種Benes網(wǎng)絡(luò)中基于業(yè)務(wù)流的變長(zhǎng)分組分發(fā)的交換單元及Benes網(wǎng)絡(luò)??蓪?shí)現(xiàn)將變長(zhǎng)分組分發(fā)并均衡負(fù)載在第一輸出端口和第二輸出端口上輸出,避免了阻塞現(xiàn)象的發(fā)生。
文檔編號(hào)H04L12/28GK101014012SQ200710026698
公開日2007年8月8日 申請(qǐng)日期2007年2月2日 優(yōu)先權(quán)日2007年2月2日
發(fā)明者涂曉東, 蘭立志, 張榮偉, 王凱 申請(qǐng)人:華為技術(shù)有限公司, 電子科技大學(xué)