基于随机副本分配的多存储器流水路由体系结构的制作方法

文档序号:7856128阅读:246来源:国知局

专利名称::基于随机副本分配的多存储器流水路由体系结构的制作方法
技术领域
:本发明涉及一种路由体系结构,具体来说,涉及一种使用随机副本分配技术和多个存储器以流水并行化多个数据包的路由信息查找操作,从而有效提高路由系统的吞吐量的基于随机副本分配的多存储器流水路由体系结构。
背景技术
:一个IP路由器实现两个基本功能,分别是路由功能和交换功能,当数据包到达路由器的某个输入端口时,其须依次经历路由阶段和交换阶段,在路由阶段,系统获取数据包的目的地址,并据此查找路由表以获取相应的目的输出端口号;在交换阶段,系统通过调度将数据包交换到指定的输出端口,从而将数据包转发到下一跳站点。目前,基于前缀树的路由算法包括BinaryTrie(BT)>PrefixTrie(PT)[I]>Fixed-StrideTrie(FST)2和Multi-PrefixTrie(MPT)3等算法。在本文的陈述中用到以下术语。目的地址IPv4/IPv6互联网协议下,一个数据包的目的地址可表示为一个长度32/128的二进制字符串。二进制字符串一个长度为n的二进制字符串是将n个属于字符集E={0,1}的字符按其位置依次排列形成的数组S。二进制前缀子串二进制字符串S的前缀子串S,表示S串中从位置0到位置i的一段字符串,也就是3,5[1],..,5[1]组成的字符串。路由表一张路由表由多条记录组成,一条记录由一个前缀子项和一个输出端口号组成,一个前缀子项是一个二进制字符串,各记录的前缀子项构成一个二进制字符串集合n。最长匹配前缀对于任意两个二进制字符串S1,S2,m<n,若满足S1为S2的前缀子串,则我们称S1是S2的一个长度为m的匹配前缀,记作&ClS24合定一个二进制字符串集合n和字符串s[o..n-1],若s'[o,..i]Gn且允(=S,则S’是s的一个匹配前缀。又若对S的任意匹配前缀S"G山有^^义,则我们称s’为S的关于n的最长匹配前缀。基于前缀树的路由算法在路由阶段,系统根据数据包的目的地址在路由表中查找与目的地址匹配的最长匹配前缀。直观地,系统可以将目的地址与表中各记录的前缀子项依次进行比较以获得符合要求的最长匹配前缀。显而易见,这种查找方式无法获得较高的查找效率。另一方面,将路由表转化为前缀树以支持快速路由查找的策略被广泛地研究并推广到工业生产中。不失一般性地,在一棵前缀树中,单个前缀结点可表示路由表中的一条或多条记录,各前缀结点以指针相连。一个数据包的路由查找过程从前缀树的根结点开始,直到其到达某叶子结点结束。在此过程中,系统将数据包的目的地址与查找路径上的所有结点中的前缀进行匹配,并记录其间获得的最长匹配前缀。最终,系统返回该最长匹配前缀对应的输出端口号,数据包继而进入交换阶段。利用以上术语,我们给出一个基于前缀树的路由查找示例,为了描述方便,我们选用BT路由算法来组织路由表中的前缀,如图I和图2所示根据图I所示的路由表,图2给出了釆用BT路由算法构造而成的前缀树,该前缀树的每个前缀结点包含最多I个前缀。假设到达路由器的数据包的目的地址的高8位为10101010,则该数据包的路由查找过程可描述如下数据包访问前缀树的根结点,根结点前缀为空,匹配不成功,其根据目的地址的第0位分支搜索前缀树;目的地址第0位为1,则数据包访问根结点的右孩子,该结点前缀为空,匹配不成功,其根据目的地址的第I位分支搜索前缀树;目的地址第I位为0,则数据包访问当前结点的左孩子,该结点前缀为10*,匹配成功,最长匹配前缀更新为10*,其继而根据目的地址的第2位分支搜索前缀树。重复以上步骤,最终找到与目的地址匹配的路由表前缀为10*和1010*,根据最长匹配前缀的定义,系统返回1010*对应的输出端口号r7。现存有多种基于前缀树的路由算法,具体可参见文献1-15。这些算法可进一步划分为串行前缀树路由算法和并行前缀树路由算法。在串行算法中,各数据包的路由查找过程严格按照时序先后执行,因此,系统的处理速度慢,吞吐量低。为此,大量研究致力于设计高效的多存储器流水路由体系结构,其通过合理地调度和安排存储器资源的存取操作,以实现多个路由查找过程的并行执行,从而极大地提高系统的整体性能12-15。参考文献[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,Febl999.[5]S.NilssonandG.Karlsson,“IP-addresslookupusinglc-tries,,,IEEEJ.onSelectedAreasinCommunications,pp.1083-1092,Junl999.[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,uFlashtrie:Hash-basedprefixcompressedtrieforIProutelookupbeyondlOOGbps,”inProc.IEEEINF0C0M,March2010,pp.I-9.[14]W.JiangandV.Prasanna,“Amemory-balancedlinearpipelinearchitecturefortrie-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,Novl993.[17]N.McKeownj“TheiSLIPschedulingalgorithmforinput-queuedswitches,”IEEE/ACMTrans,onNetworking,pp.188-201,Aprill999.[18]P.Sanders,S.Egner,andJ.Korst,“Fastconcurrentaccesstoparalleldisks,,,inProc.IIthannualACM-SIAMsymposiumonDiscretealgorithms,2000,pp.849-858.[19]J.VitterandE.Shriver,“AlgorithmsforparallelmemoryI:Twolevelmemories.,’pp.110-147,1994.[20]R.Barve,E.Grove,andJ.Vitter,“Simplerandomizedmergesortonparalleldisks,Paral.Comput.,pp.601631,1997.
发明内容针对以上的不足,本发明提供了一种使用随机副本分配技术和多个存储器以流水并行化多个数据包的路由信息查找操作,从而有效提高路由系统的吞吐量的基于随机副本分配的多存储器流水路由体系结构,它包含一个用于缓存数据包的路由缓冲区,一个用于控制排队数据包与各存储器间之间的读写访问的调度单元,以及一组用于存储路由表前缀树结点的存储器。所述路由表前缀树结点以随机副本分配的存储方式实现到存储器的映射。还包括索引表存储单元,所述路由表前缀树被切分为一棵主树和多棵子树,主树包含前缀树的低层结点,并被转换为一个索引表,该索引表存储在索引表存储单元中,各子树包含前缀树的高层结点,每棵子树有两个副本,各副本被独立地映射到存储器组中。所述索引表包含数个子项,每个子项由一个前缀域和一个或多个结点指针域构成。还包括一个用于检查每个到达路由体系结构的数据包,防止路由缓冲区中出现目的地址相同的数据包的包过滤器。所述数据包的排队策略为1)系统时间被分割为固定大小的时隙,每个时隙被定义为一个存储访问周期,每个时隙被等分为M个时钟周期;2)每个到达路由缓冲区的数据包长度固定,每个时钟周期到达的数据包数量最多为1,即每个时隙最多有M数据包达到路由体系结构;3)在各时隙的末尾,调度单元从路由缓冲区的排队数据包中选取一个无冲突的数据包集合,所有当选的数据包并行地访问存储器组以查找存储在各存储器中的路由信息,如果某个当选的数据包完成了其路由信息查找任务,那么它将立刻离开路由缓冲区;4)各存储器在一个时隙内只能被访问一次。每个到达的数据包生成一个路由信息查找请求,该路由信息查找请求包含一次或多次存储器访问操作,每次存储器访问操作的目标是路由表前缀树中某结点所在的存储器,各目标结点依序构成一条从根结点出发到某叶子结点结束的查找路径。所述调度单元的调度策略为步骤I)请求每个尚未匹配成功的排队数据包发送一个请求给其尚未匹配成功的根存储器;步骤2)授权每个被请求的存储器从所有向其请求的数据包中选择一个授予访问许可;步骤3)接受每个被授权的数据包从所有向其授权的存储器中选择一个接受其访问许可。其中,根存储器表示每棵子树的根结点所在的存储器。本发明的有益效果首先,本发明的路由体系结构提供了一个路由缓冲区来缓冲到达的数据包,从而支持日益增长的主干网带宽需求,如果路由缓冲区的包丢失率小于交换缓冲区的包丢失率,那么本发明的路由体系结构的性能就能够达到无路由缓冲区的路由系统的性能;另外,本发明通过包过滤器不但可以避免路由冗余,防止任意两个目的地址相同的数据包会被路由到同一个输出端口,还可以使目的地址相同的数据包保持先进先出的顺序;再有,本发明通过随机副本分配技术通过使用额外的存储空间来减少流水路由体系结构中存储器的访问冲突频率,可行性更高。图I为路由表不例图;图2为路由表对应的BT树示意图;图3为本发明的路由体系结构的示意图;图4为本发明的数据包的排队策略的结构示意图;图5为双向图匹配模型示意图;图6为本发明初始状态和达到的数据包的示意图;图7为本发明对给定的数据包的流水并行调度的结果示意图。具体实施例方式下面结合附图来本对本发明进行进一步阐述。如图3所示,本发明的基于随机副本分配的多存储器流水路由体系结构包括路由缓冲区、调度单元和存储器组,路由缓冲区用于缓存进入路由体系结构的数据包,调度单元用于控制路由缓冲区中的排队数据包与各存储器间之间的读写访问,存储器组用于存储路由表前缀树结点的存储器。传统路由器的一个设计假设是路由器能够为以任意可能的速率到达的数据包提供实时的路由服务,从而,路由器在路由阶段不需要提供缓冲区来缓存到达的数据包。本发明为了提高系统吞吐量,路由体系结构提供一个路由缓冲区来缓冲到达的数据包,从而支持日益增长的主干网带宽需求,且如果路由缓冲区的包丢失率小于交换缓冲区的包丢失率,那么本发明所提出的路由体系结构的性能就能够达到无路由缓冲区的路由系统的性能。另外,本发明还可以增加一个包过滤器,包过滤器检查每个到达路由体系结构的数据包,防止路由缓冲区中出现目的地址相同的数据包,使用包过滤器有两个目的其一,避免路由冗余,任意两个目的地址相同的数据包会被路由到同一个输出端口;其二,使目的地址相同的数据包保持先进先出的顺序。另外,本发明通过使用一种随机副本分配(RDA(RandomDuplicateAllocation))的存储分配技术实现路由表前缀树结点到存储器的映射,该技术能够将任意基于前缀树的路由算法下的路由表前缀树结点均匀地映射到流水系统的所有存储器中,相较于现存的其他流水路由设计方案,随机副本分配(RDA)技术通过使用额外的存储空间来减少流水系统中存储器的访问冲突频率,该技术最先被用于并行磁盘数据的存取管理18-20。详细地说,任意路由表前缀树被切分为一棵主树和多棵子树,主树包含前缀树的低层结点,并被转换为一个索引表,各子树包含前缀树的部分高层结点,并被映射到存储器组中,进一步地,每棵子树有两个副本,各副本被独立地映射到存储器组中。从而,如果数据包的路由查找过程能够访问两棵副本树中的任意一棵,其就能够继续执行。我们基于以下因素考虑使用RDA技术在构建一个高性能路由系统的过程中,增加单个存储器的容量较之增加存储器的数量更为简单,低廉和可行。为了方便描述,我们首先给出几个专有名词及其定义如下当我们提到一个数据包的子树时,该子树即为系统为了获取数据包的路由信息所需遍历的目标子树,对于每棵子树,其根结点所在的存储器被称为该子树的根存储器,进一步地说,给定某个数据包,其对应子树的根存储器也可以被认为是该数据包的根存储器,由于RDA存储分配技术为每棵子树在存储器组中提供两个独立的副本,故而每个数据包有两棵子树和两个根存储器。如图3所示,本发明增加了一个用于存储索引表的索引表存储单元,该索引表存储单元一般为小而快的存储器(例如SRAM),即路由表前缀树的主树被表示为一个索引表,该索引表存储在一个小而快速的存储器中。每棵子树从根结点开始按层循环地映射到存储器组中,不失一般性地,如果根结点被存储到编号为i的存储器中,那么第j层结点被存储到编号为(i+j)modM的存储器中,对于每个新到达路由体系结构的数据包,其将经历两个处理阶段来获取数据包目的地址的最长匹配前缀,即一个查找索引表的单步匹配阶段和一个涉及多次存储器访问的查找阶段。索引表包含Z个子项,每个子项由一个前缀域和一个或多个结点指针域构成,从而,一个数据包的路由信息查找过程的执行流程如下首先,系统获取数据包目的地址的最高r比特,并将其作为索引表的第i号子项的索引,如果第i号子项的结点指针为空,那么本次路由查找就执行完毕;否则,系统将从该结点指针所指向的子树的根结点开始,遍历该子树以完成该路由信息查找请求。为了使存储器的总吞吐量维持在较高水平,系统的调度目标是从排队数据包中选取一个尽可能大的数据包集合,该集合中的任意两个数据包的根存储器互异,根存储器不同的数据包就能够同时执行存储器访问操作。对于每棵子树,其根结点被随机存储到任意存储器中,而其子孙结点被按层循环地映射到根存储器的后续存储器中,因此,在数据包的路由信息查找过程中,对目标子树的遍历始于对根存储器的访问,直至到达某叶子结点所在的存储器结束,在此过程中,路由信息查找请求在每层访问一个结点,在每个存储器中访问一层,从而,当选的数据包集合的对应子树的访问操作能够按批处理方式并行地执行。在这里,术语批处理(batch)意味着当选的所有子树的遍历过程均始于同一时刻,并且,当所有遍历过程均完成时,该批处理过程才宣告结束。下面,我们给出以下假设和参数声明以建立路由体系结构的数据包排队策略I)系统时间被分割为固定大小的时隙,每个时隙被定义为一个存储访问周期,进一步地,每个时隙被等分为M个时钟周期。2)每个到达路由缓冲区的数据包长度固定,每个时钟周期到达的数据包数量最多为1,换言之,每个时隙最多有M数据包达到路由体系结构。3)在各时隙的末尾,调度单元从排队数据包中选取一个无冲突的数据包集合,所有当选的数据包并行地访问存储器组以查找存储在各存储器中的路由信息,如果某个当选的数据包完成了其路由信息查找任务,那么它将立刻离开路由缓冲区。4)各存储器在一个时隙内只能被访问一次。为了表述方便,我们引入下面两个参数N:路由缓冲区中排队数据包的数量,缓冲区的容量为L个数据包。M:可用存储器的数量。我们用符号叫,m2,...,mM表示存储器,为了表述方便,我们假定M为2的整数次幂。基于上述假设和参数定义,我们在图4给出所涉及的路由体系结构的排队策略,在这个模型中,每个到达的数据包生成一个路由信息查找请求,该路由信息查找请求包含一次或多次存储器访问操作,每次存储器访问操作的目标是前缀树中某结点所在的存储器,各目标结点依序构成一条从根结点出发到某叶子结点结束的查找路径。调度策略对于每个新到达的数据包,系统通过数据包地址的前r比特查询索引表以定位其子树的根结点在存储器组中的位置,然后,系统为数据包建立一个路由信息查找请求,该查找请求按层遍历目标子树以获取路由信息,我们同样使用形如R(Sl,S2,...,Si,...,St)的多维元组来表示一个路由信息查找请求。一个数据包的路由信息查找过程分为两个阶段调度阶段和访问阶段,在前一个阶段中,系统选取一个根存储器互不相同的数据包集合;在后一个阶段中,系统同时遍历各当选数据包的对应子树以获取路由信息,在调度阶段所得到的数据包集合的根存储器是互异的,故而,这些数据包所对应的查找请求是可以并行地执行的。在访问阶段,每个当选的数据包将遍历其目标子树,详细地说,不失一般性地,假设Ri,Rj为任意两个当选的数据包的路由信息查找请求,Mi,Mj为这两个查找请求的目标根存储器,则在访问阶段,查找请求Ri将循环地访问编号依次为Mi,M(i+l)modMJM(j_+2)modM,的存储器序列,直到到达某个叶子结点结束,&也是如此。从而,查找请求Ri和&在整个访问阶段中都是无冲突的,其对应的每个查找步骤都可以被并行地执行。如图5所示,调度阶段的仲裁问题可以被转化为一个双向图匹配问题,此处的两个顶点集分别为N个排队数据包和M个存储器,如果数据包和存储器之间存在一条弧,则表示该数据包的子树的根结点位于该存储器中,注意,每棵子树有两棵副本树,从而,我们有两棵独立地分布于存储器组中的副本树,以及两个分布在不同存储器中的根结点,通过访问该子树的任意副本,我们可以得到所需的路由信息。因此,图中的每个数据包顶点都有两条边。一般而言,我们可以使用任意双向图匹配算法来寻找存储器组和排队数据包之间的最大匹配集,这些匹配算法包括FCFS(FirstComeFirstServed),PIM(ParallelIterativeMatching)16,iSLIP17等等,调度的目标是在有资格参与调度的排队数据包和所有可用的存储器之间寻找一个最大匹配,我们在下文中给出关于该调度问题的一个算法框架。注意,在每轮调度阶段的开始时刻,所有的排队数据包和存储器均处于未匹配状态,系统迭代地执行如下三个步骤,直到找到一个最大匹配。步骤I)请求每个尚未匹配成功的排队数据包发送一个请求给其尚未匹配成功的根存储器;步骤2)授权每个被请求的存储器从所有向其请求的数据包中选择一个授予访问许可;步骤3)接受每个被授权的数据包从所有向其授权的存储器中选择一个接受其访问许可。为了帮助理解该调度策略框架下的路由信息查找过程,我们图6和图7中给出了一个简单的调度实例,注意,调度单元采取先来先服务的调度策略控制存储器组和数据包集合间的访问操作。此处,我们假定可用的存储器数量为M=4,且初始缓冲区数据包数N=0,系统时间被划分为等大时隙,每个时隙被进一步细分为M个时钟周期,每个时钟周期最多有一个数据包到达路由缓冲区,为了表述方便,我们假设每个尚未匹配成功的排队数据包随机地从其尚未匹配成功的根存储器中选择一个并向其发送访问请求。在时隙0,Ptl-P3到达路由缓冲区,系统分别为各数据包生成路由信息查找请求RcrR3。此处,R0对应于Ptl,R1对应于P1,以此类推。因为R2和R3同时请求访问m2,故而系统发生了一个存储器访问冲突。根据先来先服务的仲裁策略,m2被授权给更早到达的P2。结果是,数据包{Pc^P^Pd的查找请求当选。查找请求集HR2I是一个无冲突访问集,其可被系统并行地执行。如表中所示,该批处理作业连续消耗时隙1-3来执行存储器访问操作。显而易见,访问阶段的持续时间由所需访问次数最多的Rtl决定。系统在时隙4发起下一轮调度,查找请求{R3,R5,R6,R8I当选,系统消耗三个连续时隙5-7执行当选的路由信息查找请求的存储器访问操作,近似地,在时隙8和时隙12,查找请求(R7R9RltJ和{Rn}分别当选。注意,我们不必建立查找请求R4,因为P4的路由信息在索引表的快速匹配阶段已经被直接确定了。从这个例子中,我们注意到一个数据包的路由信息查找过程包含两个处理阶段调度阶段和紧随其后的访问阶段。前一个阶段持续一个时隙,后一个阶段持续一个或多个时隙。在调度阶段,系统选取一个排队数据包集来执行路由信息查找任务。每个当选的数据包的查找请求需要消耗多个连续的时隙。我们还可以看到,对任意两个连续执行的路由信息查找过程,我们可以将前一个查找过程的访问阶段和后一个查找过程的调度阶段并行地执行以进一步提高系统效率。然而,为了简化描述,我们在这个例子中假设路由处理过程是非重叠地顺序执行的。以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中可能存在局部微小的结构改动,如果对本发明的各种改动或变型不脱离本发明的精神和范围,且属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变型。权利要求1.一种基于随机副本分配的多存储器流水路由体系结构,它包含一个用于缓存数据包的路由缓冲区,一个用于控制排队数据包与各存储器间之间的读写访问的调度单元,以及一组用于存储路由表前缀树结点的存储器。2.根据权利要求I所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,所述路由表前缀树结点以随机副本分配的存储方式实现到存储器的映射。3.根据权利要求2所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,还包括索引表存储单元,所述路由表前缀树被切分为一棵主树和多棵子树,主树包含前缀树的低层结点,并被转换为一个索引表,该索弓I表存储在索弓I表存储单兀中,各子树包含前缀树的高层结点,每棵子树有两个副本,各副本被独立地映射到存储器组中。4.根据权利要求3所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,所述索引表包含数个子项,每个子项由一个前缀域和一个或多个结点指针域构成。5.根据权利要求I所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,还包括一个用于检查每个到达路由体系结构的数据包,防止路由缓冲区中出现目的地址相同的数据包的包过滤器。6.根据权利要求3所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,所述数据包的排队策略为1)系统时间被分割为固定大小的时隙,每个时隙被定义为一个存储访问周期,每个时隙被等分为M个时钟周期;2)每个到达路由缓冲区的数据包长度固定,每个时钟周期到达的数据包数量最多为1,即每个时隙最多有M数据包达到路由体系结构;3)在各时隙的末尾,调度单元从路由缓冲区的排队数据包中选取一个无冲突的数据包集合,所有当选的数据包并行地访问存储器组以查找存储在各存储器中的路由信息,如果某个当选的数据包完成了其路由信息查找任务,那么它将立刻离开路由缓冲区;4)各存储器在一个时隙内只能被访问一次。7.根据权利要求6所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,每个到达的数据包生成一个路由信息查找请求,该路由信息查找请求包含一次或多次存储器访问操作,每次存储器访问操作的目标是路由表前缀树中某结点所在的存储器,各目标结点依序构成一条从根结点出发到某叶子结点结束的查找路径。8.根据权利要求6所述基于随机副本分配的多存储器流水路由体系结构,其特征在于,所述调度单元的调度策略为步骤I)请求每个尚未匹配成功的排队数据包发送一个请求给其尚未匹配成功的根存储器;步骤2)授权每个被请求的存储器从所有向其请求的数据包中选择一个授予访问许可;步骤3)接受每个被授权的数据包从所有向其授权的存储器中选择一个接受其访问许可,其中,根存储器表示每棵子树的根结点所在的存储器。全文摘要本发明公开了一种基于随机副本分配的多存储器流水路由体系结构,它包含缓存数据包的路由缓冲区,防止路由缓冲区中出现目的地址相同的数据包的包过滤器,控制排队数据包与各存储器间之间的读写访问的调度单元,以及存储单元和存储器组,路由表前缀树被切分为一棵主树和多棵子树,主树包含前缀树低层结点,并被转换为存储在索引表存储单元中的索引表,各子树包含前缀树高层结点,每棵子树有两个副本,各副本被独立地映射到存储器组中,每个到达的数据包生成一个路由信息查找请求,该请求包含一次或多次存储器访问操作,每次存储器访问操作的目标是前缀树中某结点所在的存储器,各目标结点依序构成一条从根结点出发到某叶子结点结束的查找路径。文档编号H04L12/56GK102739550SQ201210248200公开日2012年10月17日申请日期2012年7月17日优先权日2012年7月17日发明者农革,吴裔申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1