專利名稱:平滑輪轉(zhuǎn)分組調(diào)度控制方法及控制裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是一種平滑輪轉(zhuǎn)(Smoothed Round Robin,簡(jiǎn)稱SRR)分組調(diào)度控制方法及控制裝置。屬于計(jì)算機(jī)網(wǎng)絡(luò)中的分組交換技術(shù)領(lǐng)域。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù),特別是因特網(wǎng)的飛速發(fā)展,由一種單一的網(wǎng)絡(luò)基礎(chǔ)設(shè)施來取代目前的電話網(wǎng)、專用分組網(wǎng)、電報(bào)網(wǎng)、有線電視網(wǎng)等網(wǎng)絡(luò)并提供人們所需要的各種各樣的業(yè)務(wù)一直是學(xué)術(shù)界及工業(yè)界所關(guān)心的熱點(diǎn)問題。由于現(xiàn)在因特網(wǎng)是占統(tǒng)治地位的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,因此人們希望由因特網(wǎng)來實(shí)現(xiàn)所有網(wǎng)絡(luò)的綜合。但在目前基于IP(Internet Protocol)技術(shù)的因特網(wǎng)還無法勝任這一工作。這主要是由于現(xiàn)在的因特網(wǎng)還不能提供服務(wù)質(zhì)量保障。與電路交換技術(shù)相比,IP技術(shù)是一種基于無連接的技術(shù),在端到端之間沒有固定的電路連接,分組作為網(wǎng)絡(luò)處理的基本單元帶有源,目的地址及相關(guān)信息,并由各個(gè)轉(zhuǎn)接點(diǎn)獨(dú)立決定分組傳送的下一站。傳統(tǒng)的基于IP技術(shù)的路由器僅提供盡全力型服務(wù),因此分組的傳輸次序、帶寬、時(shí)延、抖動(dòng)都是無法保證的。在因特網(wǎng)的初始的設(shè)計(jì)中,把網(wǎng)絡(luò)互連放在了首位,并且當(dāng)時(shí)的設(shè)計(jì)主要針對(duì)的是實(shí)時(shí)性要求不強(qiáng)的數(shù)據(jù)業(yè)務(wù)。
為了在因特網(wǎng)上引入服務(wù)質(zhì)量保障,有必要對(duì)需求不同的業(yè)務(wù)及用戶進(jìn)行區(qū)分,并向他們提供不同水平的服務(wù)。向不同類型的業(yè)務(wù)及用戶提供不同的服務(wù)質(zhì)量在分組網(wǎng)上的交換機(jī)(或路由器)中是通過分組調(diào)度控制器來實(shí)現(xiàn)的。在目前有多種不現(xiàn)的分組調(diào)度器的實(shí)現(xiàn),分別有一些優(yōu)缺點(diǎn)。如基于WFQ(Weighted Fair Queueing)的分組調(diào)度器能對(duì)不同的業(yè)務(wù)及用戶進(jìn)行很好的區(qū)分。在這種調(diào)度器下,用戶的端到端的時(shí)延特性能得到很好的保障,而且這種調(diào)度器能公平地對(duì)待所有的用戶,但這種調(diào)度器的最大的缺點(diǎn)在于它的時(shí)間復(fù)雜性隨著用戶的數(shù)目的增加而線性的增加。當(dāng)用戶的數(shù)目變得很大時(shí),這種調(diào)度器就變得不實(shí)用了。在WFQ調(diào)度器的基礎(chǔ)上發(fā)展起來的其它的調(diào)度器的調(diào)度時(shí)間復(fù)雜性至少隨著用戶數(shù)的增加而對(duì)數(shù)增加,這類調(diào)度器在高速情況下都變得不實(shí)用。另一個(gè)基于輪轉(zhuǎn)的調(diào)度器如DRR(Deficit Round Robin)調(diào)度器雖然時(shí)間復(fù)雜性不隨用戶數(shù)的增加而增加,但是它們對(duì)不同的用戶的隔離程度不夠好,各個(gè)用戶間能互相影響,因此這類調(diào)度器的時(shí)延特性都很差,不能用于各種類型的實(shí)時(shí)業(yè)務(wù)及交互式業(yè)務(wù)。
發(fā)明內(nèi)容
本發(fā)明的目的就是提供一種對(duì)不同的用戶進(jìn)行很好隔離,使所有的用戶均分別能得到相應(yīng)的服務(wù)質(zhì)量,能提供較好的時(shí)延特性保障,使各種實(shí)時(shí)性強(qiáng)的應(yīng)用的端到端的傳輸時(shí)延控制在一個(gè)可接受的范圍的平滑輪轉(zhuǎn)分組調(diào)度控制方法及控制裝置。
本發(fā)明的平滑輪轉(zhuǎn)分組調(diào)度控制方法由權(quán)重展開序列掃描器,權(quán)重矩陣管理器,隊(duì)列管理器三個(gè)部分所組成。隊(duì)列管理器利用權(quán)重展開序列掃描器的輸出值來確定權(quán)重矩陣管理器中的權(quán)重矩陣的一個(gè)確定的列,并對(duì)這一列從上到下進(jìn)行掃描。當(dāng)掃描到權(quán)重矩陣管理器中的權(quán)重矩陣的非“0”項(xiàng)時(shí),隊(duì)列管理器利用其所包含的分組選擇器對(duì)這一項(xiàng)相應(yīng)的流進(jìn)行服務(wù)。當(dāng)掃描完權(quán)重矩陣中的這一列后,隊(duì)列管理器又從權(quán)重展開序列掃描器中取權(quán)重展開序列的下一個(gè)值,再對(duì)權(quán)重矩陣管理器中相應(yīng)的列進(jìn)行掃描。如此進(jìn)行下去。當(dāng)權(quán)重展開序列掃描器掃描到序列的尾部時(shí),它將重新回到序列的頭部重新開始掃描。權(quán)重展開序列掃描器的控制方法是對(duì)它所存貯的權(quán)重展開序列進(jìn)行循環(huán)掃描。開始時(shí)它掃描權(quán)重展開序列的第一項(xiàng)a1,然后再是第二項(xiàng)a2,直到最后一項(xiàng) ,然后再是a1,如此循環(huán)往復(fù)。在掃描ai時(shí),權(quán)重展開序列掃描器向分組選擇器送出ai的值。權(quán)重管理器的控制方法是對(duì)權(quán)重矩陣進(jìn)行管理,在權(quán)重矩陣中保存各個(gè)流的權(quán)重值的二進(jìn)制編碼。當(dāng)有新的流到來時(shí),權(quán)重矩陣管理器把與該流相對(duì)應(yīng)的權(quán)重值的二進(jìn)制編碼加入到權(quán)重矩陣中,當(dāng)流離開后,它所對(duì)應(yīng)的二進(jìn)制編碼被權(quán)重矩陣管理器從權(quán)重矩陣中刪除。隊(duì)列管理器由隊(duì)列管理及分組選擇器兩個(gè)部分所組成。隊(duì)列管理把新到的分組加入到相應(yīng)的流所對(duì)應(yīng)的隊(duì)列中去,并把離去的分組從相應(yīng)的隊(duì)列中刪除。分組選擇器的控制方法是當(dāng)系統(tǒng)的輸出鏈路空閑時(shí),從所有的等待隊(duì)列中按平滑輪轉(zhuǎn)調(diào)度方法選取一個(gè)分組發(fā)送到輸出鏈路上。
本發(fā)明的平滑輪轉(zhuǎn)分組調(diào)度控制裝置由中心處理器,存貯器,網(wǎng)絡(luò)接口單元,PCI總線所組成。中心控制器采用Intel X86 CPU控制器,并分別與存貯器,PCI總線相連。網(wǎng)絡(luò)接口單元有若干個(gè),并分別與PCI總線相連。
本發(fā)明有如下的優(yōu)點(diǎn)SRR分組調(diào)度控制方法是目前所有的分組調(diào)度控制方法中唯一的具有嚴(yán)格0(1)的時(shí)間復(fù)雜性,同時(shí)又具有很好的短程公平性及調(diào)度時(shí)延特性的分組調(diào)度控制方法。
本發(fā)明能對(duì)不同的用戶進(jìn)行很好的隔離,使所有的用戶均分別能得到相應(yīng)的服務(wù)質(zhì)量;能提供較好的時(shí)延特性保障,使各種實(shí)時(shí)性強(qiáng)的應(yīng)用的端到端的傳輸時(shí)延控制在一個(gè)可接受的范圍。
以往的分組調(diào)度器如基于時(shí)標(biāo)調(diào)度方式(如WFQ等)的調(diào)度器等一般具有較好的公平性及調(diào)度時(shí)延特性,但這類調(diào)度器的實(shí)現(xiàn)均很復(fù)雜,同時(shí)時(shí)間復(fù)雜性均很高,最少為0(longN),N為系統(tǒng)中流的數(shù)目。在高速情況下,當(dāng)流的數(shù)目很大時(shí),它們的高復(fù)雜性實(shí)際上限制了這類算法的實(shí)用程度。
另一類基于輪轉(zhuǎn)的調(diào)度器(如基于DRR的調(diào)度器)一般均具有0(1)的時(shí)間復(fù)雜性,且均很好實(shí)現(xiàn)。但由于它們不能提供很好的短程公平性及時(shí)延特性,因此它們不能在將來支持多種業(yè)務(wù)的分組網(wǎng)絡(luò)(如因特網(wǎng))上取得實(shí)際的應(yīng)用。
由于本發(fā)明能克服上述兩類調(diào)度器的缺點(diǎn),而又具有這兩類調(diào)度器的優(yōu)點(diǎn),因此本發(fā)明應(yīng)能在將來的高速網(wǎng)絡(luò)及多業(yè)務(wù)的網(wǎng)絡(luò)環(huán)境中取得廣泛的應(yīng)用。
四
圖1是本發(fā)明的結(jié)構(gòu)示意圖。其中有權(quán)重展開序列掃描器1,權(quán)重矩陣管理器2,隊(duì)列管理器3。在權(quán)重展開序列掃描器1中有權(quán)重展開序列11,權(quán)重掃描器12。在權(quán)重矩陣管理器2中有信息流f1至fn所對(duì)應(yīng)的權(quán)重矩陣21。在隊(duì)列管理器3中有與權(quán)重矩陣管理器2中信息流f1至fn相對(duì)應(yīng)的分組隊(duì)列qf1至qfn,及分組選擇器31。
圖2是本發(fā)明的控制程序框圖。
圖3是本發(fā)明控制裝置的結(jié)構(gòu)示意圖。其中有控制器5,存貯器6,網(wǎng)絡(luò)接口單元7,PCI總線8。
圖4是圖3中的網(wǎng)絡(luò)接口單元7的電原理圖。
五具體實(shí)施例方式
本發(fā)明的平滑輪轉(zhuǎn)分組調(diào)度控制方法由如下幾個(gè)部分組成權(quán)重展開序列(WSS,Weight Spread Sequence)掃描器,權(quán)重矩陣(WM,Weight Matrix)管理器,隊(duì)列管理器三個(gè)部分所組成。
權(quán)重展開序列(WSS)掃描器的功能是在分組選擇器的控制下對(duì)系統(tǒng)中的權(quán)重展開序列(WSS)進(jìn)行循環(huán)掃描,并向分組選擇器輸出掃描結(jié)果。在本發(fā)明中權(quán)重展開序列(WSS)是一種特殊設(shè)計(jì)的整數(shù)序列。
WSS序列掃描器的功能是對(duì)它所存貯的WSS序列進(jìn)行掃描。WSS序列是按如下方式定義的整數(shù)序列
以下是幾個(gè)WSS序列的例子。S1{1}S2{1 2 1}S3{1 2 1 3 1 2 1}S4{1 2 1 3 1 2 1 4 1 2 1 3 1 214}S5{1 2 1 3 1 2 1 4 1 2 1 3 1 215 1 2 1 3 1 2 1 4 1 2 1 3 121}在WSS掃描器中,靜態(tài)地存貯著一個(gè)階為Kmax的WSS序列。Kmax的取值由系統(tǒng)根據(jù)它所要分配權(quán)值的范圍來定。
WSS掃描器在工作時(shí)對(duì)它所存貯的WSS序列進(jìn)行循環(huán)掃描。開始時(shí),它掃描a1,然后是a2,…,一直到
,然后再是a1,…,如此循環(huán)往復(fù)。在掃描ai時(shí),掃描器向分組選擇器返回ai的值。
權(quán)重矩陣管理器對(duì)系統(tǒng)中的權(quán)重矩陣進(jìn)行管理及維護(hù)。權(quán)重矩陣中保存的是各個(gè)流(在這里流是指具有相同特性,如共同的源、目的地址,端口號(hào)的分組的集合)的權(quán)重值(在這里權(quán)重與流所得到的帶寬成正比)的二進(jìn)制編碼。當(dāng)有新的流到來時(shí),由調(diào)度控制器通知權(quán)重矩陣管理器把與該流相對(duì)應(yīng)的權(quán)重值的二進(jìn)制編碼加入到權(quán)重矩陣中;當(dāng)流離開系統(tǒng)后,它所對(duì)應(yīng)的二進(jìn)制編碼被權(quán)重矩陣管理器從權(quán)重矩陣中刪除。
在本發(fā)明中,每一個(gè)流都被分配了一個(gè)與它所預(yù)留的速率(rate)成正比的權(quán)重(weight)。我們?cè)O(shè)權(quán)重的集合為{1,2,3,…2k-1}。這樣,對(duì)于不同的k值,我們就可以得到不同的權(quán)重范圍。如,當(dāng)k=16,帶寬的分配粒度為1bps,這時(shí)系統(tǒng)所能提供的帶寬的集合就是{1bps,2bps,3bps,…,64kbps};當(dāng)k=32,帶寬的分配粒度為1bps時(shí),帶寬的集合就是{1bps,2bps,3bps,…,4Gbps}。
對(duì)于流flowf,它的權(quán)重可以用如下的方式表示W(wǎng)f=Σn=0k-1af,n.2n]]>其中af,n∈{0,1}。我們把flowf的權(quán)重wf的二進(jìn)制系數(shù)af,n組成了flowf的權(quán)重矢量(Weight Vector),WVf=af,(k-1),af,(k-2),…,af,0在權(quán)重矢量的基礎(chǔ)上,我們引入權(quán)重矩陣WM的概念如下。 對(duì)于權(quán)重矩陣WM而言,它的不同的列所對(duì)應(yīng)的權(quán)值是不一樣的。column0所對(duì)應(yīng)的權(quán)值為1,column1所對(duì)應(yīng)的權(quán)值為2,…,columnk-1所對(duì)應(yīng)的權(quán)值為2k-1。因此,我們可以規(guī)定column0所對(duì)應(yīng)的權(quán)值的階為0,column1所對(duì)應(yīng)的權(quán)值的階為1,…,columnk-1所對(duì)應(yīng)的權(quán)值的階為k-1。在WM管理器中,我們?yōu)榱私档驼{(diào)度器的時(shí)間復(fù)雜性,把WM中的每一列中的非0項(xiàng)用一個(gè)雙向鏈表連接起來。這樣當(dāng)WM中有k列時(shí),管理器中就有k個(gè)雙向鏈表。
本發(fā)明正是借助于WSS序列及權(quán)重矩陣WM,設(shè)計(jì)出SRR調(diào)度算法。在下面我們?cè)趯?duì)隊(duì)列管理器作簡(jiǎn)要的描述后,對(duì)SRR分組調(diào)度控制器的工作原理進(jìn)行介紹。
隊(duì)列管理器通過控制WSS掃描器及權(quán)重矩陣來對(duì)系統(tǒng)中的分組進(jìn)行選擇,以決定系統(tǒng)中各個(gè)隊(duì)列的分組的輸出次序并保證各個(gè)隊(duì)列的分組得到它們所應(yīng)得到的服務(wù)。隊(duì)列管理器完成如下的2個(gè)功能
隊(duì)列管理及分組選擇。其中隊(duì)列管理對(duì)各個(gè)流所形成的隊(duì)列進(jìn)行維護(hù)。即把各個(gè)流的新到的分組按次序加入到相應(yīng)的隊(duì)列中。分組選擇的作用是當(dāng)一個(gè)分組在物理鏈路上發(fā)送完畢,且系統(tǒng)中還有分組排隊(duì)的情況下,由它來選擇下一個(gè)要發(fā)送的分組。在本發(fā)明中,分組選擇器需要WSS掃描器及權(quán)重矩陣管理器的協(xié)助來完成分組的選擇工作。
本發(fā)明的核心內(nèi)容就在于利用WSS掃描器及權(quán)重矩陣管理器來實(shí)現(xiàn)了快速的分組選擇功能。
隊(duì)列管理器由隊(duì)列管理及分組選擇這兩個(gè)功能所組成。隊(duì)列管理把新到的分組加入到相應(yīng)的流所對(duì)應(yīng)的隊(duì)列中去,并把離去的分組從相應(yīng)的隊(duì)列中刪除。
分組選擇的功能是當(dāng)系統(tǒng)的輸出鏈路空閑時(shí),從所有的等待隊(duì)列中選取一個(gè)分組發(fā)送到輸出鏈路上去。分組選擇的實(shí)現(xiàn)在本發(fā)明中要依賴于WSS掃描器及WM矩陣來完成對(duì)下一個(gè)待傳送的分組的選取。
以下簡(jiǎn)述平滑輪轉(zhuǎn)分組調(diào)度控制方法的原理。
在SRR調(diào)度控制方法的原理的描述中,我們采用如下的術(shù)語
我們用如下的三段pseudo C代碼,Schedule,Add_flow,Del_flow來表示SRR調(diào)度器的工作過程,每一段代碼表示一個(gè)action。這三個(gè)action相互之間是異步動(dòng)作的。每一個(gè)action均由一些異步事件所觸發(fā)。
Schedule是SRR調(diào)度器的主要部分,只要是輸出鏈路處于非空閑狀態(tài),SRR就會(huì)運(yùn)行Schedule來對(duì)分組進(jìn)行輸出調(diào)度。
Add_flow在新的流加入到系統(tǒng)中時(shí)被調(diào)用。
Del_flow在流被從系統(tǒng)中刪除時(shí)調(diào)用。流可以顯式地通過命令來刪除,也可以被SRR隱式地刪除(當(dāng)流所有的分組都已經(jīng)被傳送出去之后)。這三個(gè)action的形式化描述如下所述。
控制器在運(yùn)行過程始終在動(dòng)態(tài)地調(diào)整權(quán)重矩陣M。
當(dāng)一個(gè)新的流到達(dá)時(shí),SRR將把這個(gè)新的流的權(quán)重加入到M的最后一行,同時(shí)如果此新的流的權(quán)重為Wf=Σn=0j-1af,(j-1)2n(j>k,af,(j-1)=1)]]>,新的列columnj-1,columnj-2,…,columnk將加入到M中,并且WSS序列的權(quán)值將調(diào)整為j(即k=j(luò))。
當(dāng)一個(gè)流離開了SRR,與此流相對(duì)應(yīng)的權(quán)重矩陣中的一行將被刪除,如果M矩陣中的列columnk-1,columnk-2,…,columni變?yōu)榭?值全為0),這些列也將從M矩陣中去除,同時(shí),所使用的WSS序列的階也將調(diào)整為i(即k=i)。
Sk是由WSS序列的定義所規(guī)定的k階序列,WSS序列的階次在SRR中也是動(dòng)態(tài)地調(diào)整的,它的階次就是權(quán)重矩陣的列的數(shù)目。在本算法中,我們?yōu)閃SS序列規(guī)定了一個(gè)最大值,Kmax。根據(jù)WSS序列的性質(zhì)1,階比Kmax小的序列均可以直接從階為Kmax的序列中導(dǎo)出。
這樣在每次調(diào)整WSS序列的階的時(shí)候,新的WSS序列都不需要被重新計(jì)算。使得WSS序列的階的調(diào)整可以不需要付出高的時(shí)間及空間代價(jià)。
deficitf用來寄存流f在本次服務(wù)中沒有消耗的信用,這些信用可以用deficitf帶入到下一次服務(wù)中。deficitf可以使得調(diào)度得以公平地進(jìn)行。
在SRR中還有Kmax個(gè)雙向鏈表DL0,DL1,K,
。DLi用來鏈接權(quán)重矩陣M的列columni中所有的非0項(xiàng)。DLi的節(jié)點(diǎn)具有如下的數(shù)據(jù)結(jié)構(gòu)
從DL_node中的flowid可以判定本節(jié)點(diǎn)屬于哪一個(gè)流,從DL-node中的weight可以判定本節(jié)點(diǎn)屬于權(quán)重矩陣中的哪一列。next,prev指針把權(quán)重矩陣中一列中所有的非0項(xiàng)鏈接成為一個(gè)雙向鏈表。選擇雙向鏈表,是為了提高把節(jié)點(diǎn)從鏈表中刪除的效率。
當(dāng)SRR剛開始運(yùn)行時(shí),權(quán)重矩陣M及所有的雙向鏈表都是空的;當(dāng)?shù)谝粋€(gè)流到達(dá)時(shí),Add_flow將被激活,系統(tǒng)進(jìn)入忙期,然后Schedule將開始運(yùn)行;當(dāng)一個(gè)流離開系統(tǒng)時(shí),Del_flow將被調(diào)用;當(dāng)所有的流都離開系統(tǒng)后,系統(tǒng)進(jìn)入了閑期,等待下一個(gè)忙期的到來。
本實(shí)施方式中CPU采用的是的通用的Intel X86芯片,WSS序列及WM矩陣均存放在系統(tǒng)的存貯器中,這部分的存貯器可以由SRAM或DRAM來構(gòu)成。各個(gè)分組的排隊(duì)也存放在系統(tǒng)的存貯器中。隊(duì)列管理器,WSS掃描器及WM管理器在功能上均由微處理器中的軟件來實(shí)現(xiàn)。在實(shí)現(xiàn)中,我們也可以選用其它類型的CPU來取代X86 CPU。在這里需要指出的是,這里給出的硬件設(shè)計(jì)只是SRR的一種實(shí)現(xiàn)方式。SRR也能在其它的CPU,總線或網(wǎng)絡(luò)接口單元下實(shí)現(xiàn)。
本發(fā)明的軟件部分共分如下6個(gè)部分初始化模塊,網(wǎng)絡(luò)接口單元驅(qū)動(dòng)模塊,WSS掃描、WM管理、隊(duì)列管理模塊,分組分類模塊,路由表查找模塊。
其中初始化模塊在啟動(dòng)后作一些初始設(shè)置,如生成WSS序列,初始化相關(guān)數(shù)據(jù)結(jié)構(gòu)等。
其它的模塊按分組在調(diào)度器中的流程,對(duì)它們的功能作如下描述當(dāng)網(wǎng)絡(luò)接口單元(如以太網(wǎng)卡)收到一個(gè)分組后,它將把這個(gè)分組交給網(wǎng)絡(luò)接口單元驅(qū)動(dòng)模塊;然后驅(qū)動(dòng)模塊把分組交給分組分類模塊進(jìn)行分類,以區(qū)分不同類型的分組;然后分組被交給路由模塊,在這里查找路由表以決定分組從哪一個(gè)接口單元輸出;在確定輸出的接口單元后,分組就被交給相應(yīng)的接口單元的隊(duì)列管理模塊。隊(duì)列管理模塊在WSS掃描模塊與WM管理模塊的共同作用下,把合適的分組交給下層的網(wǎng)絡(luò)接口單元驅(qū)動(dòng)程序;網(wǎng)絡(luò)接口單元驅(qū)動(dòng)程序把分組交給硬件發(fā)送到線路上去。
下面我們通過一個(gè)具體的例子來說明本發(fā)明的工作過程。
設(shè)分組調(diào)度控制器中有4個(gè)流,分別從網(wǎng)絡(luò)接口單元A到網(wǎng)絡(luò)接口單元E,記為A-E;其它的流分別從B至E,C至E,D至E。分別記為B-E,C-E,D-E。我們把這些流分別命名為f1,f2,f3,f4。這些流所對(duì)應(yīng)的預(yù)約速率分別為r1=64kbps,r2=256kbps,r3=512kbps,r4=192kbps。
所有的流所產(chǎn)生的分組的長(zhǎng)度都是512字節(jié),并且所有的流在調(diào)度時(shí)均有分組在排隊(duì)(backlogged)。
設(shè)網(wǎng)絡(luò)接口中E所對(duì)應(yīng)的輸出鏈路的帶寬為C=220=1Mbps。
在本例中,設(shè)帶寬的分配粒度為64kbps,因此,這4個(gè)流所對(duì)應(yīng)的權(quán)重分別是w1=1,w2=4,w3=8,w4=3。
根據(jù)這4個(gè)流所對(duì)應(yīng)的權(quán)重的值,f1,f2,f3,f4所對(duì)應(yīng)的權(quán)重矩陣M為M=WV1WV2WV3WV4=0001010010000011]]>M矩陣從左到右的列依次編號(hào)為3,2,1,0列。所對(duì)應(yīng)的WSS序列為S4={1,2,1,3,1,2,1,4,1,2,1,3,1,2,1}根據(jù)平滑輪轉(zhuǎn)分組調(diào)度控制方法,調(diào)度器根據(jù)S4的序列值首先掃描權(quán)重矩陣的第3列,第2列,然后再是3列,…。也就是說,掃描M矩陣的列的次序?yàn)?23132303231323.因此,各個(gè)流將按下面的服務(wù)序列得到調(diào)度器的服務(wù)f3,f2,f3,f4,f3,f2,f3,f1,f4,f3,f2,f3,f4,f3,f2,f3從上面的服務(wù)序列中,我們可以得出,f1在WSS的一輪掃描中被服務(wù)了1次,f2被服務(wù)了4次,f3被服務(wù)了8次,f4被服務(wù)了3次。所有的流都按它們的權(quán)值得到了相應(yīng)的服務(wù)次數(shù)。
權(quán)利要求
1.一種平滑輪轉(zhuǎn)分組調(diào)度控制方法,其特征在于該控制方法由權(quán)重展開序列掃描器(1),權(quán)重矩陣管理器(2),隊(duì)列管理器(3)三個(gè)部分所組成。隊(duì)列管理器(3)利用權(quán)重展開序列掃描器(1)的輸出值來確定權(quán)重矩陣管理器(2)中的權(quán)重矩陣(21)的一個(gè)確定的列,并對(duì)這一列從上到下進(jìn)行掃描。當(dāng)掃描到權(quán)重矩陣管理器(2)中的權(quán)重矩陣的非“0”項(xiàng)時(shí),隊(duì)列管理器(3)利用其所包含的分組選擇器(31)對(duì)這一項(xiàng)相應(yīng)的流進(jìn)行服務(wù)。當(dāng)掃描完權(quán)重矩陣中的這一列后,隊(duì)列管理器(3)又從權(quán)重展開序列掃描器(1)中取權(quán)重展開序列的下一個(gè)值,再對(duì)權(quán)重矩陣管理器(2)中相應(yīng)的列進(jìn)行掃描。如此進(jìn)行下去。當(dāng)權(quán)重展開序列掃描器(1)掃描到序列的尾部時(shí),它將重新回到序列的頭部重新開始掃描。
2.根據(jù)權(quán)利要求1所述的平滑輪轉(zhuǎn)分組調(diào)度控制方法,其特征在于權(quán)重展開序列掃描器(1)的控制方法是對(duì)它所存貯的權(quán)重展開序列(11)進(jìn)行循環(huán)掃描。開始時(shí)它掃描權(quán)重展開序列的第一項(xiàng)a1,然后再是第二項(xiàng)a2,直到最后一項(xiàng) ,然后再是a1,如此循環(huán)往復(fù)。在掃描ai時(shí),權(quán)重展開序列掃描器(1)向分組選擇器(31)送出ai的值。
3.根據(jù)權(quán)利要求1所述的平滑輪轉(zhuǎn)分組調(diào)度控制方法,其特征在于權(quán)重管理器(2)的控制方法是對(duì)權(quán)重矩陣(21)進(jìn)行管理,在權(quán)重矩陣中保存各個(gè)流的權(quán)重值的二進(jìn)制編碼。當(dāng)有新的流到來時(shí),權(quán)重矩陣管理器(2)把與該流相對(duì)應(yīng)的權(quán)重值的二進(jìn)制編碼加入到權(quán)重矩陣中,當(dāng)流離開后,它所對(duì)應(yīng)的二進(jìn)制編碼被權(quán)重矩陣管理器(2)從權(quán)重矩陣中刪除。
4.根據(jù)權(quán)利要求1所述的平滑輪轉(zhuǎn)分組調(diào)度控制方法,其特征在于隊(duì)列管理器(3)由隊(duì)列管理及分組選擇器(31)兩個(gè)部分所組成。隊(duì)列管理把新到的分組加入到相應(yīng)的流所對(duì)應(yīng)的隊(duì)列中去,并把離去的分組從相應(yīng)的隊(duì)列中刪除。分組選擇器(31)的控制方法是當(dāng)系統(tǒng)的輸出鏈路空閑時(shí),從所有的等待隊(duì)列中按平滑輪轉(zhuǎn)調(diào)度方法選取一個(gè)分組發(fā)送到輸出鏈路上。
5.一種平滑輪轉(zhuǎn)分組調(diào)度控制裝置。其特征在于該控制裝置由中心處理器(5),存貯器(6),網(wǎng)絡(luò)接口單元(7),PCI總線(8)所組成。中心控制器(5)采用Intel X86 CPU控制器,并分別與存貯器(6),PCI總線(8)相連。網(wǎng)絡(luò)接口單元(7)有若干個(gè),并分別與PCI總線(8)相連。
全文摘要
平滑輪轉(zhuǎn)分組調(diào)度控制方法及控制裝置是一種計(jì)算機(jī)網(wǎng)絡(luò)中的分組交換方法及裝置。它由權(quán)重展開序列掃描器,權(quán)重矩陣管理器,隊(duì)列管理器三個(gè)部分所組成。隊(duì)列管理器利用權(quán)重展開序列掃描器的輸出值來確定權(quán)重矩陣管理器中的權(quán)重矩陣的一個(gè)確定的列,并對(duì)這一列從上到下進(jìn)行掃描。當(dāng)掃描到權(quán)重矩陣管理器中的權(quán)重矩陣的非“0”項(xiàng)時(shí),隊(duì)列管理器利用其所包含的分組選擇器對(duì)這一項(xiàng)相應(yīng)的流進(jìn)行服務(wù)。當(dāng)掃描完權(quán)重矩陣中的這一列后,隊(duì)列管理器又從權(quán)重展開序列掃描器中取權(quán)重展開序列的下一個(gè)值,再對(duì)權(quán)重矩陣管理器中相應(yīng)的列進(jìn)行掃描。如此進(jìn)行下去。當(dāng)權(quán)重展開序列掃描器掃描到序列的尾部時(shí),它將重新回到序列的頭部重新開始掃描。
文檔編號(hào)H04L12/56GK1336747SQ0112711
公開日2002年2月20日 申請(qǐng)日期2001年8月17日 優(yōu)先權(quán)日2001年8月17日
發(fā)明者郭傳雄 申請(qǐng)人:中國(guó)人民解放軍理工大學(xué)通信工程學(xué)院