亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

隊(duì)列調(diào)度的方法和裝置制造方法

文檔序號(hào):7980439閱讀:213來(lái)源:國(guó)知局
隊(duì)列調(diào)度的方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種隊(duì)列調(diào)度的方法和裝置,對(duì)非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列綁定到非普通端口上進(jìn)行調(diào)度,并通過增加邏輯端口級(jí)調(diào)度器,使非普通端口與普通端口共享帶寬進(jìn)行調(diào)度,解決了待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力的情況下隊(duì)列的處理問題。同時(shí),通過雙級(jí)burst調(diào)度及包重組保證了數(shù)據(jù)包的完整性,并充分利用時(shí)隙資源,提高了系統(tǒng)的包轉(zhuǎn)發(fā)效率。
【專利說(shuō)明】隊(duì)列調(diào)度的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通訊技術(shù)中流量管理的方法,尤其涉及一種流量管理中隊(duì)列調(diào)度的方法和裝置。
【背景技術(shù)】
[0002]隊(duì)列調(diào)度,即隊(duì)列通過某種觸發(fā)檢查(比如接收到授權(quán)觸發(fā)等),仲裁隊(duì)列的出隊(duì)條件,按照一定的規(guī)則調(diào)度隊(duì)列出隊(duì),常用的調(diào)度算法有RR(Round Robin,輪詢)調(diào)度算法和SP(Strict Priority,嚴(yán)格優(yōu)先級(jí))調(diào)度算法。
[0003]隨著芯片相關(guān)的軟件、硬件技術(shù)的發(fā)展,對(duì)流量管理芯片的要求越來(lái)越高,對(duì)包的轉(zhuǎn)發(fā)率、隊(duì)列調(diào)度復(fù)雜程度提出了較高的要求。例如,假定流量管理芯片每個(gè)物理端口的出隊(duì)能力為40G/N,轉(zhuǎn)發(fā)率為72MPPS/N(N為出端口的數(shù)量),如果要處理大小為40G、轉(zhuǎn)發(fā)率為72MPPS的流量,根據(jù)現(xiàn)有調(diào)度方法是不可實(shí)現(xiàn)的。也就是說(shuō),待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力時(shí),現(xiàn)有技術(shù)中隊(duì)列調(diào)度的方法無(wú)法實(shí)現(xiàn)對(duì)該隊(duì)列的調(diào)度。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種隊(duì)列調(diào)度的方法和裝置,在待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力的情況下,仍然能夠?qū)崿F(xiàn)對(duì)該隊(duì)列的調(diào)度。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供一種隊(duì)列調(diào)度的方法,包括:
[0006]將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度;
[0007]設(shè)置邏輯端口級(jí)調(diào)度器,根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和/或非普通端口,對(duì)所述非普通端口對(duì)應(yīng)的入隊(duì)列拆分后得到的多個(gè)子隊(duì)列和/或所述普通端口對(duì)應(yīng)的普通端口隊(duì)列進(jìn)行授權(quán),其中,所述普通端口和非普通端口共享帶寬;
[0008]將得到授權(quán)的子隊(duì)列和/普通端口隊(duì)列放入寄存器,并進(jìn)行第一級(jí)burst調(diào)度;
[0009]在所述子隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后,將所述子隊(duì)列分別寫入對(duì)應(yīng)的FIFO先入先出,并通過排序FIFO記錄各子隊(duì)列的包頭標(biāo)志進(jìn)入FIFO的順序,根據(jù)所述排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取所述排序FIFO ;
[0010]對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
[0011]所述將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度包括:
[0012]根據(jù)預(yù)設(shè)策略判斷所述入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,將所述非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將所述普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度,其中,所述非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
[0013]所述設(shè)置邏輯端口級(jí)調(diào)度器包括:
[0014]在物理端口對(duì)應(yīng)的調(diào)度器下級(jí)設(shè)置邏輯端口級(jí)調(diào)度器,所述邏輯端口級(jí)調(diào)度器與邏輯端口對(duì)應(yīng)。[0015]所述根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和非普通端口包括:
[0016]對(duì)所述普通端口和非普通端口采用輪詢調(diào)度方式或嚴(yán)格優(yōu)先級(jí)調(diào)度方式進(jìn)行調(diào)度。
[0017]所述進(jìn)行第一級(jí)burst調(diào)度包括:按照固定大小和時(shí)隙的burst對(duì)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行調(diào)度。
[0018]所述進(jìn)行第一級(jí)burst調(diào)度包括:
[0019]所述普通端口每X個(gè)周期調(diào)度一次,所述非普通端口每x/n個(gè)周期調(diào)度一次,X為自然數(shù),η為所述非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。
[0020]所述進(jìn)行第一級(jí)burst調(diào)度包括輸出以下內(nèi)容的一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的寄存器標(biāo)號(hào)。
[0021]對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度包括:
[0022]給每個(gè)burst打標(biāo)記以標(biāo)明該burst來(lái)自普通端口還是非普通端口。
[0023]本發(fā)明實(shí)施例還提供一種隊(duì)列調(diào)度的裝置,包括:
[0024]入隊(duì)列處理單元,用于將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度;
[0025]授權(quán)處理單元,用于設(shè)置邏輯端口級(jí)調(diào)度器,根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和非普通端口,對(duì)所述多個(gè)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行授權(quán),其中,所述普通端口和非普通端口共享帶寬;
[0026]第一級(jí)burst調(diào)度單元,用于將得到授權(quán)的子隊(duì)列和/普通端口隊(duì)列放入寄存器,并進(jìn)行第一級(jí)burst調(diào)度;
[0027]包重組單元,用于在所述子隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后,將所述子隊(duì)列分別寫入對(duì)應(yīng)的FIFO先入先出,并通過排序FIFO記錄各子隊(duì)列的包頭標(biāo)志進(jìn)入FIFO的順序,根據(jù)所述排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取所述排序FIFO ;
[0028]第二級(jí)burst調(diào)度單元,用于對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
[0029]所述入隊(duì)列處理單元還用于:根據(jù)預(yù)設(shè)策略判斷入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,將所述非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將所述普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度,其中,所述非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
[0030]所述授權(quán)處理單元還用于:在物理端口對(duì)應(yīng)的調(diào)度器下級(jí)設(shè)置邏輯端口級(jí)調(diào)度器,所述邏輯端口級(jí)調(diào)度器與邏輯端口對(duì)應(yīng)。
[0031]所述第一級(jí)burst調(diào)度單元還用于:對(duì)所述普通端口和非普通端口采用輪詢調(diào)度方式或嚴(yán)格優(yōu)先級(jí)調(diào)度方式進(jìn)行調(diào)度。
[0032]所述第一級(jí)burst調(diào)度單元還用于:按照固定大小和時(shí)隙的burst對(duì)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行調(diào)度。
[0033]所述第一級(jí)burst調(diào)度單元還用于:每X個(gè)周期調(diào)度所述普通端口 一次,每x/n個(gè)周期調(diào)度所述非普通端口一次,X為自然數(shù),η為所述非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。
[0034]所述第一級(jí)burst調(diào)度單元還用于:輸出以下內(nèi)容的一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的寄存器標(biāo)號(hào)。
[0035]所述第二級(jí)burst調(diào)度單元還用于:給每個(gè)burst打標(biāo)記以標(biāo)明該burst來(lái)自普通端口還是非普通端口。
[0036]本發(fā)明實(shí)施例提供的方法和裝置中,對(duì)非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列綁定到非普通端口上進(jìn)行調(diào)度,并通過增加邏輯端口級(jí)調(diào)度器,使非普通端口與普通端口共享帶寬進(jìn)行調(diào)度,解決了待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力的情況下隊(duì)列的處理問題。同時(shí),通過雙級(jí)burst調(diào)度及包重組保證了數(shù)據(jù)包的完整性,并充分利用時(shí)隙資源,提高了系統(tǒng)的包轉(zhuǎn)發(fā)效率。
【專利附圖】

