專利名稱::多存儲(chǔ)器流水路由體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種路由體系結(jié)構(gòu),具體來說,涉及一種使用多個(gè)存儲(chǔ)器以流水并行化多個(gè)數(shù)據(jù)包的路由信息查找操作,從而有效提高路由系統(tǒng)的吞吐量的多存儲(chǔ)器流水路由體系結(jié)構(gòu)。
背景技術(shù):
:一個(gè)IP路由器實(shí)現(xiàn)兩個(gè)基本功能,分別是路由功能和交換功能,當(dāng)數(shù)據(jù)包到達(dá)路由器的某個(gè)輸入端口時(shí),其須依次經(jīng)歷路由階段和交換階段,在路由階段,系統(tǒng)獲取數(shù)據(jù)包的目的地址,并據(jù)此查找路由表以獲取相應(yīng)的目的輸出端口號(hào);在交換階段,系統(tǒng)通過調(diào)度將數(shù)據(jù)包交換到指定的輸出端口,從而將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一跳站點(diǎn)。目前,基于前綴樹的路由算法包括BinaryTrie(BT)>PrefixTrie(PT)[I]>Fixed-StrideTrie(FST)2和Multi-PrefixTrie(MPT)3等算法。在本文的陳述中用到以下術(shù)語。目的地址IPv4/IPv6互聯(lián)網(wǎng)協(xié)議下,一個(gè)數(shù)據(jù)包的目的地址可表示為一個(gè)長(zhǎng)度32/128的二進(jìn)制字符串。二進(jìn)制字符串一個(gè)長(zhǎng)度為n的二進(jìn)制字符串是將n個(gè)屬于字符集E={0,1}的字符按其位置依次排列形成的數(shù)組S。二進(jìn)制前綴子串二進(jìn)制字符串S的前綴子串S,表示S串中從位置0到位置i的一段字符串,也就是3,5[1],..,5[1]組成的字符串。路由表一張路由表由多條記錄組成,一條記錄由一個(gè)前綴子項(xiàng)和一個(gè)輸出端口號(hào)組成,一個(gè)前綴子項(xiàng)是一個(gè)二進(jìn)制字符串,各記錄的前綴子項(xiàng)構(gòu)成一個(gè)二進(jìn)制字符串集合TI。最長(zhǎng)匹配前綴對(duì)于任意兩個(gè)二進(jìn)制字符串S1,S2,m<n,若滿足S1為S2的前綴子串,則我們稱S1是S2的一個(gè)長(zhǎng)度為m的匹配前綴,記作岑eS1。給定一個(gè)二進(jìn)制字符串集合n和字符串S,若S'en且Yf=S,則S’是S的一個(gè)匹配前綴。又若對(duì)S的任意匹配前綴S〃GTI,有fez允,則我們稱s’為S的關(guān)于n的最長(zhǎng)匹配前綴。基于前綴樹的路由算法在路由階段,系統(tǒng)根據(jù)數(shù)據(jù)包的目的地址在路由表中查找與目的地址匹配的最長(zhǎng)匹配前綴。直觀地,系統(tǒng)可以將目的地址與表中各記錄的前綴子項(xiàng)依次進(jìn)行比較以獲得符合要求的最長(zhǎng)匹配前綴。顯而易見,這種查找方式無法獲得較高的查找效率。另一方面,將路由表轉(zhuǎn)化為前綴樹以支持快速路由查找的策略被廣泛地研究并推廣到工業(yè)生產(chǎn)中。不失一般性地,在一棵前綴樹中,單個(gè)前綴結(jié)點(diǎn)可表示路由表中的一條或多條記錄,各前綴結(jié)點(diǎn)以指針相連。一個(gè)數(shù)據(jù)包的路由查找過程從前綴樹的根結(jié)點(diǎn)開始,直到其到達(dá)某葉子結(jié)點(diǎn)結(jié)束。在此過程中,系統(tǒng)將數(shù)據(jù)包的目的地址與查找路徑上的所有結(jié)點(diǎn)中的前綴進(jìn)行匹配,并記錄其間獲得的最長(zhǎng)匹配前綴。最終,系統(tǒng)返回該最長(zhǎng)匹配前綴對(duì)應(yīng)的輸出端口號(hào),數(shù)據(jù)包繼而進(jìn)入交換階段。利用以上術(shù)語,我們給出一個(gè)基于前綴樹的路由查找示例,為了描述方便,我們選用BT路由算法來組織路由表中的前綴,如圖I和圖2所示根據(jù)圖I所示的路由表,圖2給出了釆用BT路由算法構(gòu)造而成的前綴樹,該前綴樹的每個(gè)前綴結(jié)點(diǎn)包含最多I個(gè)前綴。假設(shè)到達(dá)路由器的數(shù)據(jù)包的目的地址的高8位為10101010,則該數(shù)據(jù)包的路由查找過程可描述如下數(shù)據(jù)包訪問前綴樹的根結(jié)點(diǎn),根結(jié)點(diǎn)前綴為空,匹配不成功,其根據(jù)目的地址的第0位分支搜索前綴樹;目的地址第0位為1,則數(shù)據(jù)包訪問根結(jié)點(diǎn)的右孩子,該結(jié)點(diǎn)前綴為空,匹配不成功,其根據(jù)目的地址的第I位分支搜索前綴樹;目的地址第I位為0,則數(shù)據(jù)包訪問當(dāng)前結(jié)點(diǎn)的左孩子,該結(jié)點(diǎn)前綴為10*,匹配成功,最長(zhǎng)匹配前綴更新為10*,其繼而根據(jù)目的地址的第2位分支搜索前綴樹。重復(fù)以上步驟,最終找到與目的地址匹配的路由表前綴為10*和1010*,根據(jù)最長(zhǎng)匹配前綴的定義,系統(tǒng)返回1010*對(duì)應(yīng)的輸出端口號(hào)r7。現(xiàn)存有多種基于前綴樹的路由算法,具體可參見文獻(xiàn)1-15。這些算法可進(jìn)一步劃分為串行前綴樹路由算法和并行前綴樹路由算法。在串行算法中,各數(shù)據(jù)包的路由查找過程嚴(yán)格按照時(shí)序先后執(zhí)行,因此,系統(tǒng)的處理速度慢,吞吐量低。為此,大量研究致力于設(shè)計(jì)高效的多存儲(chǔ)器流水路由體系結(jié)構(gòu),其通過合理地調(diào)度和安排存儲(chǔ)器資源的存取操作,以實(shí)現(xiàn)多個(gè)路由查找過程的并行執(zhí)行,從而極大地提高系統(tǒng)的整體性能12-15。參考文獻(xiàn)[1]M.Berger,“IPlookupwithlowmemoryrequirementandfastupdate,”inProc.IEEEHPSRjJun2003,287-291.[2]S.SahniandK.Kim,“EfficientconstructionofmultibittriesforIPlookup”,IEEE/ACMTrans,onNetworking,pp.650-662,Aug2003.[3]S.Hsieh,Y.HuangandY.Yang,“Anoveldynamicrouter-tablesdesignforIPlookupandupdate,,,inIEEEInt.Con.onFutureInformationTechnology,May2010,pp.1-6.[4]V.SrinivasanandG.Varghese,“FasterIPlookupsusingcontrolledprefixexpansion,,,ACMTrans,onComputerSystems,pp.I-40,Feb1999.[5]S.NilssonandG.Karlsson,“IP-addresslookupusinglc-tries,,,IEEEJ.onSelectedAreasinCommunications,pp.1083-1092,Jun1999.[6]M.Degermark,A.Brodnik,S.Carlsson,andS.Pink,“Smallforwardingtablesforfastroutinglookups,”inProc.ACMSIGC0MM,1997,pp.3-14.[7]V.Ravikumar,R.Mahapatra,andJ.Liu,“Modifiedlc-triebasedefficientroutinglookup,”inProc.IEEEInt.Symp.onMASCOTS,Jan2003,pp.177-182.[8]S.SahniandK.Kim,“Efficientconstructionoffixed-stridemultibittriesforIPlookup,,’inIEEEWorkshoponFutureTrendsofDistributedComputingSystems,Nov2001,pp.178-184.[9]-,“Efficientconstructionofvariable-stridemultibittriesforIPlookup,,,inProc.Symp.onApplicationsandtheInternet,Feb2002,pp.220-227.[10]S.SahniandH.Lu,“DynamictreebitmapforIPlookupandupdate,”inIEEEInt.con.onNetworking,April2007,pp.79-84.[11]Y.Chang,Y.Lin,andC.Su,“DynamicmultiwaysegmenttreeforIPlookupsandthefastpipelinedsearchengine,^IEEETrans,onComputers,pp.492-506,Feb2010.[12]K.KimandS.Sahni,“Efficientconstructionofpipelinedmultibit-trierouter-tables,”IEEETrans,onComputers,pp.32-43,Jan2007.[13]M.BandoandH.J.Chao,^Flashtrie:Hash-basedprefixcompressedtrieforIProutelookupbeyondIOOGbps,”inProc.IEEEINF0C0M,March2010,pp.I-9.[14]ff.JiangandV.Prasanna,“Amemory-balancedIinearpipelinearchitecturefortrie-basedIPlookup,,,inIEEESymp.onHigh-PerformanceInterconnects,Aug2007,pp.83-90.[15]S.Kumar,M.Becchi,P.Corwley,andJ.Turner,“CAMP:fastandefficientIPlookuparchitecture,”inACM/1EEESymp.onArchitectureforNetworkingandCommunicationsSystems,2006,pp.51-60.[16]T.Anderson,S.Owicki,J.Saxe,andC.Thacker,“High-speedswitchschedulingforlocalareanetworks,,,ACMTrans.Comput.Syst.,pp.319-352,Nov1993.[17]N.McKeown,“TheiSLIPschedulingalgorithmforinput-queuedswitches,”IEEE/ACMTrans,onNetworking,pp.188-201,April1999.
發(fā)明內(nèi)容針對(duì)以上的不足,本發(fā)明提供了一種使用多個(gè)存儲(chǔ)器以流水并行化多個(gè)數(shù)據(jù)包的路由信息查找操作,從而有效提高路由系統(tǒng)的吞吐量的多存儲(chǔ)器流水路由體系結(jié)構(gòu),它包含一個(gè)用于緩存數(shù)據(jù)包的路由緩沖區(qū),一個(gè)用于控制數(shù)據(jù)包和存儲(chǔ)器間的讀寫訪問的調(diào)度單元,以及一組用于存儲(chǔ)路由表前綴樹結(jié)點(diǎn)的存儲(chǔ)器。所述路由表前綴樹結(jié)點(diǎn)通過隨機(jī)存儲(chǔ)方式實(shí)現(xiàn)到存儲(chǔ)器組的映射。所述數(shù)據(jù)包的排隊(duì)策略為1)系統(tǒng)時(shí)間被分割為固定大小的時(shí)隙;2)每個(gè)到達(dá)路由緩沖區(qū)的數(shù)據(jù)包長(zhǎng)度固定,每個(gè)時(shí)隙到達(dá)的數(shù)據(jù)包數(shù)量最多為1,數(shù)據(jù)包的到達(dá)時(shí)刻為時(shí)隙的開始;3)在各時(shí)隙的末尾,調(diào)度單元從排隊(duì)數(shù)據(jù)包中選取一個(gè)無沖突的數(shù)據(jù)包集合,所有當(dāng)選的數(shù)據(jù)包并行地訪問存儲(chǔ)器組以查找存儲(chǔ)在各存儲(chǔ)器中的路由信息,如果某個(gè)當(dāng)選的數(shù)據(jù)包完成了其路由信息查找任務(wù),那么它將立刻離開路由緩沖區(qū);4)各存儲(chǔ)器在一個(gè)時(shí)隙內(nèi)只能被訪問一次。每個(gè)到達(dá)的數(shù)據(jù)包生成一個(gè)路由信息查找請(qǐng)求,該路由信息查找請(qǐng)求包含一次或多次存儲(chǔ)器訪問操作,每次存儲(chǔ)器訪問操作的目標(biāo)是前綴樹中某結(jié)點(diǎn)所在的存儲(chǔ)器,各目標(biāo)結(jié)點(diǎn)依序構(gòu)成一條從根結(jié)點(diǎn)出發(fā)到某葉子結(jié)點(diǎn)結(jié)束的查找路徑。所述調(diào)度單元的調(diào)度策略為步驟I:每個(gè)數(shù)據(jù)包發(fā)送一個(gè)訪問請(qǐng)求給目標(biāo)前綴樹結(jié)點(diǎn)所在的存儲(chǔ)器;步驟2:每個(gè)存儲(chǔ)器從向其發(fā)送請(qǐng)求的多個(gè)數(shù)據(jù)包中任意選擇一個(gè)授予其訪問許可;步驟3:每個(gè)被授予訪問許可的數(shù)據(jù)包對(duì)各目標(biāo)存儲(chǔ)器執(zhí)行訪問操作。所述步驟2采取先來先服務(wù)的調(diào)度策略,先到達(dá)的數(shù)據(jù)包具有較高的訪問優(yōu)先級(jí)。本發(fā)明的有益效果首先,本發(fā)明的路由體系結(jié)構(gòu)提供了一個(gè)路由緩沖區(qū)來緩沖到達(dá)的數(shù)據(jù)包,從而支持日益增長(zhǎng)的主干網(wǎng)帶寬需求,如果路由緩沖區(qū)的包丟失率小于交換緩沖區(qū)的包丟失率,那么本發(fā)明的路由體系結(jié)構(gòu)的性能就能夠達(dá)到無路由緩沖區(qū)的路由系統(tǒng)的性能;另外,本發(fā)明的路由體系結(jié)構(gòu)能夠?qū)⑷我饣谇熬Y樹路由算法下的路由表前綴樹結(jié)點(diǎn)均勻地映射到流水系統(tǒng)的所有存儲(chǔ)器中,相較于現(xiàn)存的其他流水路由設(shè)計(jì)方案,該方案無需使用額外的時(shí)間和空間即可實(shí)現(xiàn)流水系統(tǒng)的存儲(chǔ)需求平衡。圖I為路由表不例圖;圖2為路由表對(duì)應(yīng)的BT樹示意圖;圖3為本發(fā)明的多存儲(chǔ)器流水路由體系結(jié)構(gòu)的示意圖;、圖4為本發(fā)明的數(shù)據(jù)包的排隊(duì)策略的結(jié)構(gòu)示意圖;圖5為本發(fā)明初始狀態(tài)和達(dá)到的數(shù)據(jù)包的示意圖;圖6為本發(fā)明對(duì)給定的數(shù)據(jù)包的流水并行調(diào)度的結(jié)果示意圖。具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步闡述。如圖3所示,本發(fā)明的多存儲(chǔ)器流水路由體系結(jié)構(gòu)包含一個(gè)用于緩存數(shù)據(jù)包的路由緩沖區(qū),一個(gè)用于控制數(shù)據(jù)包和存儲(chǔ)器間的讀寫訪問的調(diào)度單元,一組用于存儲(chǔ)路由表前綴樹結(jié)點(diǎn)的存儲(chǔ)器。傳統(tǒng)路由器的一個(gè)設(shè)計(jì)假設(shè)是路由器能夠?yàn)橐匀我饪赡艿乃俾实竭_(dá)的數(shù)據(jù)包提供實(shí)時(shí)的路由服務(wù),從而,路由器在路由階段不需要提供緩沖區(qū)來緩存到達(dá)的數(shù)據(jù)包。本發(fā)明為了提高系統(tǒng)吞吐量,路由體系結(jié)構(gòu)提供一個(gè)路由緩沖區(qū)來緩沖到達(dá)的數(shù)據(jù)包,從而支持日益增長(zhǎng)的主干網(wǎng)帶寬需求,且如果路由緩沖區(qū)的包丟失率小于交換緩沖區(qū)的包丟失率,那么本發(fā)明所提出的路由體系結(jié)構(gòu)的性能就能夠達(dá)到無路由緩沖區(qū)的路由系統(tǒng)的性能。在基于前綴樹的路由算法中,路由表中的各前綴項(xiàng)均存儲(chǔ)于前綴樹的某個(gè)結(jié)點(diǎn)中,前綴之間的父子前綴關(guān)系通過指針關(guān)系表示,本發(fā)明使用一種前綴結(jié)點(diǎn)隨機(jī)存儲(chǔ)技術(shù),該路由體系結(jié)構(gòu)能夠?qū)⑷我饣谇熬Y樹路由算法下的路由表前綴樹結(jié)點(diǎn)均勻地映射到流水系統(tǒng)的所有存儲(chǔ)器中,即前綴樹中的任意前綴結(jié)點(diǎn)均等概率地存儲(chǔ)到任意存儲(chǔ)器組的任意存儲(chǔ)器中,換言之,給定流水系統(tǒng)的存儲(chǔ)器個(gè)數(shù)為M,則任意前綴結(jié)點(diǎn)i存儲(chǔ)到下標(biāo)為j的存儲(chǔ)器中的概率為1/M。相較于現(xiàn)存的其他流水路由設(shè)計(jì)方案,該方案無需使用額外的時(shí)間和空間即可實(shí)現(xiàn)流水系統(tǒng)的存儲(chǔ)需求平衡,同時(shí),在實(shí)際的操作過程中,我們驗(yàn)證了該方案能夠滿足流水路由系統(tǒng)負(fù)載均衡的要求。我們給出以下假設(shè)和參數(shù)聲明以建立路由體系結(jié)構(gòu)的排隊(duì)策略。I)系統(tǒng)時(shí)間被分割為固定大小的時(shí)隙。2)每個(gè)到達(dá)路由緩沖區(qū)的數(shù)據(jù)包長(zhǎng)度固定,每個(gè)時(shí)隙到達(dá)的數(shù)據(jù)包數(shù)量最多為1,另外,數(shù)據(jù)包的到達(dá)時(shí)刻為時(shí)隙的開始。3)在各時(shí)隙的末尾,調(diào)度單元從排隊(duì)數(shù)據(jù)包中選取一個(gè)無沖突的數(shù)據(jù)包集合,所有當(dāng)選的數(shù)據(jù)包并行地訪問存儲(chǔ)器組以查找存儲(chǔ)在各存儲(chǔ)器中的路由信息,如果某個(gè)當(dāng)選的數(shù)據(jù)包完成了其路由信息查找任務(wù),那么它將立刻離開路由緩沖區(qū)。4)各存儲(chǔ)器在一個(gè)時(shí)隙內(nèi)只能被訪問一次。為了表述方便,我們引入下面兩個(gè)參數(shù)N:路由緩沖區(qū)中排隊(duì)數(shù)據(jù)包的數(shù)量,緩沖區(qū)的容量為L(zhǎng)個(gè)數(shù)據(jù)包。M:可用存儲(chǔ)器的數(shù)量,我們用符號(hào)Hi1,mM表示存儲(chǔ)器,為了表述方便,我們假定M為2的整數(shù)次冪。基于以上假設(shè)和參數(shù)定義,圖4給出了本發(fā)明的路由體系結(jié)構(gòu)的排隊(duì)策略,在本發(fā)明中,每個(gè)到達(dá)的數(shù)據(jù)包生成一個(gè)路由信息查找請(qǐng)求,該路由信息查找請(qǐng)求包含一次或多次存儲(chǔ)器訪問操作,每次存儲(chǔ)器訪問操作的目標(biāo)是前綴樹中某結(jié)點(diǎn)所在的存儲(chǔ)器,各目標(biāo)結(jié)點(diǎn)依序構(gòu)成一條從根結(jié)點(diǎn)出發(fā)到某葉子結(jié)點(diǎn)結(jié)束的查找路徑。這樣,當(dāng)數(shù)據(jù)包到達(dá)路由緩沖區(qū)時(shí),系統(tǒng)為數(shù)據(jù)包創(chuàng)建一個(gè)路由信息查找請(qǐng)求,該路由信息查找請(qǐng)求服從調(diào)度單元的安排以訪問存儲(chǔ)器中的目標(biāo)路由表前綴樹結(jié)點(diǎn),路由信息查找請(qǐng)求從前綴樹的根結(jié)點(diǎn)出發(fā)遍歷前綴樹,直到到達(dá)某個(gè)葉子結(jié)點(diǎn)結(jié)束。在此過程中,其需要訪問多次存儲(chǔ)器以尋找存儲(chǔ)在該查找路徑各結(jié)點(diǎn)中的最長(zhǎng)匹配前綴。顯而易見,目標(biāo)前綴結(jié)點(diǎn)所在存儲(chǔ)器不同的多個(gè)路由查找請(qǐng)求可以被并行地執(zhí)行,然而,由于前綴樹的各結(jié)點(diǎn)被隨機(jī)分布到所有存儲(chǔ)器中,多個(gè)路由查找請(qǐng)求可能同時(shí)訪問相同存儲(chǔ)器,導(dǎo)致存儲(chǔ)器訪問沖突。為此,本發(fā)明通過調(diào)度單元來協(xié)調(diào)路由查找請(qǐng)求之間的存儲(chǔ)器訪問操作,以避免訪問沖突的發(fā)生。此處涉及的調(diào)度問題可以轉(zhuǎn)化為一個(gè)雙向圖匹配問題,該問題已在輸入隊(duì)列交換機(jī)領(lǐng)域中被深入研究過16-17,我們定義各排隊(duì)數(shù)據(jù)包和存儲(chǔ)器分別表示雙向圖中的一個(gè)頂點(diǎn),如果一個(gè)數(shù)據(jù)包頂點(diǎn)和一個(gè)存儲(chǔ)器頂點(diǎn)之間存在一條連接弧,這就意味著這個(gè)數(shù)據(jù)包有訪問該存儲(chǔ)器的請(qǐng)求。調(diào)度的目標(biāo)是尋找一個(gè)弧的最大集合,該集合滿足如下條件連接到任意頂點(diǎn)(數(shù)據(jù)包頂點(diǎn)或者存儲(chǔ)器頂點(diǎn))的弧的數(shù)量最大為1,即任意頂點(diǎn)的度為0或I。調(diào)度單元必須使用某種沖突處理機(jī)制(例如先來先服務(wù))以解決目標(biāo)存儲(chǔ)器相同的多個(gè)查找請(qǐng)求之間的訪問沖突問題。在一個(gè)基于前綴樹的路由設(shè)計(jì)方案中,一個(gè)路由信息查找請(qǐng)求通常由多個(gè)查找步驟組成,每個(gè)時(shí)隙執(zhí)行一個(gè)查找步驟,每個(gè)查找步驟訪問當(dāng)前目標(biāo)前綴結(jié)點(diǎn)所在的存儲(chǔ)器。因此,我們可以將一個(gè)包含t個(gè)查找步驟的路由信息查找請(qǐng)求表示為一個(gè)形如R(S1,S2,...,Si,...,st)的元組,此處SiGIm1,m2,...,mM}表示該請(qǐng)求在查找步驟i所需訪問的存儲(chǔ)器的編號(hào)。例如,ROn1,m2,m5,m4,m3)代表一個(gè)存儲(chǔ)器序列[m”m2,m5,m4,m3]。假設(shè)當(dāng)前時(shí)隙為1,則查找請(qǐng)求對(duì)該序列中的存儲(chǔ)器按從左到右的順序分別在第I、第2、第3、第4和第5時(shí)隙執(zhí)行訪問操作,根據(jù)該雙向圖匹配模型,我們給出如下的并行調(diào)度策略的算法框架步驟I:每個(gè)數(shù)據(jù)包發(fā)送一個(gè)訪問請(qǐng)求給目標(biāo)前綴樹結(jié)點(diǎn)所在的存儲(chǔ)器。步驟2:每個(gè)存儲(chǔ)器從向其發(fā)送請(qǐng)求的多個(gè)數(shù)據(jù)包中任意選擇一個(gè)授予其訪問許可。步驟3:每個(gè)被授予訪問許可的數(shù)據(jù)包對(duì)各目標(biāo)存儲(chǔ)器執(zhí)行訪問操作。通過以上3步迭代調(diào)度算法,系統(tǒng)(路由體系結(jié)構(gòu))能夠在一個(gè)時(shí)隙內(nèi)同時(shí)執(zhí)行多個(gè)數(shù)據(jù)包的存儲(chǔ)器訪問操作,這就構(gòu)成了一個(gè)流水路由系統(tǒng)。圖5和圖6給出了該并行調(diào)度策略算法的一個(gè)運(yùn)行實(shí)例。其中,我們?cè)谒惴蚣艿牟襟E2采取先來先服務(wù)的調(diào)度策略,即先到達(dá)的數(shù)據(jù)包具有較高的訪問優(yōu)先級(jí)。假設(shè)可供使用的存儲(chǔ)器數(shù)量為M=4,隊(duì)列初始為空(即N=OX在表2(a)中,數(shù)據(jù)包P1-P8分別在時(shí)隙0-7的起始時(shí)刻到達(dá)路由器,系統(tǒng)分別為其創(chuàng)建查找請(qǐng)求R1-R815—旦建立一個(gè)查找請(qǐng)求,該查找請(qǐng)求將在每個(gè)調(diào)度實(shí)例中參與爭(zhēng)奪目標(biāo)存儲(chǔ)器,直至其完成路由信息查找請(qǐng)求。例如,在時(shí)隙0,凡請(qǐng)求訪問存儲(chǔ)器mi。因?yàn)榇丝虥]有其他查找請(qǐng)求參與調(diào)度,故R1被授予訪問許可,從而時(shí)隙0的最大匹配集為KR1,mi)}。在時(shí)隙1,民參與調(diào)度并請(qǐng)求訪問Hi1,而R1請(qǐng)求訪問m2。故而,該時(shí)隙的最大匹配集為((R11Iii2),(R2j1H1)I0在時(shí)隙2,R1和R2同時(shí)請(qǐng)求訪問m3,這引起了一個(gè)存儲(chǔ)器訪問沖突。根據(jù)FCFS原理,由于R1對(duì)應(yīng)的P1具有更高的訪問優(yōu)先級(jí),故而R1勝出。從而,該時(shí)隙的最大匹配集為(R3,mi)}。對(duì)時(shí)隙3-12進(jìn)一步使用該調(diào)度算法,我們可以得到表2(b)中的結(jié)果。以上所述僅為本發(fā)明的較佳實(shí)施方式,本發(fā)明并不局限于上述實(shí)施方式,在實(shí)施過程中可能存在局部微小的結(jié)構(gòu)改動(dòng),如果對(duì)本發(fā)明的各種改動(dòng)或變型不脫離本發(fā)明的精神和范圍,且屬于本發(fā)明的權(quán)利要求和等同技術(shù)范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型。權(quán)利要求1.一種多存儲(chǔ)器流水路由體系結(jié)構(gòu),它包含ー個(gè)用于緩存數(shù)據(jù)包的路由緩沖區(qū),ー個(gè)用于控制數(shù)據(jù)包和存儲(chǔ)器間的讀寫訪問的調(diào)度單元,以及ー組用于存儲(chǔ)路由表前綴樹結(jié)點(diǎn)的存儲(chǔ)器。2.根據(jù)權(quán)利要求I所述多存儲(chǔ)器流水路由體系結(jié)構(gòu),其特征在于,所述路由表前綴樹結(jié)點(diǎn)通過隨機(jī)存儲(chǔ)方式實(shí)現(xiàn)到存儲(chǔ)器組的映射。3.根據(jù)權(quán)利要求2所述多存儲(chǔ)器流水路由體系結(jié)構(gòu),其特征在于,所述數(shù)據(jù)包的排隊(duì)策略為1)系統(tǒng)時(shí)間被分割為固定大小的時(shí)隙;2)每個(gè)到達(dá)路由緩沖區(qū)的數(shù)據(jù)包長(zhǎng)度固定,每個(gè)時(shí)隙到達(dá)的數(shù)據(jù)包數(shù)量最多為1,數(shù)據(jù)包的到達(dá)時(shí)刻為時(shí)隙的開始;3)在各時(shí)隙的末尾,調(diào)度單元從排隊(duì)數(shù)據(jù)包中選取ー個(gè)無沖突的數(shù)據(jù)包集合,所有當(dāng)選的數(shù)據(jù)包并行地訪問存儲(chǔ)器組以查找存儲(chǔ)在各存儲(chǔ)器中的路由信息,如果某個(gè)當(dāng)選的數(shù)據(jù)包完成了其路由信息查找任務(wù),那么它將立刻離開路由緩沖區(qū);4)各存儲(chǔ)器在一個(gè)時(shí)隙內(nèi)只能被訪問一次。4.根據(jù)權(quán)利要求3所述多存儲(chǔ)器流水路由體系結(jié)構(gòu),其特征在于,每個(gè)到達(dá)的數(shù)據(jù)包生成一個(gè)路由信息查找請(qǐng)求,該路由信息查找請(qǐng)求包含一次或多次存儲(chǔ)器訪問操作,姆次存儲(chǔ)器訪問操作的目標(biāo)是前綴樹中某結(jié)點(diǎn)所在的存儲(chǔ)器,各目標(biāo)結(jié)點(diǎn)依序構(gòu)成一條從根結(jié)點(diǎn)出發(fā)到某葉子結(jié)點(diǎn)結(jié)束的查找路徑。5.根據(jù)權(quán)利要求2所述多存儲(chǔ)器流水路由體系結(jié)構(gòu),其特征在于,所述調(diào)度単元的調(diào)度策略為步驟I:每個(gè)數(shù)據(jù)包發(fā)送一個(gè)訪問請(qǐng)求給目標(biāo)前綴樹結(jié)點(diǎn)所在的存儲(chǔ)器;步驟2:每個(gè)存儲(chǔ)器從向其發(fā)送請(qǐng)求的多個(gè)數(shù)據(jù)包中任意選擇ー個(gè)授予其訪問許可;步驟3:每個(gè)被授予訪問許可的數(shù)據(jù)包對(duì)各目標(biāo)存儲(chǔ)器執(zhí)行訪問操作。6.根據(jù)權(quán)利要求5所述多存儲(chǔ)器流水路由體系結(jié)構(gòu),其特征在于,所述步驟2采取先來先服務(wù)的調(diào)度策略,先到達(dá)的數(shù)據(jù)包具有較高的訪問優(yōu)先級(jí)。全文摘要本發(fā)明公開了一種多存儲(chǔ)器流水路由體系結(jié)構(gòu),它包含緩存數(shù)據(jù)包的路由緩沖區(qū),控制數(shù)據(jù)包和存儲(chǔ)器間的讀寫訪問的調(diào)度單元,一組存儲(chǔ)路由表前綴樹結(jié)點(diǎn)的存儲(chǔ)器,它采用隨機(jī)存儲(chǔ)方式實(shí)現(xiàn)路由表前綴樹結(jié)點(diǎn)到存儲(chǔ)器的映射,每個(gè)到達(dá)的數(shù)據(jù)包生成一個(gè)路由信息查找請(qǐng)求,該請(qǐng)求包含一次或多次存儲(chǔ)器訪問操作,每次存儲(chǔ)器訪問操作的目標(biāo)是前綴樹中某結(jié)點(diǎn)所在的存儲(chǔ)器,各目標(biāo)結(jié)點(diǎn)依序構(gòu)成一條從根結(jié)點(diǎn)出發(fā)到某葉子結(jié)點(diǎn)結(jié)束的查找路徑,其調(diào)度策略為1、每個(gè)數(shù)據(jù)包發(fā)送一個(gè)訪問請(qǐng)求給目標(biāo)前綴樹結(jié)點(diǎn)所在的存儲(chǔ)器;2、每個(gè)存儲(chǔ)器從向其發(fā)送請(qǐng)求的多個(gè)數(shù)據(jù)包中任意選擇一個(gè)授予其訪問許可;3、每個(gè)被授予訪問許可的數(shù)據(jù)包對(duì)各目標(biāo)存儲(chǔ)器執(zhí)行訪問操作。文檔編號(hào)H04L12/56GK102739551SQ20121024821公開日2012年10月17日申請(qǐng)日期2012年7月17日優(yōu)先權(quán)日2012年7月17日發(fā)明者農(nóng)革,吳裔申請(qǐng)人:中山大學(xué)