專利名稱:輸入排隊(duì)分組交換結(jié)構(gòu)及隊(duì)列服務(wù)規(guī)則的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分組交換節(jié)點(diǎn)結(jié)構(gòu),并具體涉及輸入排隊(duì)分組交換節(jié)點(diǎn)結(jié)構(gòu)和隊(duì)列服務(wù)規(guī)則。
背景技術(shù):
目前使用的大量的分組交換基礎(chǔ)設(shè)施的運(yùn)行依據(jù)存儲(chǔ)轉(zhuǎn)發(fā)分組處理規(guī)則。普遍使用的網(wǎng)際協(xié)議(IP)是遵循存儲(chǔ)轉(zhuǎn)發(fā)規(guī)則的分組傳輸協(xié)議的實(shí)例。每個(gè)IP分組都有分組頭部分和具有可變長(zhǎng)度的凈荷部分。決定性資源包括使分組交換節(jié)點(diǎn)相互連接的通信鏈路上的分組傳輸帶寬、分組交換節(jié)點(diǎn)上的分組存儲(chǔ),以及分組交換節(jié)點(diǎn)上的分組處理帶寬。
假設(shè)在分組交換節(jié)點(diǎn)上有足夠的存儲(chǔ)可用,分組在互連鏈路上傳送,所述互連鏈路受制于互連鏈路上可用的傳輸帶寬以及作出分組轉(zhuǎn)發(fā)判決的交換節(jié)點(diǎn)上可用的分組處理帶寬。根據(jù)分組大小消耗互連鏈路上可用的傳輸帶寬,根據(jù)分組交換節(jié)點(diǎn)上處理的分組數(shù)量消耗分組處理帶寬。
傳輸帶寬消耗本身是當(dāng)前熱烈研究和開發(fā)的課題。假設(shè),互連鏈路上足夠的傳輸帶寬連接、決定性資源的有效利用依賴于分組交換節(jié)點(diǎn)的分組處理效率。對(duì)于連接到分組交換節(jié)點(diǎn)的通信鏈路上指定的可用分組傳輸帶寬,大分組所占的比例越大以及分組越大,則分組頭數(shù)量越少,因此轉(zhuǎn)發(fā)存儲(chǔ)的分組所需的處理帶寬就越小。相反地,最嚴(yán)峻的情況是大量的小型分組正由分組交換節(jié)點(diǎn)處理。IP基礎(chǔ)設(shè)施上最可能供應(yīng)的因特網(wǎng)業(yè)務(wù)量、網(wǎng)頁(yè)瀏覽,典型地產(chǎn)生不間斷的最小長(zhǎng)度(64字節(jié))海量分組。順便提一下,異步傳輸模式(ATM)傳輸協(xié)議用于傳送具有固定長(zhǎng)度(53字節(jié))被稱為ATM信元的小分組。
排隊(duì)對(duì)于分組交換通信領(lǐng)域以及涉及分組交換節(jié)點(diǎn)上分組排隊(duì)的基礎(chǔ)研究和開發(fā)是很重要的。交換節(jié)點(diǎn)的功能是將通過(guò)輸入端口接收的每個(gè)分組與至少一個(gè)輸出端口匹配,所述輸出端口用于通過(guò)其轉(zhuǎn)發(fā)分組。關(guān)于分組交換節(jié)點(diǎn)設(shè)計(jì)的基本問(wèn)題涉及隊(duì)列在分組交換節(jié)點(diǎn)內(nèi)的位置在入口、在出口和/或在設(shè)計(jì)的組合。
輸入排隊(duì)分組交換節(jié)點(diǎn)結(jié)構(gòu)和輸出排隊(duì)分組交換節(jié)點(diǎn)結(jié)構(gòu)的相比較的理論上的處理由Karol M.、Hluchyj M.和Morgan S.在IEEETrans.Communications,35(12)(1987)第1347-1356頁(yè)的“Input versusoutput queuing on a space division switch”中作了描述。Karol等人作出結(jié)論給定連接到典型應(yīng)用中使用的典型分組交換節(jié)點(diǎn)的典型互連鏈路數(shù)量的線速率,輸出排隊(duì)分組交換節(jié)點(diǎn)要求分組存儲(chǔ)器以與端口數(shù)量成比例的速度運(yùn)行,該速度大大超過(guò)可用速率。Karol等人還給出先進(jìn)-先出(FIFO)輸入排隊(duì)分組交換節(jié)點(diǎn),每個(gè)輸入端口具有單獨(dú)的FIFO輸入隊(duì)列,其缺點(diǎn)是對(duì)于大的、期望的服務(wù)的端口數(shù)量,限制在58.58%分組吞吐量,現(xiàn)有技術(shù)的結(jié)果如圖1所示。計(jì)算的58.58%理論分組吞吐量考慮由等可能地要求通過(guò)分組交換節(jié)點(diǎn)的每個(gè)輸出端口轉(zhuǎn)發(fā)的小分組組成的分組業(yè)務(wù)量。在相同的隊(duì)列服務(wù)周期內(nèi),兩個(gè)分組在兩個(gè)不同的FIFO輸入隊(duì)列上排隊(duì)但是發(fā)往同一輸出端口的可能性產(chǎn)生對(duì)輸出端口的爭(zhēng)用,導(dǎo)致將對(duì)第二個(gè)檢查的隊(duì)列的服務(wù)延遲到隨后的隊(duì)列服務(wù)周期。如果輸入排隊(duì)分組交換節(jié)點(diǎn)上的輸入分組吞吐量增加超過(guò)58.58%閾值,則使所有輸入隊(duì)列飽和,并且即使分組傳輸吞吐量在輸出端口上可用,超出58.58%閾值的業(yè)務(wù)量被丟棄。
本領(lǐng)域的其他進(jìn)展包括由Tamir Y.和Frazier G.1988年6月發(fā)表在計(jì)算機(jī)體系結(jié)構(gòu)第15屆年會(huì)會(huì)刊第343-354頁(yè)題為“High performancemulti-queue buffers for VLSI communication switches”的論文,其中Tamir等人描述了現(xiàn)在公知的虛擬輸出排隊(duì)(VOQ)交換結(jié)構(gòu),根據(jù)該論文,對(duì)應(yīng)于大量輸出端口的多路動(dòng)態(tài)分配的隊(duì)列與每個(gè)輸入端口相關(guān)。實(shí)現(xiàn)這樣的交換結(jié)構(gòu)是非常復(fù)雜的。應(yīng)用于當(dāng)前描述的該論文的相關(guān)成果是給定連接到這樣的分組交換節(jié)點(diǎn)的鏈路的線速率,如果交換功能以加速因子2進(jìn)行操作,則理論上100%的分組吞吐量是能確保的。
雖然上述分組交換結(jié)構(gòu)的其它變化已經(jīng)是熱烈研究和開發(fā)的課題,回顧所述文獻(xiàn)顯示諸如輸入排隊(duì)結(jié)構(gòu)和輸出排隊(duì)結(jié)構(gòu)的簡(jiǎn)單分組交換結(jié)構(gòu)因低分組吞吐量性能而受到損失,而諸如虛擬輸出隊(duì)列結(jié)構(gòu)的復(fù)雜分組交換結(jié)構(gòu),由于其實(shí)現(xiàn)的高復(fù)雜性導(dǎo)致巨大的開發(fā)、維護(hù)和開銷成本。
因此需要易于實(shí)現(xiàn)并且可以提供改進(jìn)的分組吞吐量特性的分組交換節(jié)點(diǎn)結(jié)構(gòu)。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一方面提供交換節(jié)點(diǎn)結(jié)構(gòu)。該交換節(jié)點(diǎn)包括用于檢驗(yàn)在輸入端口隊(duì)列中排隊(duì)的多個(gè)隊(duì)頭(head-of-line,HOL)分組以將排隊(duì)的隊(duì)頭分組與空閑的輸出端口匹配。
根據(jù)本發(fā)明的另一方面,提供將通過(guò)多個(gè)輸入端口接收的分組交換到多個(gè)輸出端口的分組交換節(jié)點(diǎn)。所述分組交換節(jié)點(diǎn)包括對(duì)在分組交換節(jié)點(diǎn)接收的分組進(jìn)行排隊(duì)的多個(gè)輸入隊(duì)列;每個(gè)輸入隊(duì)列至少有兩個(gè)隊(duì)頭寄存器,每個(gè)隊(duì)頭寄存器參考在相應(yīng)輸入隊(duì)列中排隊(duì)的相應(yīng)隊(duì)頭分組;以及用于檢驗(yàn)所述至少兩個(gè)隊(duì)頭分組的檢驗(yàn)裝置,所述至少兩個(gè)隊(duì)頭分組由所述至少兩個(gè)隊(duì)頭寄存器在選擇通過(guò)相應(yīng)空閑目的輸出端口傳輸?shù)姆纸M時(shí)參考。
根據(jù)本發(fā)明的另一方面,提供將接收的分組排列到輸入隊(duì)列的方法。一旦分組在相應(yīng)的輸入隊(duì)列中排隊(duì),多個(gè)隊(duì)頭寄存器就被更新,以依次指向相應(yīng)的隊(duì)頭隊(duì)列入口。
根據(jù)本發(fā)明的另一方面,提供將分組交換節(jié)點(diǎn)上接收的分組進(jìn)行排隊(duì)的方法。該方法包括以下步驟將分組加入到輸入隊(duì)列;檢驗(yàn)多個(gè)隊(duì)頭寄存器,以依次查找不參考分組的隊(duì)頭寄存器;并且在第一次發(fā)現(xiàn)的沒有參考分組的隊(duì)頭寄存器時(shí)存儲(chǔ)分組參考信息。
根據(jù)本發(fā)明的另一方面,提供通過(guò)分組交換節(jié)點(diǎn)的多個(gè)輸出端口轉(zhuǎn)發(fā)在多個(gè)輸入隊(duì)列中排隊(duì)的分組的方法。該方法包括在驗(yàn)證相應(yīng)空閑目的輸出端口對(duì)應(yīng)的排隊(duì)分組時(shí),檢驗(yàn)在每個(gè)輸入隊(duì)列中排隊(duì)的多個(gè)隊(duì)頭分組。
根據(jù)本發(fā)明的另一方面,提供從隊(duì)列中取出所選的通過(guò)空閑輸出端口轉(zhuǎn)發(fā)的分組的方法。在從隊(duì)列中移出該分組時(shí),至少一個(gè)隊(duì)頭寄存器被更新以將順序參考再存入至少一個(gè)剩余的隊(duì)頭隊(duì)列入口。
根據(jù)本發(fā)明的另一方面,提供在分組交換節(jié)點(diǎn)上的輸入隊(duì)列中取出排隊(duì)的分組用于處理的方法。該方法包括以下步驟確定第一目的輸出端口是否空閑,在輸入隊(duì)列中排隊(duì)的第一隊(duì)頭分組要通過(guò)所述第一目的輸出端口轉(zhuǎn)發(fā);如果要通過(guò)其轉(zhuǎn)發(fā)在輸入隊(duì)中排隊(duì)的第一隊(duì)頭分組的第一目的輸出端口空閑,則將該分組分配至第一目的輸出端口以通過(guò)其轉(zhuǎn)發(fā),且從輸入隊(duì)列中移出所述分組;如果要通過(guò)其轉(zhuǎn)發(fā)在輸入隊(duì)列中排隊(duì)的第一隊(duì)頭分組的第一目的輸出端口被占用,則確定第二目的輸出端口是否空閑,在輸入隊(duì)列中第一隊(duì)頭分組之后排隊(duì)的隨后的隊(duì)頭分組要通過(guò)所述第二目的輸出端口進(jìn)行轉(zhuǎn)發(fā);且如果將要通過(guò)其轉(zhuǎn)發(fā)隨后的隊(duì)頭分組的第二目的輸出端口空閑,則將所述隨后的分組分配至第二目的輸出端口以通過(guò)其轉(zhuǎn)發(fā),并且從輸入隊(duì)列中移出所述隨后的分組。
優(yōu)點(diǎn)來(lái)自于減少服務(wù)周期內(nèi)輸出端口保持空閑的可能性,同時(shí)增加了服務(wù)輸入隊(duì)列的可能性,由此在減輕爭(zhēng)用的有害結(jié)果和增加分組吞吐量的過(guò)程中降低了阻塞的可能性。與此同時(shí),提出的交換結(jié)構(gòu)提供了對(duì)輸入排隊(duì)結(jié)構(gòu)的顯著改進(jìn),所提出的結(jié)構(gòu)比普通的虛擬輸出排隊(duì)(VOQ)結(jié)構(gòu)簡(jiǎn)單得多,從而在簡(jiǎn)單的輸入排隊(duì)技術(shù)上提供了顯著的性能增益。
本發(fā)明的特征和優(yōu)點(diǎn)通過(guò)下面結(jié)合附圖對(duì)示例性實(shí)施例的詳細(xì)描述將變得更明顯,其中圖1是示出現(xiàn)有技術(shù)的排隊(duì)延遲隨分組吞吐量和分組吞吐量飽和變化的原理圖;圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例,排隊(duì)延遲與分組吞吐量隨著隊(duì)頭分組的數(shù)量變化的原理圖,所述隊(duì)頭分組在考慮通過(guò)空閑輸出端口轉(zhuǎn)發(fā)的輸入隊(duì)列中排隊(duì);圖3是示出根據(jù)本發(fā)明的示例性實(shí)施例的輸入排隊(duì)交換節(jié)點(diǎn)結(jié)構(gòu)的原理圖,所述輸入排隊(duì)交換節(jié)點(diǎn)具有考慮在輸入端口中排隊(duì)的多個(gè)隊(duì)頭分組通過(guò)空閑輸出端口轉(zhuǎn)發(fā)的交換模式;圖4是示出根據(jù)本發(fā)明的示例性實(shí)施例,在對(duì)接收分組進(jìn)行排隊(duì)時(shí)所執(zhí)行的處理步驟的流程圖;圖5是示出根據(jù)本發(fā)明的示例性實(shí)施例,從輸入隊(duì)列中取出分組時(shí)所執(zhí)行的處理步驟的流程圖;以及圖6是示出根據(jù)本發(fā)明的示例性實(shí)施例的交換節(jié)點(diǎn)的交換模塊的原理圖,所述交換節(jié)點(diǎn)考慮在輸入隊(duì)列中排隊(duì)的多個(gè)隊(duì)頭分組用于根據(jù)兩個(gè)示例性的輸入隊(duì)列服務(wù)規(guī)則匹配空閑輸出端口。
應(yīng)當(dāng)注意的是,附圖中相似的特征具有類似的標(biāo)記。
具體實(shí)施例方式
回到典型的先進(jìn)先出(FIFO)輸入排隊(duì)分組交換節(jié)點(diǎn)結(jié)構(gòu),每個(gè)輸入端口具有單獨(dú)的FIFO輸入隊(duì)列,并且特別的回到對(duì)于58.58%分組吞吐量上經(jīng)歷隊(duì)列飽和的原因;應(yīng)當(dāng)認(rèn)識(shí)到輸出端口爭(zhēng)用導(dǎo)致對(duì)隨后檢驗(yàn)的隊(duì)列的服務(wù)延遲至隨后的隊(duì)列服務(wù)周期而不顧在隊(duì)頭分組之后排隊(duì)的發(fā)往空閑輸出端口的其它分組存在的可能性!所以根據(jù)本發(fā)明的示例性實(shí)施例,分組交換節(jié)點(diǎn)的交換功能在選擇用于通過(guò)空閑輸出端口轉(zhuǎn)發(fā)的分組時(shí)根據(jù)本發(fā)明示例性實(shí)施例進(jìn)行操作,同樣考慮在輸入隊(duì)列中緊接著排在隊(duì)頭分組之后的分組,由于輸出端口爭(zhēng)用,從所述輸入隊(duì)列中不選擇分組進(jìn)行轉(zhuǎn)發(fā)。
圖2示出分組吞吐量飽和隨著在輸入隊(duì)列中排隊(duì)的隊(duì)頭分組的數(shù)量的理論上的變化,在選擇分組用于通過(guò)空閑輸出端口轉(zhuǎn)發(fā)時(shí)要考慮所述輸入隊(duì)列,假定分組業(yè)務(wù)量由小分組構(gòu)成,所述小分組等可能地要求通過(guò)分組交換節(jié)點(diǎn)的每個(gè)輸出端口轉(zhuǎn)發(fā)。特別需要注意,通過(guò)考慮在輸入隊(duì)列中排隊(duì)的兩個(gè)隊(duì)頭分組與空閑輸出端口相匹配,應(yīng)使飽和不接近大約76%分組吞吐量。通過(guò)考慮在輸入隊(duì)列中排隊(duì)的四個(gè)隊(duì)頭分組與空閑輸出端口相匹配,應(yīng)使飽和不接近大約85%的分組吞吐量。
根據(jù)本發(fā)明的示例性的實(shí)施例的示例性實(shí)施具有圖3表示的示例性結(jié)構(gòu)的,交換模塊考慮輸入端口隊(duì)列中排隊(duì)的多個(gè)隊(duì)頭分組與空閑輸出端口匹配。
示例性的分組交換節(jié)點(diǎn)100,具有多個(gè)輸入端口102,服務(wù)于多個(gè)通信鏈路(未標(biāo)出)。與每個(gè)輸入端口102相關(guān)的是至少一個(gè)輸入隊(duì)列106。在分組交換節(jié)點(diǎn)100接受輸入分組,所述分組交換節(jié)點(diǎn)100受制于示例性的中央存儲(chǔ)器110內(nèi)的可用存儲(chǔ)資源。通過(guò)當(dāng)前占用寄存器112監(jiān)視中央存儲(chǔ)器110的占用,其值為由每個(gè)已接受的接收分組的長(zhǎng)度增加,由通過(guò)輸出端口108傳輸?shù)拿總€(gè)單播分組的長(zhǎng)度減少,并且在通過(guò)所有相應(yīng)目的輸出端口108傳輸分組之后由每個(gè)多播分組的長(zhǎng)度減少一次。同樣,與中央存儲(chǔ)器110相關(guān)的是指定中央存儲(chǔ)器110大小的最大尺寸寄存器114。本發(fā)明不限于所描述的中央存儲(chǔ)器110且同樣適用于其它分組存儲(chǔ)裝置。
可以使用輸入隊(duì)列106的不同實(shí)現(xiàn)而不限制本發(fā)明。實(shí)際接收的分組存儲(chǔ)在中央存儲(chǔ)器110中,其典型地包括隨機(jī)存取存儲(chǔ)器,無(wú)論什么情況下存儲(chǔ)空間都是可用的且沒有必要采用有序的方式。為了提取實(shí)際上可以是固定或可變的分組長(zhǎng)度,如圖3所示的示例性的實(shí)施方式將FIFO隊(duì)列106作為分組描述符118的連接列表116來(lái)使用。這里,出于表達(dá)相關(guān)規(guī)則的目的,分組描述符118是具有分組存儲(chǔ)地址寄存器120、目的端口(DP)寄存器122以及下一個(gè)描述符寄存器124的數(shù)據(jù)結(jié)構(gòu)。所述分組存儲(chǔ)地址寄存器120指定了在中央存儲(chǔ)器110里存儲(chǔ)相應(yīng)接收分組的起始存儲(chǔ)地址、所述目的端口(DP)寄存器122指定至少一個(gè)確定的目的輸出端口108,分組將通過(guò)其轉(zhuǎn)發(fā),所述下一個(gè)描述符寄存器124指定在連接列表116中隨后的分組描述符數(shù)據(jù)結(jié)構(gòu)118的存儲(chǔ)地址。目的端口寄存器122的執(zhí)行是變化的且包括位寄存器,其中所述寄存器的位對(duì)應(yīng)于輸出端口,而不限制本發(fā)明。根據(jù)分組交換節(jié)點(diǎn)結(jié)構(gòu),邏輯輸出端口可以通過(guò)目的端口寄存器122指定,這樣的情況是,例如關(guān)于逆多路復(fù)用的應(yīng)用。邏輯輸出端口可以對(duì)回送端口被保留。
隊(duì)列入口分組描述符118是當(dāng)接受每個(gè)接收分組時(shí)產(chǎn)生;存儲(chǔ)在可用的存儲(chǔ)單元例如但不限制于高速緩沖存儲(chǔ)器;并且當(dāng)分組被轉(zhuǎn)發(fā)時(shí)被移出。如果指向分組的分組描述符118是連接列表116中的元素則稱該分組在輸入隊(duì)列106中被排入隊(duì)列。應(yīng)當(dāng)理解,圖3所示的連接列表116中的分組描述符118的有序表述只是代表性的,因?yàn)榉纸M描述符本身存儲(chǔ)在不同的存儲(chǔ)單元,典型地存儲(chǔ)在隨機(jī)存取存儲(chǔ)器高速緩存中;在下一個(gè)描述符寄存器124中存儲(chǔ)的值指向與連接列表中朝向隨后的描述符118的輸入隊(duì)列106相互作用的各種過(guò)程,且因此指向隨后的排隊(duì)分組。
與每個(gè)輸入隊(duì)列106相關(guān)的是末尾描述符寄存器130,其指定對(duì)應(yīng)于末尾的排隊(duì)分組的末尾描述符118的存儲(chǔ)地址。所述末尾描述符寄存器130這里也可以稱為隊(duì)尾指針/寄存器,原因是其指向描述符118的連接列表116最后的元素。
根據(jù)圖3所示的本發(fā)明示例性實(shí)施例的示例性實(shí)施方式,三個(gè)隊(duì)頭描述符寄存器132/134/136與每個(gè)輸入隊(duì)列106相關(guān)。隊(duì)頭分組描述符118按需生成并且存儲(chǔ)在高速緩沖存儲(chǔ)器或中央存儲(chǔ)器110中的不同存儲(chǔ)器存儲(chǔ)單元,隊(duì)頭描述符寄存器132/134/136的使用表示交換功能140已知的用于檢驗(yàn)隊(duì)頭分組描述符118的存儲(chǔ)單元。為簡(jiǎn)單起見,假設(shè)三個(gè)隊(duì)頭描述符寄存器和末尾描述符寄存器具有連續(xù)的指定隊(duì)頭描述符寄存器132/134/136的順序的存儲(chǔ)地址。最初所有四個(gè)描述符寄存器130、132、134和136都設(shè)置成表示相應(yīng)的輸入隊(duì)列106為空的NULL。
操作中,通過(guò)對(duì)分組進(jìn)行排隊(duì)的分組接收過(guò)程以及使分組出隊(duì)的隊(duì)列服務(wù)過(guò)程存取每個(gè)輸入隊(duì)列106。
根據(jù)本發(fā)明的示例性實(shí)施例,簡(jiǎn)化的示例性分組接收過(guò)程200如圖4所示。分組接收邏輯等待分組的到達(dá)(202)。如果傳送的分組是可變長(zhǎng)度,則在分組頭被接收時(shí)檢驗(yàn)分組頭,來(lái)獲得分組的長(zhǎng)度(204)。發(fā)送請(qǐng)求(206)到中央存儲(chǔ)器110讓存儲(chǔ)器存儲(chǔ)正在接收的分組。如果傳送可變長(zhǎng)度分組,則請(qǐng)求(206)也包括該分組的長(zhǎng)度。
如果當(dāng)前占用寄存器112(Coccup.)的值和分組的長(zhǎng)度之和大于最大占用寄存器114的值,則中央存儲(chǔ)器110通知分組接收邏輯可用的存儲(chǔ)空間不足(208)并丟棄該分組(210)。
如果存儲(chǔ)可用(208),則中央存儲(chǔ)器110提供要存儲(chǔ)該分組的起始存儲(chǔ)地址,并且分組接收邏輯使用本公開范圍之外的特殊用途的裝置,開始在提供的存儲(chǔ)器存儲(chǔ)地址存儲(chǔ)分組。
得知將存儲(chǔ)分組的起始存儲(chǔ)地址,分組接收邏輯生成輸入隊(duì)列入口(212)-分組描述符118-并將分組存儲(chǔ)地址寄存器120的值設(shè)置為中央存儲(chǔ)器110提供的起始存儲(chǔ)地址。用于指向下一個(gè)隊(duì)列入口的下一個(gè)描述符地址寄存器124設(shè)置為NULL(214)。
已經(jīng)生成分組描述符隊(duì)列入口118,且已經(jīng)中央存儲(chǔ)器110中至少已經(jīng)存儲(chǔ)了分組頭,搜索引擎邏輯(未示出)被調(diào)用,典型地與分組接收過(guò)程200并行操作,以對(duì)分組確定至少一個(gè)目的輸出端口108。搜索引擎的操作在別處描述。
分組排隊(duì),具體地說(shuō),分組描述符排隊(duì)步驟包括-確定輸入隊(duì)列106是否為空(216),由隊(duì)尾指針130指向零來(lái)表示空;-如果隊(duì)列為空,則第一隊(duì)頭寄存器132的值被設(shè)置為生成的分組描述符的地址(218);且-最后的描述符寄存器130的值(隊(duì)尾指針)也被設(shè)置為生成的分組描述符118的存儲(chǔ)地址(220)。
隊(duì)尾指針和第一隊(duì)頭分組寄存器都指向接收分組。
如果隊(duì)尾指針130沒有指向NULL,也就是說(shuō),如果隊(duì)列106非空,則生成的描述符118的存儲(chǔ)器存儲(chǔ)地址被寫到由隊(duì)尾指針130指定的隊(duì)列106內(nèi)的末尾分組描述符118的描述符地址寄存器124中(222),此外也被寫到隊(duì)尾指針寄存器130(220)。這構(gòu)成了對(duì)接收的分組進(jìn)行排隊(duì)的過(guò)程。
根據(jù)本發(fā)明示例性實(shí)施例的示例性實(shí)施,如果輸入隊(duì)列106的排隊(duì)分組超過(guò)一個(gè),則依次檢驗(yàn)隊(duì)頭寄存器134和136(224)。一旦發(fā)現(xiàn)隊(duì)頭寄存器132/134指向NULL,則生成的分組描述符的地址被寫到其上(226)。
因此,根據(jù)本發(fā)明的示例性實(shí)施,由典型地與每個(gè)輸入端口102相關(guān)的邏輯以分布式模式執(zhí)行輸入隊(duì)列106內(nèi)的分組排隊(duì)。本發(fā)明不局限于分布式的分組入隊(duì),設(shè)想使用可能與分組分類和/或搜索功能相關(guān)的集中式分組入隊(duì)邏輯的實(shí)施方式。
以下描述假設(shè)典型地與分組入隊(duì)過(guò)程200并行操作的搜索功能,當(dāng)分組排隊(duì)過(guò)程完成時(shí),完成至少一個(gè)輸出端口108的確定,分組將通過(guò)所述輸出端口108轉(zhuǎn)發(fā)。要注意的是,在分組入隊(duì)過(guò)程200的執(zhí)行期間和生成隊(duì)列入口(212)之后的任何時(shí)刻,確定的輸出端口的說(shuō)明可以被寫入生成的隊(duì)列入口的目的端口寄存器122中??蛇x地,分組入隊(duì)過(guò)程200在完成輸出端口的確定之后才可以執(zhí)行。當(dāng)分組被存儲(chǔ)在中央存儲(chǔ)器110內(nèi)時(shí),交換功能140與之并行操作;分組入隊(duì),更確切地說(shuō)分組描述符118的排隊(duì)和由搜索功能對(duì)輸出端口的確定可以在接收到完整的分組之前完成。這樣的操作尤其適用于長(zhǎng)分組。下面的描述沒有假設(shè)接收完整的分組。
根據(jù)本發(fā)明示例性實(shí)施例的示例性實(shí)施,在每個(gè)服務(wù)周期內(nèi),交換功能140考慮三個(gè)在每個(gè)輸入隊(duì)列106中排隊(duì)的隊(duì)頭分組,試圖將排隊(duì)的分組和空閑輸出端口108匹配。
本發(fā)明沒有限制于考慮在服務(wù)周期內(nèi)在每個(gè)輸入隊(duì)列106中排隊(duì)三個(gè)隊(duì)頭分組。考慮的分組數(shù)量留給設(shè)計(jì)選擇考慮的隊(duì)頭分組數(shù)量越少,提出的結(jié)構(gòu)的實(shí)施就越簡(jiǎn)單,且分組吞吐量飽和的閾值就越低;然而,考慮的隊(duì)頭分組越多,分組吞吐量飽和就越高。鑒于通過(guò)考慮如圖2所示的四個(gè)隊(duì)頭分組理論上可以獲得85%分組吞吐量飽和,因此當(dāng)使用實(shí)質(zhì)上比VOQ交換結(jié)構(gòu)簡(jiǎn)單的新結(jié)構(gòu)時(shí),通過(guò)考慮數(shù)量相對(duì)小的隊(duì)頭分組就可以獲得實(shí)質(zhì)上的改進(jìn)。
對(duì)于具有縱橫制結(jié)構(gòu)的交換節(jié)點(diǎn),服務(wù)周期應(yīng)理解為由交換功能140在每個(gè)縱橫制傳輸之間執(zhí)行的處理,或者由公平交換功能在連續(xù)公平評(píng)估之間的服務(wù)窗口期間執(zhí)行的處理。這里所描述的本發(fā)明實(shí)施例的示例性實(shí)施涉及示例性的縱橫制交換節(jié)點(diǎn)結(jié)構(gòu)(如圖3和圖6所示),而本發(fā)明并不限制于此。
交換功能140優(yōu)選地與分組接收、搜索功能和分組排隊(duì)過(guò)程200并行執(zhí)行。根據(jù)本發(fā)明示例性實(shí)施例的示例性實(shí)施,通過(guò)分組入隊(duì)過(guò)程200和圖5所示的示例性分組出隊(duì)過(guò)程300之間的最低限度的交互作用就能夠進(jìn)行這樣的分離和并行操作。
根據(jù)本發(fā)明的示例性實(shí)施例,交換功能140和每個(gè)輸入隊(duì)列106之間的交互作用通過(guò)隊(duì)頭寄存器132/134/136來(lái)執(zhí)行,并且限于確定隊(duì)頭寄存器132/134/136指定的(指向的)分組描述符118以及獲得描述符118中指定的(122)目的輸出端口。根據(jù)本發(fā)明的示例性實(shí)施例的示例性實(shí)施,由交換功能140在服務(wù)周期內(nèi),針對(duì)多個(gè)隊(duì)頭描述符118中的一個(gè)所指定的分組,輪詢每個(gè)輸入隊(duì)列106,以確定該分組是否去往空閑輸出端口108。
根據(jù)本發(fā)明的示例性實(shí)施例,交換功能140對(duì)分組輪詢(306)執(zhí)行分組出隊(duì)過(guò)程300的邏輯以通過(guò)空閑輸出端口108轉(zhuǎn)發(fā)。參考單獨(dú)的輸入隊(duì)列106來(lái)描述圖5所示的流程圖。然而,可以設(shè)想本發(fā)明的集中式實(shí)施,其中分組出隊(duì)過(guò)程300的步驟考慮輸入隊(duì)列標(biāo)識(shí)符并且交換功能140用輸入隊(duì)列標(biāo)識(shí)符開始其輪詢。實(shí)施方式也被設(shè)想為交換功能140自身執(zhí)行分組出隊(duì)過(guò)程300。
根據(jù)本發(fā)明示例性實(shí)施例的示例性實(shí)施,分組出隊(duì)邏輯從上一次縱橫傳送開始跟蹤隊(duì)列檢驗(yàn)的數(shù)量(QInspec’n),以及輸入隊(duì)列106從上一次縱橫傳送(cross-bar transfer)開始是否受到服務(wù)。啟動(dòng)時(shí),QInspec’n寄存器(QI 144)的值被設(shè)置為零(302)且Qserviced寄存器(QS 142)的布爾值被設(shè)置為邏輯“FALSE”(304)。設(shè)想這樣的實(shí)施方式其中,每個(gè)輸入端口隊(duì)列輪詢請(qǐng)求提供自上次輪詢請(qǐng)求開始縱橫傳送是否被執(zhí)行的指示。也可以設(shè)想這樣的實(shí)施方式其中輸入端口隊(duì)列輪詢請(qǐng)求并且縱橫傳送執(zhí)行通告分別發(fā)送到分組出隊(duì)邏輯。應(yīng)當(dāng)理解,對(duì)于不包括縱橫制的交換節(jié)點(diǎn)結(jié)構(gòu),信號(hào)被提供給表示每個(gè)服務(wù)周期起始的分組出隊(duì)邏輯。
如果自上一次輸入隊(duì)列輪詢請(qǐng)求(306)之后執(zhí)行了縱橫制傳送(308),則出隊(duì)過(guò)程300響應(yīng)于每個(gè)輸入隊(duì)列輪詢請(qǐng)求(306),分別重置QI 144和QS 142寄存器(302/304)。對(duì)于每個(gè)輸入隊(duì)列輪詢請(qǐng)求(306),如果輸入隊(duì)列106未被服務(wù)(310),且具有至少一個(gè)隊(duì)列入口(309),則出隊(duì)邏輯確定隊(duì)頭隊(duì)列入口描述符118中指定122的目的端口是否空閑(312),所述隊(duì)頭分組描述符118由隊(duì)頭寄存器132/134/136中一個(gè)參考。在處理每個(gè)輪詢請(qǐng)求(306)時(shí),Qinspec’n寄存器144的值用于依次選擇每個(gè)隊(duì)頭寄存器132/134/136。
如果目的輸出端口108不空閑(312),則QInspec’n寄存器144的值增加(314),且出隊(duì)邏輯等待另一個(gè)輸入端口隊(duì)列輪詢請(qǐng)求(306)。
如果目的輸出端口108空閑(312),則交換功能140分配描述符118給輸出端口108(316)并且稱該分組與輸出端口108匹配。交換功能140自由服務(wù)于遵循以下描述的服務(wù)規(guī)則的其它輸入隊(duì)列106。QServiced寄存器142被設(shè)置成邏輯“TRUE”(318)。如果QTail寄存器130指定分配的描述符118的地址(320),描述符118是描述符列表116中的最后一個(gè),且必須以直接居前的描述符地址更新隊(duì)尾寄存器130(320),這是先前的隊(duì)頭寄存器所保持的值。應(yīng)當(dāng)理解,如果輸入端口隊(duì)列106只有分配給空閑輸出端口108的一個(gè)描述符118,將QTail寄存器130設(shè)置為根據(jù)在隊(duì)頭寄存器132之前的隊(duì)頭寄存器指定的值,設(shè)定QTail寄存器130為NULL表示輸入端口隊(duì)列106現(xiàn)在為空。
其它地方描述的分組轉(zhuǎn)發(fā)處理,采用分組描述符118中指定的信息來(lái)存取存儲(chǔ)在中央存儲(chǔ)器110中的分組。為了更確定,根據(jù)描述的交換節(jié)點(diǎn)結(jié)構(gòu),存在分組被分配給目的輸出端口108的可能性,且開始通過(guò)那里轉(zhuǎn)發(fā),同時(shí)分組仍然被接收。相反地,執(zhí)行和應(yīng)用需求可以請(qǐng)求在每個(gè)分組交換節(jié)點(diǎn)檢測(cè)分組的完整性。對(duì)于這樣的實(shí)施,分組將必須被完整接收且分組完整性測(cè)試必須對(duì)其執(zhí)行。對(duì)于長(zhǎng)分組,在中央存儲(chǔ)器110中獨(dú)立的相鄰大量存儲(chǔ)可能不可用。這樣的長(zhǎng)分組將被分割且每個(gè)分組段具有相關(guān)的分組段描述符。同時(shí)提供將分組段描述符串在一起的裝置。
一旦轉(zhuǎn)發(fā)單播分組,或者通過(guò)所有目的端口轉(zhuǎn)發(fā)多播分組之后,分組轉(zhuǎn)發(fā)處理也采用必要的步驟來(lái)釋放中央存儲(chǔ)器110內(nèi)的存儲(chǔ)空間。分組轉(zhuǎn)發(fā)處理也采用必要的步驟來(lái)釋放分組描述符118使用的內(nèi)存。
回到出隊(duì)過(guò)程300的操作,根據(jù)本發(fā)明的示例性實(shí)施例,必須更新隊(duì)頭寄存器132/134/136來(lái)正確地參考剩余隊(duì)頭分組描述符118,同時(shí)匹配的分組描述符118從連接列表116中移出。出隊(duì)過(guò)程300的步驟322至330示出了過(guò)程循環(huán),其中受制于QInspec’n寄存器144的值,隊(duì)列106中從后往前的每個(gè)隊(duì)頭寄存器被設(shè)置成下一個(gè)描述符地址值,隊(duì)列106以QInspec’n寄存器的值所指定的隊(duì)頭寄存器結(jié)束,下一個(gè)描述符地址值由該特定隊(duì)頭寄存器指向的描述符118的下一個(gè)描述符寄存器124來(lái)指定。應(yīng)當(dāng)理解,如果隊(duì)頭寄存器指向NULL描述符,則NULL描述符的下一個(gè)描述符寄存器的下一個(gè)描述符值為NULL。
一旦將分組分配到輸出端口108,在隊(duì)列106中所有在后面排隊(duì)的分組/描述符118必須“前進(jìn)”。在執(zhí)行輸入端口隊(duì)列106時(shí)的連接列表116的使用大大簡(jiǎn)化了“前進(jìn)”的操作在匹配的分組描述符118前面的描述符118的下一個(gè)描述符說(shuō)明124,必須修改為指向在匹配的分組描述符118后面的描述符118,也就是說(shuō),匹配的分組描述符118從連接列表116中移出且剩余的連接列表116必須被縫合(330)。
需要指出,圖5中所示的出隊(duì)過(guò)程300的示例性實(shí)施例響應(yīng)于輸入隊(duì)列輪詢(306)。交換功能140根據(jù)交換功能140輪詢(306)每個(gè)輸入隊(duì)列106實(shí)施隊(duì)列服務(wù)規(guī)則。典型地,隊(duì)列服務(wù)規(guī)則試圖增強(qiáng)服務(wù)公平性,來(lái)區(qū)分特殊的分組業(yè)務(wù)量的優(yōu)先次序等。隊(duì)列服務(wù)是當(dāng)前研究和發(fā)展的課題,具有別處所描述的最新成果。圖6示出交換功能140根據(jù)兩個(gè)示例性的隊(duì)列服務(wù)規(guī)則來(lái)操作隊(duì)列服務(wù)規(guī)則402優(yōu)先考慮服務(wù)每個(gè)輸入隊(duì)列,通過(guò)試圖在每個(gè)服務(wù)周期內(nèi)從每個(gè)輸入端口102傳送分組來(lái)加強(qiáng)公平性,相反隊(duì)列服務(wù)規(guī)則404優(yōu)先服務(wù)在每個(gè)輸入隊(duì)列106中最先排隊(duì)的分組。根據(jù)本發(fā)明的示例性實(shí)施例,隊(duì)列服務(wù)規(guī)則402依次檢驗(yàn)所有的隊(duì)頭描述符118,試圖服務(wù)每個(gè)輸入隊(duì)列106。根據(jù)本發(fā)明的示例性實(shí)施例,隊(duì)列服務(wù)規(guī)則404在檢驗(yàn)所有輸入隊(duì)列106的所有隊(duì)頭寄存器134之前檢驗(yàn)所有輸入隊(duì)列106的所有隊(duì)頭寄存器132。本發(fā)明不限于所示的示例性隊(duì)列服務(wù)規(guī)則402和404,可以根據(jù)隊(duì)列服務(wù)是針對(duì)特定應(yīng)用而設(shè)計(jì)的這一原則來(lái)設(shè)想實(shí)施方式。雖然示例性的隊(duì)列服務(wù)規(guī)則402和404以有序的方式檢驗(yàn)隊(duì)頭描述符118,但是可以設(shè)想以隨意的方式檢驗(yàn)隊(duì)頭描述符118。
為了更確定,對(duì)于由根據(jù)本發(fā)明的示例性實(shí)施操作的交換節(jié)點(diǎn)轉(zhuǎn)發(fā)的分組,要維持分組次序。原因是只有當(dāng)另一個(gè)分組之后排隊(duì)的分組要發(fā)往不同的輸出端口108時(shí),才能選擇該分組用于越過(guò)不能通過(guò)占用的輸出端口108轉(zhuǎn)發(fā)的較早分組來(lái)轉(zhuǎn)發(fā),且因此形成了不同的分組流組。
雖然分組分類僅僅在傳輸時(shí)被提及,應(yīng)當(dāng)理解,本發(fā)明也應(yīng)用于在一群輸入隊(duì)列106與至少一個(gè)輸入端口102相關(guān)的情況。與至少一個(gè)輸入端口102相關(guān)的一群輸入隊(duì)列中的每個(gè)輸入隊(duì)列106符合下列之一服務(wù)等級(jí)層隊(duì)列、服務(wù)類型層隊(duì)列、服務(wù)質(zhì)量層隊(duì)列、虛擬局域網(wǎng)標(biāo)識(shí)隊(duì)列等。接收的分組與群中對(duì)應(yīng)的輸入對(duì)列106相關(guān),所述群由分組分類器(未示出)確定。分組分類器根據(jù)下列之一對(duì)接收的分組進(jìn)行分類服務(wù)等級(jí)、服務(wù)類型、服務(wù)質(zhì)量,以及虛擬局域網(wǎng)標(biāo)識(shí)。另外,根據(jù)這樣的實(shí)施方式,交換功能140將根據(jù)考慮到多個(gè)輸入隊(duì)列106與每個(gè)輸入端口102相關(guān)的事實(shí)的隊(duì)列服務(wù)規(guī)則來(lái)操作。
可以設(shè)想這樣的實(shí)施方式,其中輸入隊(duì)列106與多個(gè)輸入端口102相關(guān),這種情況典型地用于逆多路復(fù)用中。
根據(jù)本發(fā)明的示例性實(shí)施例,對(duì)輸入隊(duì)列106提供機(jī)會(huì)使其在服務(wù)周期內(nèi)受到服務(wù),盡管事實(shí)是因?yàn)闋?zhēng)用使隊(duì)列106中排隊(duì)的隊(duì)頭分組不能被轉(zhuǎn)發(fā)。所提出的分組交換節(jié)點(diǎn)結(jié)構(gòu)基于簡(jiǎn)單的輸入排隊(duì)交換結(jié)構(gòu),所述結(jié)構(gòu)經(jīng)修改使得交換節(jié)點(diǎn)的交換功能140考慮若干在輸入隊(duì)列中排隊(duì)的隊(duì)頭分組。在當(dāng)前的描述中,大量參考了輸入端口隊(duì)列,本發(fā)明不限于輸入端口隊(duì)列且能夠應(yīng)用于普通的輸入隊(duì)列??梢栽O(shè)想這樣的實(shí)施方式接收的分組在輸入端口隊(duì)列中排隊(duì),分組分類器從中將分組分類成輸入隊(duì)列,這根據(jù)本發(fā)明實(shí)施例進(jìn)行操作。
根據(jù)本發(fā)明的示例性實(shí)施例,分組交換節(jié)點(diǎn)的吞吐量性能服從于復(fù)雜性/吞吐量折衷判定,從而對(duì)應(yīng)用需求提供可調(diào)節(jié)的分組交換節(jié)點(diǎn)結(jié)構(gòu)。通過(guò)改變被當(dāng)作經(jīng)過(guò)輸出端口轉(zhuǎn)發(fā)的候選者的隊(duì)頭分組數(shù)量,能改變限定的分組飽和吞吐量。并且,通過(guò)考慮四個(gè)在輸入隊(duì)列中排隊(duì)的隊(duì)頭分組,理論上分組吞吐量飽和閾值被保持在不超過(guò)大約85%的分組吞吐量。相反地,通過(guò)考慮足夠數(shù)量的隊(duì)頭隊(duì)列分組,提出的分組交換性能可以在更低成本和復(fù)雜度上接近VOQ交換的性能。
通過(guò)以循環(huán)的方式檢驗(yàn)輸入隊(duì)列,或者從最早接收的到最新接收的來(lái)檢驗(yàn)隊(duì)頭分組,在使用最簡(jiǎn)單的可能的仲裁算法(隊(duì)列服務(wù)規(guī)則)時(shí)記錄上述結(jié)果。通過(guò)使用更多有效的仲裁算法,甚至可以期望更高的分組吞吐量性能。
提出的實(shí)施例只是示例性的,并且本領(lǐng)域的技術(shù)人員可以意識(shí)到,在不背離本發(fā)明精神的前提下可對(duì)上述實(shí)施例作出不同的變化。本發(fā)明的范圍完全由所附權(quán)利要求確定。
權(quán)利要求
1.一種用于將通過(guò)多個(gè)輸入端口接收的分組交換到多個(gè)輸出端口的分組交換節(jié)點(diǎn),所述分組交換節(jié)點(diǎn)包括a.用于對(duì)所述分組交換節(jié)點(diǎn)上接收的分組進(jìn)行排隊(duì)的多個(gè)輸入隊(duì)列;b.每個(gè)輸入隊(duì)列具有至少兩個(gè)隊(duì)頭寄存器,每個(gè)隊(duì)頭寄存器參考在所述相應(yīng)輸入隊(duì)列中排隊(duì)的相應(yīng)隊(duì)頭分組;以及c.用于檢驗(yàn)至少兩個(gè)隊(duì)頭分組的檢驗(yàn)裝置,所述至少兩個(gè)隊(duì)頭分組是在選擇分組以通過(guò)相應(yīng)空閑目的輸出端口傳送時(shí),由所述至少兩個(gè)隊(duì)頭寄存器參考的。
2.根據(jù)權(quán)利要求1的分組交換節(jié)點(diǎn),還包括跟蹤服務(wù)周期內(nèi)輸入隊(duì)列被檢驗(yàn)次數(shù)的隊(duì)列檢驗(yàn)寄存器,所述隊(duì)列檢驗(yàn)寄存器的值用于依次存取所述至少兩個(gè)隊(duì)頭寄存器。
3.根據(jù)權(quán)利要求2的分組交換節(jié)點(diǎn),還包括在每個(gè)服務(wù)周期內(nèi)指定在所述輸入隊(duì)列中排隊(duì)的分組是否與相應(yīng)的目的輸出端口匹配的隊(duì)列服務(wù)寄存器,在服務(wù)輸入隊(duì)列之后的服務(wù)周期內(nèi),對(duì)輸入隊(duì)列關(guān)于分組與空閑端口匹配的檢驗(yàn)被取消。
4.根據(jù)權(quán)利要求1的分組交換節(jié)點(diǎn),每個(gè)輸入隊(duì)列是下列之一與單獨(dú)的輸入端口相關(guān)的輸入隊(duì)列;與多個(gè)輸入端口子群相關(guān)的輸入隊(duì)列;一群輸入隊(duì)列中的一個(gè),所述一群輸入隊(duì)列和至少一個(gè)輸入端口相關(guān)。
5.根據(jù)權(quán)利要求4的分組交換節(jié)點(diǎn),其中所述分組交換節(jié)點(diǎn)具有和所述至少一個(gè)輸入端口相關(guān)的所述一群輸入隊(duì)列,所述分組交換節(jié)點(diǎn)還包括用于對(duì)在所述一群輸入隊(duì)列之一中接收的分組進(jìn)行分類的分組分類器。
6.根據(jù)權(quán)利要求5的分組交換節(jié)點(diǎn),其中與所述至少一個(gè)輸入端口相關(guān)的所述一群輸入隊(duì)列中的每個(gè)輸入隊(duì)列對(duì)應(yīng)于下列之一服務(wù)等級(jí)層隊(duì)列、服務(wù)類型層隊(duì)列、服務(wù)質(zhì)量層隊(duì)列以及虛擬局域網(wǎng)標(biāo)識(shí)層隊(duì)列;分組分類器根據(jù)下列之一對(duì)在所述分組交換節(jié)點(diǎn)接收的分組進(jìn)行分類服務(wù)等級(jí)、服務(wù)類型、服務(wù)質(zhì)量以及虛擬局域網(wǎng)標(biāo)識(shí)。
7.根據(jù)權(quán)利要求1的分組交換節(jié)點(diǎn),還包括分組交換裝置和輸入隊(duì)列服務(wù)排序裝置,所述檢驗(yàn)裝置響應(yīng)于所述分組交換裝置。
8.根據(jù)權(quán)利要求1的分組交換節(jié)點(diǎn),還包括用于跟蹤在所述分組交換節(jié)點(diǎn)接收的相應(yīng)分組的分組描述符。
9.根據(jù)權(quán)利要求8的分組交換節(jié)點(diǎn),還包括a.用于存儲(chǔ)接收分組的存儲(chǔ)器;以及b.每個(gè)分組描述符還包括起始存儲(chǔ)器地址寄存器,用于指定所述存儲(chǔ)器地址,未決處理期間所述相應(yīng)分組存儲(chǔ)在所述存儲(chǔ)器中。
10.根據(jù)權(quán)利要求9的分組交換節(jié)點(diǎn),還包括a.用于確定至少一個(gè)輸出端口的搜索引擎,所述輸出端口用于通過(guò)其轉(zhuǎn)發(fā)至少一個(gè)接收分組;以及b.每個(gè)分組描述符還包括用于指定至少一個(gè)輸出端口的目的輸出端口寄存器,所述輸出端口用于通過(guò)其轉(zhuǎn)發(fā)所述相應(yīng)分組。
11.根據(jù)權(quán)利要求10的分組交換節(jié)點(diǎn),其中所述目的輸出端口寄存器具有位表示,其中每一位對(duì)應(yīng)于從以下選擇的目的輸出端口物理輸出端口、與所述多個(gè)輸出端口的子群相關(guān)的邏輯輸出端口,以及邏輯回送端口。
12.根據(jù)權(quán)利要求10的分組交換節(jié)點(diǎn),其中每個(gè)輸入隊(duì)列由描述符排序列表定義,每個(gè)描述符還包括下一個(gè)分組描述符寄存器用于指定分組描述符參考,每個(gè)隊(duì)頭寄存器指定參考相應(yīng)隊(duì)頭分組描述符。
13.一種對(duì)在分組交換節(jié)點(diǎn)接收的分組進(jìn)行排隊(duì)的方法,所述方法包括a.加入分組至輸入隊(duì)列;b.依次檢驗(yàn)多個(gè)隊(duì)頭寄存器以查找不參考分組的隊(duì)頭寄存器;并且c.存儲(chǔ)第一個(gè)發(fā)現(xiàn)的不參考分組的隊(duì)頭寄存器的分組參考信息。
14.根據(jù)權(quán)利要求13的方法,其中在所述分組交換節(jié)點(diǎn)上參考相應(yīng)分組未決處理時(shí)使用分組描述符,所述方法包括a.將對(duì)應(yīng)于每個(gè)接收分組的分組描述符加入所述輸入隊(duì)列;b.依次檢驗(yàn)多個(gè)隊(duì)頭寄存器以查找不參考有效分組描述符的隊(duì)頭寄存器;并且c.設(shè)置所述第一個(gè)發(fā)現(xiàn)的不參考有效分組描述符的隊(duì)頭寄存器的值以參考加入到所述輸入隊(duì)列的所述分組描述符。
15.一種通過(guò)分組交換節(jié)點(diǎn)的多個(gè)輸出端口轉(zhuǎn)發(fā)在多個(gè)輸入隊(duì)列中排隊(duì)的分組的方法,所述方法包括在驗(yàn)證排隊(duì)的分組對(duì)應(yīng)的目的輸出端口是否空閑時(shí),檢驗(yàn)多個(gè)在每個(gè)輸入隊(duì)列中排隊(duì)的隊(duì)頭分組。
16.一種使在分組交換節(jié)點(diǎn)上的輸入隊(duì)列中排隊(duì)等候處理的分組出隊(duì)的方法,所述方法包括a.確定第一目的輸出端口是否空閑,在所述輸入隊(duì)列中排隊(duì)的第一隊(duì)頭分組要通過(guò)所述第一目的輸出端口轉(zhuǎn)發(fā);b.如果要通過(guò)其轉(zhuǎn)發(fā)在輸入隊(duì)列中排隊(duì)的所述第一隊(duì)頭分組的所述第一目的輸出端口空閑,則分配所述分組至第一目的輸出端口以通過(guò)其轉(zhuǎn)發(fā),且從所述輸入隊(duì)列中移出所述分組;c.如果要通過(guò)其轉(zhuǎn)發(fā)在輸入隊(duì)列中排隊(duì)的所述第一隊(duì)頭分組的所述第一目的輸出端口隊(duì)頭是被占用的,則確定第二目的輸出端口是否空閑,在所述輸入隊(duì)列中所述第一隊(duì)頭分組之后排隊(duì)的隨后的隊(duì)頭分組要通過(guò)所述第二目的輸出端口進(jìn)行轉(zhuǎn)發(fā);以及d.如果將要通過(guò)其轉(zhuǎn)發(fā)的所述隨后的隊(duì)頭分組所述第二目的輸出端口空閑,則分配所述隨后的分組至所述第二目的輸出端口以通過(guò)其轉(zhuǎn)發(fā),并且從所述輸入隊(duì)列中移出所述隨后的分組。
17.根據(jù)權(quán)利要求16的方法,其中每個(gè)關(guān)于目的輸出端口是否空閑的確定響應(yīng)于服務(wù)請(qǐng)求來(lái)執(zhí)行,所述方法還包括a.在輸入隊(duì)列服務(wù)周期內(nèi)跟蹤接收的所述服務(wù)請(qǐng)求的數(shù)量;且b.選擇隊(duì)頭分組用于依據(jù)在每個(gè)服務(wù)周期內(nèi)接收的所述隊(duì)列服務(wù)請(qǐng)求的累積數(shù)量來(lái)匹配相應(yīng)的目的輸出端口。
18.根據(jù)權(quán)利要求16的方法,其中通過(guò)參考在輸入隊(duì)列中排隊(duì)的相應(yīng)的隊(duì)頭分組的多個(gè)隊(duì)頭寄存器來(lái)存取隊(duì)頭分組,所述方法還包括之后更新對(duì)隊(duì)頭寄存器中指定的隊(duì)頭分組的參考,且包括與相應(yīng)的空閑目的輸出端口匹配的所述隊(duì)頭分組相應(yīng)的所述隊(duì)頭寄存器。
全文摘要
描述了一種分組交換節(jié)點(diǎn),根據(jù)這種節(jié)點(diǎn),在選擇分組通過(guò)空閑輸出端口轉(zhuǎn)發(fā)時(shí),考慮在輸入隊(duì)列中排隊(duì)的多個(gè)分組??紤]多個(gè)排隊(duì)的分組降低了輸出端口保持空閑的可能性并且增加了每個(gè)輸入隊(duì)列被服務(wù)的可能性盡管因?yàn)闋?zhēng)用阻礙了分組的轉(zhuǎn)發(fā)。也描述了從輸入隊(duì)列中進(jìn)行分組排隊(duì)和出隊(duì)的過(guò)程,每個(gè)輸入隊(duì)列具有多個(gè)與之相關(guān)的指向隊(duì)頭隊(duì)列入口的相應(yīng)順序的多個(gè)隊(duì)頭寄存器。入隊(duì)確保正確的隊(duì)頭寄存器依次指向隊(duì)頭隊(duì)列入口的順序。按照次序服務(wù)每個(gè)輸入隊(duì)列移出隊(duì)列入口,且出隊(duì)確保隊(duì)頭指針的重新排序。從減少輸出端口保持空閑的可能性的來(lái)獲得優(yōu)勢(shì),同時(shí)增加了服務(wù)輸入隊(duì)列的可能性,因此減小了爭(zhēng)用的不利影響并且增加了分組吞吐量。
文檔編號(hào)H04L12/56GK1791069SQ20051013731
公開日2006年6月21日 申請(qǐng)日期2005年11月9日 優(yōu)先權(quán)日2004年11月9日
發(fā)明者P·拉比諾維奇, W·奧列辛斯基 申請(qǐng)人:阿爾卡特公司