国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法和裝置的制作方法

      文檔序號(hào):7682366閱讀:295來源:國知局
      專利名稱:以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及電數(shù)字?jǐn)?shù)據(jù)處理技術(shù)和設(shè)備,尤其涉及一種以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法和裝置。存儲(chǔ)—轉(zhuǎn)發(fā)模式工作的共享緩存式以太網(wǎng)交換芯片,其轉(zhuǎn)發(fā)處理過程可以用以下幾個(gè)處理步驟描述如下,如

      圖1所示1、接收并緩存數(shù)據(jù)幀從外部端口進(jìn)入交換芯片的數(shù)據(jù)幀經(jīng)輸入接口緩存到共享緩存中,共享緩存的分配由緩存管理模塊通過地址指針管理,在以后的處理的過程中,數(shù)據(jù)幀的主體將始終保存在共享緩存中,只有緩存地址指針在芯片中傳遞,直到轉(zhuǎn)發(fā)指令下達(dá)到輸出接口,再由輸出接口根據(jù)緩存地址指針把數(shù)據(jù)從共享緩存中讀出并發(fā)送到外部端口。
      2、目的端口查找數(shù)據(jù)幀寫入緩存時(shí),輸入接口模塊從數(shù)據(jù)幀中提取出用于對(duì)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎,轉(zhuǎn)發(fā)引擎根據(jù)這些信息對(duì)數(shù)據(jù)幀進(jìn)行轉(zhuǎn)發(fā)查找操作,獲得數(shù)據(jù)幀的目的端口。轉(zhuǎn)發(fā)引擎把數(shù)據(jù)幀的轉(zhuǎn)發(fā)目的端口、數(shù)據(jù)幀的緩存地址指針、數(shù)據(jù)幀的其他信息一起組成幀控制塊FCB,輸出到輸出隊(duì)列管理模塊中等待調(diào)度輸出。
      3、輸出隊(duì)列管理所謂輸出隊(duì)列,是指將幀控制塊FCB按每端口輸出隊(duì)列的方式排隊(duì),等待輸出到外部端口,隊(duì)列的基本屬性是先進(jìn)先出FIFO,并且隊(duì)列的長度是有限的,隊(duì)列管理首先管理隊(duì)列長度,一個(gè)隊(duì)列如果需要排隊(duì)的幀控制塊FCB太多則稱為擁塞,此時(shí)隊(duì)列管理過程就需要有選擇的丟棄一些等待排隊(duì)的幀控制塊,以便隊(duì)列正常運(yùn)行,隊(duì)列管理還要管理隊(duì)列的先進(jìn)先出行為,保證幀控制塊FCB能快速進(jìn)入和離開隊(duì)列。
      4、輸出調(diào)度一般來說,為了保證不同的服務(wù)質(zhì)量,每個(gè)輸出端口總是有多個(gè)輸出隊(duì)列,而多個(gè)端口也常常會(huì)同時(shí)有數(shù)據(jù)幀需要輸出,輸出調(diào)度過程就是從多個(gè)端口隊(duì)列中進(jìn)行選擇,只有當(dāng)前被選中的隊(duì)列才能把排隊(duì)的幀控制塊FCB送到輸出接口中。
      5、發(fā)送數(shù)據(jù)幀輸出接口收到調(diào)度輸出的幀控制塊后,根據(jù)其中攜帶的共享緩存地址指針,把數(shù)據(jù)幀從共享緩存中讀出來,發(fā)送到外部輸出端口,至此,以太網(wǎng)數(shù)據(jù)幀的轉(zhuǎn)發(fā)過程完成。
      為了提供服務(wù)質(zhì)量保證,以太網(wǎng)交換芯片通常使用優(yōu)先級(jí)隊(duì)列的方式組織每端口的輸出隊(duì)列,如圖2所示,每個(gè)端口有m個(gè)優(yōu)先級(jí)隊(duì)列,每個(gè)需要轉(zhuǎn)發(fā)到某端口的數(shù)據(jù)幀,會(huì)被轉(zhuǎn)發(fā)引擎根據(jù)其業(yè)務(wù)需求劃分到某個(gè)優(yōu)先級(jí)中,這個(gè)數(shù)據(jù)幀在輸出排隊(duì)時(shí)就會(huì)進(jìn)入該端口的對(duì)應(yīng)優(yōu)先級(jí)隊(duì)列,輸出調(diào)度過程需要從每個(gè)端口的這些隊(duì)列中每次選擇一個(gè)隊(duì)列,取出隊(duì)列中的幀控制塊FCB進(jìn)行發(fā)送。
      從以上過程可以看出,輸出隊(duì)列管理能力和輸出調(diào)度能力對(duì)芯片的轉(zhuǎn)發(fā)能力和性能好壞有極大的影響。
      為了解決輸出隊(duì)列管理和輸出調(diào)度問題,常用的技術(shù)方案如圖3所示,所有輸出端口的每個(gè)隊(duì)列都使用鏈表進(jìn)行管理,即芯片中每個(gè)輸出隊(duì)列就會(huì)對(duì)應(yīng)一個(gè)鏈表,所有這些鏈表共同存儲(chǔ)在一個(gè)隊(duì)列管理存儲(chǔ)區(qū)中,即圖3中的輸出隊(duì)列鏈表RAM,由于輸出隊(duì)列鏈表RAM的訪問速度有限,來自轉(zhuǎn)發(fā)引擎的幀控制塊FCB通常先使用一個(gè)先進(jìn)先出FIFO類型的緩存保存下來,輸出隊(duì)列調(diào)度器使用一定的輪詢調(diào)度算法計(jì)算每次選中哪個(gè)隊(duì)列進(jìn)行輸出,所有數(shù)據(jù)幀進(jìn)入隊(duì)列和讀出隊(duì)列都由輸出隊(duì)列管理完成,具體的操作為鏈表尾部的添加和鏈表頭部的讀出。
      鏈表的操作比較復(fù)雜,而多播數(shù)據(jù)幀需要進(jìn)入多個(gè)輸出隊(duì)列,這時(shí)的入隊(duì)列操作,也就是連續(xù)進(jìn)行多次鏈表添加,這樣將成為系統(tǒng)的瓶頸,導(dǎo)致后面的幀控制塊FCB等待,會(huì)在先進(jìn)先出FIFO緩存中大量堆積。
      在這種技術(shù)方案中,所有鏈表共同使用一塊輸出隊(duì)列鏈表RAM,這種鏈表是一種非常靈活的數(shù)據(jù)結(jié)構(gòu),各隊(duì)列可以共享輸出隊(duì)列鏈表RAM的資源,允許各隊(duì)列的長度隨意變化,如圖4顯示兩個(gè)輸出隊(duì)列,即隊(duì)列1和隊(duì)列2,各自在輸出隊(duì)列鏈表RAM地址中的一段,其中虛線表示隊(duì)列1,實(shí)線表示隊(duì)列2,輸出隊(duì)列存放在輸出隊(duì)列鏈表RAM中,每個(gè)RAM地址對(duì)應(yīng)一個(gè)RAM單元,每個(gè)RAM單元分為兩部分鏈表的數(shù)據(jù)部分、鏈表的指針部分,數(shù)據(jù)幀進(jìn)入隊(duì)列時(shí)不區(qū)分單、多播數(shù)據(jù)幀,隊(duì)列使用鏈表指針的方式連接起來。
      對(duì)于這樣的輸出隊(duì)列組織和管理方式,其對(duì)應(yīng)的調(diào)度輸出算法結(jié)構(gòu)可以參考圖5作如下表述輸出隊(duì)列調(diào)度分為兩級(jí)調(diào)度,流程如下a、端口間的端口調(diào)度由于所有的輸出數(shù)據(jù)幀都存放在中央共享緩存中,每次只能有一個(gè)數(shù)據(jù)幀輸出,因此需要先在所有輸出端口間進(jìn)行調(diào)度,確定哪個(gè)端口可以輸出數(shù)據(jù)幀,常見的輪詢算法有加權(quán)輪詢WRR、帶赤字輪詢DRR等。
      b、端口內(nèi)的輸出隊(duì)列調(diào)度選定了輸出端口后,再在每個(gè)端口內(nèi)的多個(gè)優(yōu)先級(jí)隊(duì)列之中進(jìn)行一次選擇,確定最終可以輸出數(shù)據(jù)幀的隊(duì)列,常見的輪詢算法有加權(quán)輪詢WRR、帶赤字輪詢DRR、改進(jìn)的赤字輪詢MDRR、嚴(yán)格優(yōu)先級(jí)輪詢、加權(quán)公平輪詢WFQ等。
      經(jīng)過這樣兩級(jí)調(diào)度獲得輸出隊(duì)列號(hào),就可以要求輸出隊(duì)列管理模塊輸出相應(yīng)的隊(duì)列隊(duì)首的幀控制塊FCB,傳遞至輸出接口進(jìn)行數(shù)據(jù)幀輸出。
      采用以上技術(shù)方案的主要缺點(diǎn)是
      首先,由于所有隊(duì)列共用一塊輸出隊(duì)列鏈表RAM,而輸出隊(duì)列鏈表RAM的訪問帶寬是有限的,對(duì)于多播數(shù)據(jù)幀來說,它需要被復(fù)制到多個(gè)輸出隊(duì)列中,因而需要消耗大量時(shí)間才能復(fù)制完成,這樣多播復(fù)制成為現(xiàn)有技術(shù)的速度瓶頸,因?yàn)槊總€(gè)多播幀控制塊FCB的復(fù)制過程比較慢,后續(xù)的幀控制塊FCB只好在入隊(duì)列的先進(jìn)先出FIFO緩存中等待,一方面導(dǎo)致延遲時(shí)間增加,另一方面,先進(jìn)先出FIFO如果被放滿會(huì)導(dǎo)致數(shù)據(jù)幀因?yàn)橄到y(tǒng)處理速度不足而丟棄,對(duì)系統(tǒng)性能有比較大的影響。
      其次,每個(gè)隊(duì)列中都是單播和多播幀控制塊FCB混在一起排隊(duì),調(diào)度模塊在進(jìn)行輪詢時(shí)不區(qū)分單播或多播,只是按照端口的分配帶寬進(jìn)行輪詢操作。事實(shí)上,單、多播數(shù)據(jù)幀在網(wǎng)絡(luò)上的服務(wù)質(zhì)量要求是不同的,混在一個(gè)隊(duì)列中則無法區(qū)分,造成兩種數(shù)據(jù)幀之間互相影響,無法提供好的服務(wù)質(zhì)量,尤其是多播流量較大的情況下,單播流量將會(huì)受到很大的沖擊。
      再次,無法根據(jù)單播和多播流量的特點(diǎn)區(qū)別對(duì)待的進(jìn)行擁塞控制,隊(duì)列長度是受交換芯片資源限制的,不可能無限長,如果有太多的數(shù)據(jù)幀控制塊FCB向一個(gè)輸出隊(duì)列排隊(duì),為保證隊(duì)列正常操作,必須采用擁塞控制算法,有選擇的丟棄一些數(shù)據(jù)幀,而單、多播數(shù)據(jù)幀的特點(diǎn)是不一樣的,它們?nèi)淌軘?shù)據(jù)幀丟棄的能力也不一樣,但單、多播數(shù)據(jù)幀混合在一個(gè)隊(duì)列使得無法針對(duì)數(shù)據(jù)幀的流量特點(diǎn)進(jìn)行選擇丟棄,影響了隊(duì)列資源的使用。本發(fā)明的目的在于提供一種快速數(shù)據(jù)處理且有效分配資源的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法和裝置。
      本發(fā)明中所采用的輸出隊(duì)列管理調(diào)度方法為
      A.接收并緩存數(shù)據(jù)幀,即將數(shù)據(jù)幀經(jīng)輸入接口緩存到共享緩存中,共享緩存的分配由緩存管理模塊通過地址指針管理,以后的處理過程中,數(shù)據(jù)幀的主體將始終保存在共享緩存中,直到轉(zhuǎn)發(fā)指令下達(dá)到輸出接口,再由輸出接口根據(jù)緩存地址指針把數(shù)據(jù)從共享緩存中讀出并發(fā)送到外部端口;B.目的端口的查找,即,在數(shù)據(jù)幀寫入緩存時(shí),輸入接口從數(shù)據(jù)幀中提取出用于對(duì)數(shù)據(jù)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎,轉(zhuǎn)發(fā)引擎把數(shù)據(jù)幀的轉(zhuǎn)發(fā)目的端口、數(shù)據(jù)幀的緩存地址指針、數(shù)據(jù)幀的其他信息一起組成幀控制塊輸至輸出隊(duì)列管理模塊;C.輸出隊(duì)列的管理,即,先將每端口的輸出隊(duì)列按照單、多播分離的方式組織,然后分別采用不同的方式對(duì)單播隊(duì)列和多播隊(duì)列進(jìn)行設(shè)置和組織,再用擁塞控制算法分別維護(hù)單播隊(duì)列和多播隊(duì)列;D.輸出調(diào)度,即,首先在調(diào)度算法運(yùn)行前,對(duì)單、多播優(yōu)先級(jí)隊(duì)列進(jìn)行匹配設(shè)置,使多播隊(duì)列的優(yōu)先級(jí)設(shè)置與單播隊(duì)列的優(yōu)先級(jí)對(duì)應(yīng),然后依次進(jìn)行端口間的端口調(diào)度,端口內(nèi)優(yōu)先級(jí)調(diào)度,單、多播隊(duì)列,最后將被選中的隊(duì)列的幀控制塊送到輸出接口中;E.輸出接口收到調(diào)度輸出的幀控制塊后,根據(jù)其中攜帶的共享緩存地址指針,把數(shù)據(jù)幀從共享緩存中讀出來,發(fā)送到外部輸出端口。
      輸出隊(duì)列的管理中,單播數(shù)據(jù)幀控制塊按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,多播數(shù)據(jù)幀控制塊采用獨(dú)立的多播隊(duì)列方式,該多播隊(duì)列采用先進(jìn)先出隊(duì)列的方式組織;多播隊(duì)列的擁塞控制算法采用隊(duì)尾直接丟棄方法;單播隊(duì)列的擁塞控制算法采用隨機(jī)早期丟棄RED、帶權(quán)重的隨機(jī)早期丟棄WRED或隊(duì)尾直接丟棄;多播隊(duì)列在每個(gè)端口設(shè)置2個(gè);輸出調(diào)度中,優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,可以采用加權(quán)輪詢WRR或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,對(duì)單、多播隊(duì)列進(jìn)行調(diào)度。
      本發(fā)明中應(yīng)用上述輸出隊(duì)列管理調(diào)度方法的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置所采用的技術(shù)方案為在以太網(wǎng)交換芯片中,包括輸入接口、共享緩存、緩存管理模塊和輸出接口,數(shù)據(jù)幀寫入緩存時(shí),輸入接口從數(shù)據(jù)幀中提取出用于對(duì)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎,轉(zhuǎn)發(fā)引擎把幀控制塊輸至輸出隊(duì)列管理模塊,其特征在于輸出隊(duì)列管理模塊中包括一單/多播報(bào)文控制分離模塊將幀控制塊FCB按每端口的單、多播分離的方式輸出隊(duì)列,單播數(shù)據(jù)幀控制塊FCB經(jīng)單播輸出隊(duì)列出入隊(duì)仲裁按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,使用擁塞控制算法維護(hù)單播隊(duì)列;多播數(shù)據(jù)幀控制塊FCB經(jīng)多播輸出隊(duì)列出入隊(duì)仲裁采用獨(dú)立的多播隊(duì)列方式,該多播隊(duì)列采用先進(jìn)先出FIFO隊(duì)列的方式組織,采用隊(duì)尾直接丟棄的擁塞控制算法維護(hù),然后進(jìn)行單、多播優(yōu)先級(jí)隊(duì)列間的匹配設(shè)置,即將多播隊(duì)列的優(yōu)先級(jí)設(shè)置為與相應(yīng)的單播隊(duì)列的優(yōu)先級(jí)對(duì)應(yīng),在輸出隊(duì)列調(diào)度器中經(jīng)過端口間的端口調(diào)度和端口內(nèi)優(yōu)先級(jí)調(diào)度后,如果優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,則采用調(diào)度算法再進(jìn)行單、多播隊(duì)列間的調(diào)度,調(diào)度后輸出調(diào)度結(jié)果,否則,直接輸出調(diào)度結(jié)果。
      在這種以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置中,多播隊(duì)列在每個(gè)端口可設(shè)置2個(gè);單播隊(duì)列共用一個(gè)單播輸出隊(duì)列鏈表RAM;多播隊(duì)列至少采用一個(gè)獨(dú)立的多播輸出隊(duì)列FIFO數(shù)據(jù)RAM;優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,可以采用加權(quán)輪詢WRR或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,對(duì)單、多播隊(duì)列進(jìn)行調(diào)度。
      本發(fā)明的有益效果為在本發(fā)明中,將單、多播數(shù)據(jù)幀隊(duì)列分離,這樣可根據(jù)單、多播流量的特點(diǎn),分別對(duì)單播和多播輸出隊(duì)列采用相應(yīng)快速、有效的輸出隊(duì)列方式及擁塞控制算法,可以保證多播數(shù)據(jù)幀快速復(fù)制,且有效分配資源,利用匹配設(shè)置過程將單、多播輸出隊(duì)列聯(lián)系起來,采用調(diào)度算法進(jìn)行調(diào)度,靈活控制單、多播流量帶寬,使得資源分配優(yōu)化,因此,本發(fā)明可實(shí)現(xiàn)快速數(shù)據(jù)處理且有效分配資源。
      對(duì)多播數(shù)據(jù)幀控制塊FCB使用單獨(dú)的多播隊(duì)列進(jìn)行管理,每個(gè)端口設(shè)置2個(gè)多播隊(duì)列一般足以支持大多數(shù)應(yīng)用,使多播數(shù)據(jù)幀快速復(fù)制,而且所需要的成本較低,可獲得較好的成本性能比;當(dāng)優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,采用加權(quán)輪詢WRR或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,因這種調(diào)度算法計(jì)算簡單,易于實(shí)現(xiàn),進(jìn)一步提高了本發(fā)明的實(shí)用性;在以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法中,多播隊(duì)列采用簡單的隊(duì)尾直接丟棄的擁塞控制算法,可實(shí)現(xiàn)簡單、快速的計(jì)算;在以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置中,單播隊(duì)列共用一個(gè)單播輸出隊(duì)列鏈表RAM,多播隊(duì)列至少采用一個(gè)獨(dú)立的多播輸出隊(duì)列FIFO數(shù)據(jù)RAM,這樣可以使單、多播流量間的互相影響大大減少,可以靈活的設(shè)置和匹配各種流量的服務(wù)要求,對(duì)單、多播數(shù)據(jù)幀在網(wǎng)絡(luò)上的服務(wù)質(zhì)量提供了較高的保證。
      總之,本發(fā)明可實(shí)現(xiàn)快速數(shù)據(jù)處理且有效分配資源,計(jì)算簡單、快速,成本低,網(wǎng)絡(luò)服務(wù)質(zhì)量高。圖1為現(xiàn)有交換芯片數(shù)據(jù)處理過程示意圖;圖2為現(xiàn)有交換芯片端口的輸出隊(duì)列示意圖;圖3為現(xiàn)有交換芯片隊(duì)列管理示意圖;圖4為現(xiàn)有交換芯片輸出隊(duì)列鏈表示意圖;圖5為現(xiàn)有交換芯片調(diào)度輸出算法結(jié)構(gòu)示意圖;圖6為多播隊(duì)列示意圖;圖7為單、多播優(yōu)先級(jí)隊(duì)列匹配示意圖8為調(diào)度輸出算法結(jié)構(gòu)示意圖;圖9為本發(fā)明隊(duì)列管理調(diào)度的結(jié)構(gòu)示意圖。下面根據(jù)附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明根據(jù)圖6、圖7、圖8和圖9,參考圖1,在以太網(wǎng)交換芯片中,包括輸入接口1、共享緩存2、緩存管理模塊4和輸出接口3,數(shù)據(jù)幀寫入緩存時(shí),輸入接口1從數(shù)據(jù)幀中提取出用于對(duì)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎5,轉(zhuǎn)發(fā)引擎5把幀控制塊FCB輸至輸出隊(duì)列管理模塊6,輸出隊(duì)列管理模塊6中包括一單/多播報(bào)文控制分離模塊61將幀控制塊FCB按每端口的單、多播分離的方式輸出隊(duì)列,如圖9所示,單播數(shù)據(jù)幀控制塊FCB經(jīng)單播輸出隊(duì)列出入隊(duì)仲裁62按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,單播隊(duì)列共用一個(gè)單播輸出隊(duì)列鏈表RAM621,使用擁塞控制算法維護(hù)單播隊(duì)列,單播隊(duì)列的擁塞控制算法可采用隨機(jī)早期丟棄RED、帶權(quán)重的隨機(jī)早期丟棄WRED或隊(duì)尾直接丟棄;多播數(shù)據(jù)幀控制塊FCB經(jīng)多播輸出隊(duì)列出入隊(duì)仲裁63采用獨(dú)立的多播隊(duì)列方式,多播隊(duì)列在每個(gè)端口設(shè)置2個(gè),多播隊(duì)列采用一個(gè)獨(dú)立的多播輸出隊(duì)列FIFO數(shù)據(jù)RAM631,如圖6所示的多播隊(duì)列,該多播隊(duì)列采用先進(jìn)先出FIFO隊(duì)列的方式組織,采用隊(duì)尾直接丟棄的擁塞控制算法維護(hù),然后進(jìn)行單、多播優(yōu)先級(jí)隊(duì)列間的匹配設(shè)置,如圖7所示,例如,某單播有4個(gè)優(yōu)先級(jí)隊(duì)列,多播有2個(gè)優(yōu)先級(jí)隊(duì)列,匹配設(shè)置時(shí)就確定多播的2個(gè)優(yōu)先級(jí)分別與單播的4個(gè)優(yōu)先級(jí)哪2個(gè)對(duì)應(yīng),在此例中,若單播的4個(gè)優(yōu)先級(jí)隊(duì)列為UQ1、UQ2、UQ3、UQ4,多播的2個(gè)優(yōu)先級(jí)隊(duì)列為MQ1、MQ2,若設(shè)置MQ1與UQ2對(duì)應(yīng),MQ2與UQ4對(duì)應(yīng),則獲得了這樣的4個(gè)優(yōu)先級(jí)別UQ1、UQ2&amp;MQ1、UQ3、UQ4&amp;MQ2,這樣將多播隊(duì)列的優(yōu)先級(jí)設(shè)置為與相應(yīng)的單播隊(duì)列的優(yōu)先級(jí)對(duì)應(yīng),在輸出隊(duì)列調(diào)度器74中經(jīng)過端口間的端口調(diào)度和端口內(nèi)優(yōu)先級(jí)調(diào)度,端口間的端口調(diào)度的調(diào)度算法可采用加權(quán)輪詢WRR、赤字加權(quán)輪詢DRR等,端口內(nèi)優(yōu)先級(jí)調(diào)度的調(diào)度算法可以是加權(quán)輪詢WRR、帶赤字輪詢DRR、改進(jìn)的帶赤字輪詢MDRR、嚴(yán)格優(yōu)先級(jí)輪詢等,如圖8所示,如果優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,則采用調(diào)度算法再進(jìn)行單、多播隊(duì)列間的調(diào)度,調(diào)度后輸出調(diào)度結(jié)果,否則,直接輸出調(diào)度結(jié)果,在這里可采用加權(quán)輪詢WRR或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,對(duì)單、多播隊(duì)列進(jìn)行調(diào)度,被選中的隊(duì)列把的幀控制塊FCB送到輸出接口3中,輸出接口3收到發(fā)自調(diào)度模塊7中輸出隊(duì)列調(diào)度器74的幀控制塊FCB后,根據(jù)其中攜帶的共享緩存2地址指針,輸出接口3把數(shù)據(jù)幀從共享緩存2中讀出來,發(fā)送到外部輸出端口。
      權(quán)利要求
      1.一種以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,該方法包括以下步驟A.接收并緩存數(shù)據(jù)幀,即將數(shù)據(jù)幀經(jīng)輸入接口(1)緩存到共享緩存(2)中,共享緩存(2)的分配由緩存管理模塊(4)通過地址指針管理,以后的處理過程中,數(shù)據(jù)幀的主體將始終保存在共享緩存(2)中,直到轉(zhuǎn)發(fā)指令下達(dá)到輸出接口(3),再由輸出接口(3)根據(jù)緩存地址指針把數(shù)據(jù)從共享緩存(2)中讀出并發(fā)送到外部端口;B.目的端口的查找,即,在數(shù)據(jù)幀寫入緩存時(shí),輸入接口(1)從數(shù)據(jù)幀中提取出用于對(duì)數(shù)據(jù)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎(5),轉(zhuǎn)發(fā)引擎(5)把數(shù)據(jù)幀的轉(zhuǎn)發(fā)目的端口、數(shù)據(jù)幀的緩存地址指針、數(shù)據(jù)幀的其他信息一起組成幀控制塊(FCB)輸至輸出隊(duì)列管理模塊;C.輸出隊(duì)列的管理,即,先將每端口的輸出隊(duì)列按照單、多播分離的方式組織,然后分別采用不同的方式對(duì)單播隊(duì)列和多播隊(duì)列進(jìn)行設(shè)置和組織,再用擁塞控制算法分別維護(hù)單播隊(duì)列和多播隊(duì)列;D.輸出調(diào)度,即,首先在調(diào)度算法運(yùn)行前,對(duì)單、多播優(yōu)先級(jí)隊(duì)列進(jìn)行匹配設(shè)置,使多播隊(duì)列的優(yōu)先級(jí)設(shè)置與單播隊(duì)列的優(yōu)先級(jí)對(duì)應(yīng),然后依次進(jìn)行端口間的端口調(diào)度,端口內(nèi)優(yōu)先級(jí)調(diào)度,單、多播隊(duì)列,最后將被選中的隊(duì)列的幀控制塊(FCB)送到輸出接口(3)中;E.輸出接口(3)收到調(diào)度輸出的幀控制塊(FCB)后,根據(jù)其中攜帶的共享緩存(2)地址指針,把數(shù)據(jù)幀從共享緩存(2)中讀出來,發(fā)送到外部輸出端口。
      2.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,其特征在于所述的輸出隊(duì)列的管理中,單播數(shù)據(jù)幀控制塊(FCB)按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,多播數(shù)據(jù)幀控制塊(FCB)采用獨(dú)立的多播隊(duì)列方式,該多播隊(duì)列采用先進(jìn)先出(FIFO)隊(duì)列的方式組織。
      3.根據(jù)權(quán)利要求1或2所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,其特征在于所述的多播隊(duì)列的擁塞控制算法采用隊(duì)尾直接丟棄方法。
      4.根據(jù)權(quán)利要求1或2所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,其特征在于所述的單播隊(duì)列的擁塞控制算法采用隨機(jī)早期丟棄(RED)、帶權(quán)重的隨機(jī)早期丟棄(WRED)或隊(duì)尾直接丟棄。
      5.根據(jù)權(quán)利要求1或2所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,其特征在于所述的多播隊(duì)列在每個(gè)端口設(shè)置2個(gè)。
      6.根據(jù)權(quán)利要求1所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法,其特征在于所述的輸出調(diào)度中,優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,可以采用加權(quán)輪詢(WRR)或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,對(duì)單、多播隊(duì)列進(jìn)行調(diào)度。
      7.一種應(yīng)用權(quán)利要求1所述的輸出隊(duì)列管理調(diào)度方法的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置,在以太網(wǎng)交換芯片中,包括輸入接口、共享緩存、緩存管理模塊和輸出接口,數(shù)據(jù)幀寫入緩存時(shí),輸入接口從數(shù)據(jù)幀中提取出用于對(duì)幀進(jìn)行轉(zhuǎn)發(fā)的信息,與數(shù)據(jù)幀在緩存中的地址一起,發(fā)送到轉(zhuǎn)發(fā)引擎,轉(zhuǎn)發(fā)引擎把幀控制塊輸至輸出隊(duì)列管理模塊,其特征在于輸出隊(duì)列管理模塊(6)中包括一單/多播報(bào)文控制分離模塊(61)將幀控制塊(FCB)按每端口的單、多播分離的方式輸出隊(duì)列,單播數(shù)據(jù)幀控制塊(FCB)經(jīng)單播輸出隊(duì)列出入隊(duì)仲裁(62)按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,使用擁塞控制算法維護(hù)單播隊(duì)列;多播數(shù)據(jù)幀控制塊(FCB)經(jīng)多播輸出隊(duì)列出入隊(duì)仲裁(63)采用獨(dú)立的多播隊(duì)列方式,該多播隊(duì)列采用先進(jìn)先出(FIFO)隊(duì)列的方式組織,采用隊(duì)尾直接丟棄的擁塞控制算法維護(hù),然后進(jìn)行單、多播優(yōu)先級(jí)隊(duì)列間的匹配設(shè)置,即將多播隊(duì)列的優(yōu)先級(jí)設(shè)置為與相應(yīng)的單播隊(duì)列的優(yōu)先級(jí)對(duì)應(yīng),在輸出隊(duì)列調(diào)度器(74)中經(jīng)過端口間的端口調(diào)度和端口內(nèi)優(yōu)先級(jí)調(diào)度后,如果優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,則采用調(diào)度算法再進(jìn)行單、多播隊(duì)列間的調(diào)度,調(diào)度后輸出調(diào)度結(jié)果,否則,直接輸出調(diào)度結(jié)果。
      8.根據(jù)權(quán)利要求7所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置,其特征在于所述的多播隊(duì)列在每個(gè)端口設(shè)置2個(gè)。
      9.根據(jù)權(quán)利要求7所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置,其特征在于所述的單播隊(duì)列共用一個(gè)單播輸出隊(duì)列鏈表RAM(621)。
      10.根據(jù)權(quán)利要求7或8所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置,其特征在于所述的多播隊(duì)列至少采用一個(gè)獨(dú)立的多播輸出隊(duì)列FIFO數(shù)據(jù)RAM(631)。
      11.根據(jù)權(quán)利要求7所述的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度裝置,其特征在于所述的優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,可以采用加權(quán)輪詢(WRR)或嚴(yán)格優(yōu)先級(jí)的調(diào)度算法,對(duì)單、多播隊(duì)列進(jìn)行調(diào)度。
      全文摘要
      一種涉及電數(shù)字?jǐn)?shù)據(jù)處理技術(shù)和設(shè)備的以太網(wǎng)交換芯片輸出隊(duì)列管理調(diào)度方法和裝置,一單/多播報(bào)文控制分離模塊將幀控制塊按每端口的單、多播分離的方式輸出隊(duì)列,單播數(shù)據(jù)幀控制塊按多個(gè)優(yōu)先級(jí)隊(duì)列的方式設(shè)置單播隊(duì)列,使用擁塞控制算法維護(hù)單播隊(duì)列;多播數(shù)據(jù)幀控制塊采用獨(dú)立的多播隊(duì)列方式,以先進(jìn)先出隊(duì)列的方式組織,采用隊(duì)尾直接丟棄的擁塞控制算法維護(hù),然后進(jìn)行單、多播優(yōu)先級(jí)隊(duì)列匹配設(shè)置,在輸出隊(duì)列調(diào)度器中經(jīng)過端口間的端口調(diào)度和端口內(nèi)優(yōu)先級(jí)調(diào)度后,如果優(yōu)先級(jí)內(nèi)同時(shí)有單、多播隊(duì)列,則采用調(diào)度算法再進(jìn)行單、多播隊(duì)列間的調(diào)度,調(diào)度后輸出調(diào)度結(jié)果,否則,直接輸出調(diào)度結(jié)果,本發(fā)明可實(shí)現(xiàn)快速數(shù)據(jù)處理且有效分配資源。
      文檔編號(hào)H04L12/24GK1411211SQ02108978
      公開日2003年4月16日 申請(qǐng)日期2002年4月17日 優(yōu)先權(quán)日2002年4月17日
      發(fā)明者林郁, 林暉, 崔靖杰, 劉永志, 唐焰, 譚銳, 張志強(qiáng), 饒偉年, 孫杰, 楊智明 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1