【附圖說(shuō)明】
[0037]圖1是本發(fā)明實(shí)施例提供的隊(duì)列調(diào)度的方法的流程示意圖;
[0038]圖2是圖1所示方法中入隊(duì)列處理的過程示意圖;
[0039]圖3是圖1所示方法中授權(quán)處理時(shí)調(diào)度器的設(shè)置示意圖;
[0040]圖4是圖1所示方法中第一級(jí)burst調(diào)度的過程示意圖;
[0041]圖5是圖1所示方法中包重組處理的過程示意圖;
[0042]圖6是圖1所示方法中出隊(duì)列示意圖;
[0043]圖7是本發(fā)明實(shí)施例提供的隊(duì)列調(diào)度的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
[0045]本發(fā)明的主要思想是:將一些隊(duì)列性能超出系統(tǒng)單隊(duì)列處理能力的特定隊(duì)列綁定到非普通端口上,最后映射到普通端口上,將非普通端口授權(quán)進(jìn)行統(tǒng)一處理,共享普通端口資源,提高系統(tǒng)效率。進(jìn)一步的,利用兩級(jí)burst調(diào)度加包重組方案,保證報(bào)文完成性同時(shí)充分利用時(shí)隙資源,按照可配置的burst大小調(diào)度,提高總的端口的調(diào)度能力。其中,非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
[0046]本發(fā)明實(shí)施例提供一種隊(duì)列調(diào)度的方法,如圖1所示,包括:
[0047]步驟101,對(duì)接收到的入隊(duì)列進(jìn)行隊(duì)列類型判斷和包處理。
[0048]根據(jù)預(yù)設(shè)策略判斷入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,該預(yù)設(shè)策略例如為:預(yù)先設(shè)置業(yè)務(wù)類型與端口類型的對(duì)應(yīng)關(guān)系,根據(jù)入隊(duì)列的業(yè)務(wù)類型判斷其為非普通端口隊(duì)列或者普通端口隊(duì)列。將非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度。在入包處理過程中,還可以使用一個(gè)2bit的計(jì)數(shù)器,用于記錄當(dāng)前非普通端口隊(duì)列使用的鏈表情況(即相對(duì)于該聚合隊(duì)列的第
0、1、2、3條物理隊(duì)列號(hào)),如圖2所示,當(dāng)有非普通端口隊(duì)列入隊(duì)時(shí),則當(dāng)前block應(yīng)當(dāng)寫入的物理隊(duì)列號(hào)等于聚合隊(duì)列號(hào)+當(dāng)前的鏈表計(jì)數(shù)器。因?yàn)楫?dāng)前的隊(duì)列的模式是可配的,任何一條鏈表都有可能被配置成非普通端口隊(duì)列或普通端口隊(duì)列,所以當(dāng)前每個(gè)隊(duì)列都應(yīng)當(dāng)預(yù)留該計(jì)數(shù)器,對(duì)于普通端口隊(duì)列來(lái)說(shuō),此計(jì)數(shù)器只能為O。[0049]步驟102,對(duì)非普通端口隊(duì)列和/或普通端口隊(duì)列進(jìn)行授權(quán)處理。
[0050]如圖3所示,芯片的授權(quán)模塊在物理端口級(jí)調(diào)度器下面設(shè)置邏輯端口級(jí)調(diào)度器。邏輯端口級(jí)調(diào)度器對(duì)所有的非普通端口統(tǒng)一進(jìn)行綁定處理,并且非普通端口與普通端口的QOS方式可配置(例如嚴(yán)格優(yōu)先級(jí)調(diào)度方式、輪詢調(diào)度方式),非普通端口和普通端口進(jìn)行共享帶寬,從而達(dá)到最終將非普通端口的流量映射到物理端口上的目的。邏輯端口級(jí)調(diào)度器對(duì)非普通端口隊(duì)列拆分得到的多個(gè)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行授權(quán),得到授權(quán)的隊(duì)列進(jìn)行后續(xù)處理。
[0051]步驟103,對(duì)非普通端口隊(duì)列和/或普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度。
[0052]將非普通端口的各個(gè)子隊(duì)列以及普通端口隊(duì)列放到各個(gè)寄存器中,每個(gè)子隊(duì)列和普通端口均等按照固定的burst大小進(jìn)行調(diào)度,burst大小可配置,調(diào)度的時(shí)隙固定,減少了沖突,同時(shí)按照burst去扣除授權(quán)盈余,進(jìn)一步減少?zèng)_突。如圖4所示,普通端口每X個(gè)周期調(diào)度一次,非普通端口每x/n個(gè)周期調(diào)度一次,其中,X為自然數(shù),η為非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。普通端口和非端口按照固定的burst進(jìn)行輪詢調(diào)度,非普通端口在regO到regn-Ι進(jìn)行輪詢調(diào)度,調(diào)度輸出包括下述一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的reg標(biāo)號(hào)(reg0...regn-Ι)。
[0053]步驟104,對(duì)非普通端口隊(duì)列的第一級(jí)burst調(diào)度結(jié)果進(jìn)行包重組處理。
[0054]第一級(jí)burst調(diào)度時(shí)非普通端口的報(bào)文會(huì)存在亂序情況,并且會(huì)映射到最終的普通端口,會(huì)存在非普通端口包的亂序,本發(fā)明實(shí)施例中對(duì)第一級(jí)burst調(diào)度結(jié)果進(jìn)行包重組處理。包重組通過一些列FIFO完成,其中,排序FIFO用于對(duì)第一級(jí)burst的sop (包頭標(biāo)志)進(jìn)行排序,其他FIFO用于存放第一級(jí)burst調(diào)度器調(diào)度過來(lái)的burst信息,讀取FIFO內(nèi)的數(shù)據(jù)時(shí)需要首先讀取排序FIF0,如果排序FIFO非空,根據(jù)排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取排序FIF0,如果非空,重復(fù)上面操作。例如圖5所不,包重組處理通過η個(gè)FIFO進(jìn)行,每個(gè)FIF00...FIFOn-1與圖4中的regO到regn-1一一對(duì)應(yīng),另外有一個(gè)排序FIF0,用來(lái)記錄包頭標(biāo)志進(jìn)入FIFOO-FIFOn-1的順序,如果排序FIFO非空,則讀取其中的FIFO編號(hào)到對(duì)應(yīng)編號(hào)的FIFO中讀取數(shù)據(jù)包,直到讀到包尾,再次讀取排序FIF0,如果非空,重復(fù)上面操作。
[0055]步驟105,對(duì)非普通端口隊(duì)列和/或普通端口隊(duì)列對(duì)應(yīng)的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
[0056]包重組完成一個(gè)完整的包調(diào)度長(zhǎng)包存在很長(zhǎng)的時(shí)間空隙,存在流量的突發(fā),本發(fā)明實(shí)施例中采用FIFO中隨來(lái)隨走的方式,最先調(diào)度的FIFO中的切片和普通端口首先進(jìn)行第二級(jí)burst調(diào)度,并將普通端口和非普通端口的切片打標(biāo)記進(jìn)行區(qū)分,提高了系統(tǒng)的性能。仍以圖5為例,為了縮短包重組帶來(lái)的延時(shí),只要FIFOO-FIFOn-1中有burst大小數(shù)據(jù)即可進(jìn)行burst調(diào)度,非普通端口 burst大小數(shù)據(jù)和普通端口 burst數(shù)據(jù)再次進(jìn)行burst調(diào)度,只要給每個(gè)burst標(biāo)記是來(lái)自普通端口和非普通端口即可,即保證了包的順序,又提高了調(diào)度效率。如圖6所示,為出隊(duì)列示意圖,第一級(jí)burst調(diào)度后非普通端口數(shù)據(jù)進(jìn)行包重組單元,普通端口數(shù)據(jù)進(jìn)入普通端口 burst緩存單元,然后包重組單元和普通端口 burst緩存單元將數(shù)據(jù)向第二級(jí)burst調(diào)度單元傳輸,進(jìn)行第二級(jí)burst調(diào)度。
[0057]通過采用本發(fā)明實(shí)施例提供的方法,對(duì)非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列綁定到非普通端口上進(jìn)行調(diào)度,并通過增加邏輯端口級(jí)調(diào)度器,使非普通端口與普通端口共享帶寬進(jìn)行調(diào)度,解決了待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力的情況下隊(duì)列的處理問題。同時(shí),通過雙級(jí)burst調(diào)度及包重組保證了數(shù)據(jù)包的完整性,并充分利用時(shí)隙資源,提高了系統(tǒng)的包轉(zhuǎn)發(fā)效率。
[0058]基于與上述方法實(shí)施例相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種隊(duì)列調(diào)度的裝置,如圖7所示,包括:
[0059]入隊(duì)列處理單元10,用于將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度;
[0060]授權(quán)處理單元20,用于設(shè)置邏輯端口級(jí)調(diào)度器,根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和非普通端口,對(duì)所述非普通端口對(duì)應(yīng)的入隊(duì)列拆分后得到的多個(gè)子隊(duì)列和/或所述普通端口對(duì)應(yīng)的普通端口隊(duì)列進(jìn)行授權(quán),其中,所述普通端口和非普通端口共享帶寬;
[0061]第一級(jí)burst調(diào)度單元30,用于將得到授權(quán)的子隊(duì)列和/普通端口隊(duì)列放入寄存器,并進(jìn)行第一級(jí)burst調(diào)度;
[0062]包重組單元40,用于在所述子隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后,將所述子隊(duì)列分別寫入對(duì)應(yīng)的FIFO先入先出,并通過排序FIFO記錄各子隊(duì)列的包頭標(biāo)志進(jìn)入FIFO的順序,根據(jù)所述排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取所述排序 FIFO ;
[0063]第二級(jí)burst調(diào)度單元50,用于對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
[0064]優(yōu)選的,所述入隊(duì)列處理單元10還用于:根據(jù)預(yù)設(shè)策略判斷入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,將所述非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將所述普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度,其中,所述非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
[0065]優(yōu)選的,所述授權(quán)處理單元20還用于:在物理端口對(duì)應(yīng)的調(diào)度器下級(jí)設(shè)置邏輯端口級(jí)調(diào)度器,所述邏輯端口級(jí)調(diào)度器與邏輯端口對(duì)應(yīng)。
[0066]所述第一級(jí)burst調(diào)度單元30還用于:對(duì)所述普通端口和非普通端口采用輪詢調(diào)度方式或嚴(yán)格優(yōu)先級(jí)調(diào)度方式進(jìn)行調(diào)度。
[0067]所述第一級(jí)burst調(diào)度單元30還用于:按照固定大小和時(shí)隙的burst對(duì)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行調(diào)度。
[0068]所述第一級(jí)burst調(diào)度單元30還用于:每x個(gè)周期調(diào)度所述普通端口 一次,每x/η個(gè)周期調(diào)度所述非普通端口一次,X為自然數(shù),η為所述非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。
[0069]所述第一級(jí)burst調(diào)度單元30還用于:輸出以下內(nèi)容的一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的寄存器標(biāo)號(hào)。
[0070]所述第二級(jí)burst調(diào)度單元50還用于:給每個(gè)burst打標(biāo)記以標(biāo)明該burst來(lái)自
普通端口還是非普通端口。
[0071]通過采用本發(fā)明實(shí)施例提供的裝置,對(duì)非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列綁定到非普通端口上進(jìn)行調(diào)度,并通過增加邏輯端口級(jí)調(diào)度器,使非普通端口與普通端口共享帶寬進(jìn)行調(diào)度,解決了待調(diào)度隊(duì)列的性能超過系統(tǒng)單隊(duì)列處理能力的情況下隊(duì)列的處理問題。同時(shí),通過雙級(jí)burst調(diào)度及包重組保證了數(shù)據(jù)包的完整性,并充分利用時(shí)隙資源,提高了系統(tǒng)的包轉(zhuǎn)發(fā)效率。
[0072]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來(lái)指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
【權(quán)利要求】
1.一種隊(duì)列調(diào)度的方法,其特征在于,包括: 將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度; 設(shè)置邏輯端口級(jí)調(diào)度器,根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和/或非普通端口,對(duì)所述非普通端口對(duì)應(yīng)的入隊(duì)列拆分后得到的多個(gè)子隊(duì)列和/或所述普通端口對(duì)應(yīng)的普通端口隊(duì)列進(jìn)行授權(quán),其中,所述普通端口和非普通端口共享帶寬; 將得到授權(quán)的子隊(duì)列和/普通端口隊(duì)列放入寄存器,并進(jìn)行第一級(jí)burst調(diào)度; 在所述子隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后,將所述子隊(duì)列分別寫入對(duì)應(yīng)的FIFO先入先出,并通過排序FIFO記錄各子隊(duì)列的包頭標(biāo)志進(jìn)入FIFO的順序,根據(jù)所述排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取所述排序FIFO ; 對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
2.如權(quán)利要求1所述的方法,其特征在于,所述將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度包括: 根據(jù)預(yù)設(shè)策略判斷所述入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,將所述非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將所述普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度,其中,所述非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
3.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)置邏輯端口級(jí)調(diào)度器包括: 在物理端口對(duì)應(yīng)的調(diào)度器下級(jí)設(shè)置邏輯端口級(jí)調(diào)度器,所述邏輯端口級(jí)調(diào)度器與邏輯`端口對(duì)應(yīng)。
4.如權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和非普通端口包括: 對(duì)所述普通端口和非普通端口采用輪詢調(diào)度方式或嚴(yán)格優(yōu)先級(jí)調(diào)度方式進(jìn)行調(diào)度。
5.如權(quán)利要求1所述的方法,其特征在于,所述進(jìn)行第一級(jí)burst調(diào)度包括:按照固定大小和時(shí)隙的burst對(duì)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行調(diào)度。
6.如權(quán)利要求1或4所述的方法,其特征在于,所述進(jìn)行第一級(jí)burst調(diào)度包括: 所述普通端口每X個(gè)周期調(diào)度一次,所述非普通端口每x/n個(gè)周期調(diào)度一次,X為自然數(shù),η為所述非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。
7.如權(quán)利要求1所述的方法,其特征在于,所述進(jìn)行第一級(jí)burst調(diào)度包括輸出以下內(nèi)容的一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的寄存器標(biāo)號(hào)。
8.如權(quán)利要求1所述的方法,其特征在于,對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度包括: 給每個(gè)burst打標(biāo)記以標(biāo)明該burst來(lái)自普通端口還是非普通端口。
9.一種隊(duì)列調(diào)度的裝置,其特征在于,包括: 入隊(duì)列處理單元,用于將入隊(duì)列綁定到普通端口和/或非普通端口進(jìn)行調(diào)度; 授權(quán)處理單元,用于設(shè)置邏輯端口級(jí)調(diào)度器,根據(jù)預(yù)先配置的調(diào)度方式調(diào)度所述普通端口和非普通端口,對(duì)所述非普通端口對(duì)應(yīng)的入隊(duì)列拆分后得到的多個(gè)子隊(duì)列和/或所述普通端口對(duì)應(yīng)的普通端口隊(duì)列進(jìn)行授權(quán),其中,所述普通端口和非普通端口共享帶寬;第一級(jí)burst調(diào)度單元,用于將得到授權(quán)的子隊(duì)列和/普通端口隊(duì)列放入寄存器,并進(jìn)行第一級(jí)burst調(diào)度; 包重組單元,用于在所述子隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后,將所述子隊(duì)列分別寫入對(duì)應(yīng)的FIFO先入先出,并通過排序FIFO記錄各子隊(duì)列的包頭標(biāo)志進(jìn)入FIFO的順序,根據(jù)所述排序FIFO內(nèi)的FIFO編號(hào)到對(duì)應(yīng)的FIFO讀取數(shù)據(jù)直至讀到包尾,再次讀取所述排序FIFO ; 第二級(jí)burst調(diào)度單元,用于對(duì)所述FIFO內(nèi)的數(shù)據(jù)和/或所述普通端口隊(duì)列進(jìn)行第一級(jí)burst調(diào)度后的數(shù)據(jù)進(jìn)行第二級(jí)burst調(diào)度。
10.如權(quán)利要求8所述的裝置,其特征在于,所述入隊(duì)列處理單元還用于:根據(jù)預(yù)設(shè)策略判斷入隊(duì)列為非普通端口隊(duì)列或者普通端口隊(duì)列,將所述非普通端口隊(duì)列拆分成多個(gè)子隊(duì)列,綁定到非普通端口上進(jìn)行調(diào)度,將所述普通端口隊(duì)列綁定到普通端口上進(jìn)行調(diào)度,其中,所述非普通端口和普通端口為邏輯端口,每一非普通端口對(duì)應(yīng)多個(gè)物理端口,每一普通端口對(duì)應(yīng)一物理端口。
11.如權(quán)利要求8所述的裝置,其特征在于,所述授權(quán)處理單元還用于:在物理端口對(duì)應(yīng)的調(diào)度器下級(jí)設(shè)置邏輯端口級(jí)調(diào)度器,所述邏輯端口級(jí)調(diào)度器與邏輯端口對(duì)應(yīng)。
12.如權(quán)利要求8或9所述的裝置,其特征在于,所述第一級(jí)burst調(diào)度單元還用于:對(duì)所述普通端口和非普通端口采用輪詢調(diào)度方式或嚴(yán)格優(yōu)先級(jí)調(diào)度方式進(jìn)行調(diào)度。
13.如權(quán)利要求8所述的裝置,其特征在于,所述第一級(jí)burst調(diào)度單元還用于:按照固定大小和時(shí)隙的burst對(duì)子隊(duì)列和/或普通端口隊(duì)列進(jìn)行調(diào)度。
14.如權(quán)利要求8或11所述的裝置,其特征在于,所述第一級(jí)burst調(diào)度單元還用于:每X個(gè)周期調(diào)度所述普通端口一次,每x/n個(gè)周期調(diào)度所述非普通端口一次,X為自然數(shù),η為所述非普通端口對(duì)應(yīng)的寄存器的個(gè)數(shù)。
15.如權(quán)利要求8所述的裝置,其特征在于,所述第一級(jí)burst調(diào)度單元還用于:輸出以下內(nèi)容的一項(xiàng)或多項(xiàng):物理端口號(hào)、普通端口 /非普通端口標(biāo)志、物理隊(duì)列號(hào)、包頭和包尾標(biāo)志、非普通端口輪詢的寄存器標(biāo)號(hào)。
16.如權(quán)利要求8所述的裝置,其特征在于,所述第二級(jí)burst調(diào)度單元還用于:給每個(gè)burst打標(biāo)記以標(biāo)明該burst來(lái)自普通端口還是非普通端口。
【文檔編號(hào)】H04L12/863GK103516621SQ201210222139
【公開日】2014年1月15日 申請(qǐng)日期:2012年6月29日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】田錫宇, 陳虎勛, 丁大勇 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1