无需闭环流控的可扩展定长多路径交换系统的制作方法

文档序号:7776751阅读:299来源:国知局
无需闭环流控的可扩展定长多路径交换系统的制作方法
【专利摘要】本发明提出一种无需闭环流控的可扩展定长多路径交换系统,包括:N个输入端口、N个解复用器、K个交叉点缓存交换单元、N个复用器和N个输出端口,其中,N为正整数。每个解复用器具有N个虚拟输出队列,N个虚拟输出队列分别存储去往N个输出端口的定长分片;K个交叉点缓存交换单元用于接收并缓存来自N个虚拟输出队列的去往N个输出端口的定长分片;N个复用器分别包括一个接收队列和N个重组队列,接收队列用于依次接收来自K个交叉点缓存交换单元的K个分片,N个重组队列用于重组K个分片,以生成数据包。本发明的实施例具有较强的可扩展性,且无需采用复杂的闭环流控机制,消耗的硬件资源较少,因此成本较低。
【专利说明】无需闭环流控的可扩展定长多路径交换系统
【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种无需闭环流控的可扩展定长多路径交换系统。
【背景技术】
[0002]随着互联网、数据中心等大型网络的飞速发展,政府、企业和用户对于网络带宽的需求也持续快速增长。作为网络中的核心节点,设计骨干网核心路由器/交换机中的高速交换结构也因此变得尤为重要。
[0003]考虑到硬件实现上时钟同步以及存储存取的方便,现行的商用交换结构大多都选择定长交换的方式。即在交换入口处将IP数据包切割成固定长度的分片(cell),以分片为单位完成交换,在出口处再将分片重组为IP数据包。通常为了保证交换的吞吐率以及减小输出端重组的难度,现行的定长交换结构需要采取闭环流控机制,以保证交换结构内部不会出现分片丢弃的情况。闭环流控也被称为背压,工程上通常有三种实现方式:1)通过与数据通路分离的控制通路传输流控信号;2)通过数据通路传输特定的流控分片;3)将控制通路与数据通路相结合的流控方式。
[0004]然而,交换规模的增大以及链路速度的增长,给背压的工程实现带来了巨大的困难,主要包括:1)控制通路精细化带来的巨大的芯片管脚消耗;2)背压反馈延时导致需要预留的存储空间增加;3)饱和树问题导致的系统性能急剧下降;4)流控信号带来的额外通信开销。
[0005]针对上述交换规模以及链路速度增加给背压带来的问题,目前有一些改进方法,诸如合并流控信号、建立多队列分隔流等方法。但这些方法有些以牺牲性能为代价,有些需要消耗大量存储资源,在实际商用的路由器或交换机中皆不适宜应用。

【发明内容】

[0006]本发明旨在至少解决上述技术问题之一。
[0007]为此,本发明的目的在于提出一种无需闭环流控的可扩展定长多路径交换系统,该交换系统具有较强的可扩展性,且无需采用负载的闭环流控机制,消耗的硬件资源较少,因此成本较低。
[0008]为了实现上述目的,本发明的实施例提出了一种一种无需闭环流控的可扩展定长多路径交换系统,其特征在于,包括:N个输入端口、N个解复用器、K个交叉点缓存交换单元、N个复用器和N个输出端口,所述N、K均为正整数,其中,所述N个解复用器分别一一对应地与所述N个输入端口相连,每个所述解复用器具有N个虚拟输出队列,所述N个虚拟输出队列分别存储去往所述N个输出端口的定长分片;所述K个交叉点缓存交换单元分别与所述N个解复用器相连,用于接收并缓存来自N个虚拟输出队列的去往所述N个输出端口的定长分片;所述N个复用器与所述K个交叉点缓存交换单元相连,所述N个复用器分别包括一个接收队列和N个重组队列,所述接收队列用于依次接收来自所述K个交叉点缓存交换单元的K个分片,所述N个重组队列用于重组所述K个分片,以生成数据包。
[0009]根据本发明实施例的无需闭环流控的可扩展定长多路径交换系统,利用交叉点缓存结构作为交换单元,组成一个多平面并行包交换系统。将数据包切割成多个定长分片后,通过N个解复用器传输K个定长分片至K个交叉点缓存交换单元,交叉点缓存交换单元采用特定的调度算法,允许少量分片在交换结构内被丢弃,并将K个分片传输至N个复用器,以将K个分片重组为数据包。从而该系统摒弃了复杂的闭环流控机制,消耗的硬件资源较少,因此成本较低,且该系统具有较强的可扩展性,对研制大规模超高速交换结构具有重要意义。
[0010]另外,根据本发明上述实施例的无需闭环流控的可扩展定长多路径交换系统还可以具有如下附加的技术特征:
[0011 ] 在本发明的实施例中,所述N个虚拟输出队列分别以先进先出的方式存储去往N个输出端口的定长分片。
[0012]在本发明的实施例中,所述N个解复用器用于:判断是否有K个时隙以上没有分发分片,如果不是,则继续等待,如果判断有K个时隙以上没有分发分片,则判断所有队列是否为空,如果所有队列为空,则继续等待,否则在所述所有队列中选取最长队列,并判断所述最长队列的长度是否大于或等于K,如果所述最长队列的长度大于或等于K,则将所述最长队列中前K个分片按照预设顺序同时发送至所述K个交叉点缓存交换单元,以实现所述N个虚拟输出队列分别以先进先出的方式存储去往N个输出端口的定长分片。
[0013]在本发明的实施例中,所述N个解复用器还用于在所述最长队列的长度小于K时,用预设类型的分片将所述最长队列的长度补充至K,再将所述最长队列中前K个分片按照预设顺序同时发送至所述K个交叉点缓存交换单元。
[0014]在本发明的实施例中,所述预设类型的分片为补齐分片。
[0015]在本发明的实施例中,所述N个复用器的接收队列还用于在存满K个分片后,将所述K个分片发送至所述充重组队列,并将所述K个分片中的所述预设类型的分片丢弃。
[0016]在本发明的实施例中,所述N个复用器的重组队列还用于在接收到所述接收队列发送的K个分片后,判断所述K个分片的第一个分片是否为第一预标记分片,如果是,则进一步判断是否存在距离所述第一个分片最近的第二预标记分片,如果存在,则将所述第一个分片和所述第二预标记分片之间的分片重组为所述数据包。
[0017]在本发明的实施例中,所述N个复用器的重组队列还用于在判断所述K个分片的第一个分片不为所述第一预标记分片时,丢弃所述第一个分片,以及在判断不存在距离所述第一个分片最近的第二预标记分片时,继续等待。
[0018]在本发明的实施例中,所述第一预标记分片为数据包头部分片,所述第二预标记分片为数据包尾部分片。
[0019]本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
【专利附图】

【附图说明】
[0020]本发明的上述和附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:[0021]图1为根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统的结构框图;
[0022]图2为根据本发明另一个实施例的无需闭环流控的可扩展定长多路径交换系统的整体结构及交换单元结构示意图;
[0023]图3为根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统的解复用器结构及调度示意图;和
[0024]图4为根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统的复用器结构示意图。
【具体实施方式】
[0025]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0026]在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0027]在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0028]以下结合附图详细描述根据本发明实施例的无需闭环流控的可扩展定长多路径交换系统。
[0029]图1为根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统的结构框图。如图1所示,根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统100,包括N个输入输出端口 110、N个解复用器120、K个交叉点缓存交换单元130、N个复用器140和N个输出端口 150,其中,上述的N和K均为正整数。
[0030]具体而言,N个解复用器120分别一一对应地与N个输出端口 110相连,每个解复用器具有N个虚拟输出队列(如图3中所示的VOQl、V0Q2…V0QN),且该N个输出队列分别存储去往N个输出端口 150的定长分片。其中,在该不例中,每传输一个定长分片的时长为一个时隙。
[0031]在本发明的一个具体实施例中,结合图2和图3所示,上述N个虚拟输出队列(SPVOQl、V0Q2…V0QN)分别以先进先出的方式存储去往N个输出端口的定长分片。具体而言,N个解复用器120首先判断是否有K个时隙以上没有分发分片,如果不是,则继续等待。如果判断有K个时隙以上没有分发分片,则判断所有队列(即N个虚拟输出队列)是否为空,如果所有队列为空,则继续等待,否则在所有队列中选取最长队列,例如记最长队列为LV0Q,并进一步判断最长队列LVOQ的长度是否大于或等于K,如果最长队列LVOQ的长度大于或等于K,则将该最长队列LVOQ中前K个分片按照预设顺序同时发送至K个交叉点缓存交换单元,从而实现N个虚拟输出队列分别以先进先出的方式存储去往N个输出端口 150的定长分片。其中,预设顺序根据实际需要预先设定。
[0032]进一步地,在上述过程中,如果判断最长队列LVOQ的长度小于K,则N个解复用器120用预设类型的分片将最长队列LVOQ的长度补充至K,再将补充后的最长队列LVOQ的前K个分片按照预设顺序同时发送至K个交叉点缓存交换单元。其中,在本发明的一个具体实施例中,预设类型的分片例如为补齐分片(fake cell)。换言之,即如果判断LVOQ的长度小于K,则用fake cell (即补齐分片)将LVOQ的长度补齐至K,再将LVOQ中前K个cell (包含fake cell)依据预设顺序同时分发到去往K个中间SM (即交叉点缓存交换单元)的K条不同链路上。
[0033]需要说明的是,由于同一个解复用器与所有SM之间的链路物理上完全等长,且K各分片被同时发送,因此K个去往相同输出端口的分片将同时达到K个中间SM的相同输入端口。
[0034]K个交叉点缓存单元130分别与N个解复用器120相连,用于接收并缓存来自N个虚拟输出队列的去往N个输出端口 150的定长分片。作为一个具体的示例,来自相同输入端口且去往相同输入端口的所有分片均属于同一个流。
[0035]作为一个具体示例,K个交叉点缓存单元130 (即SM)的结构如图2所示,其中,每个SM结构相同、时钟同步,且所有SM中采用相应的轮询(RR,Round-Robin)调度方式,即在每个时隙,每个输出端口并行地以RR方式从其对应的一列中所有非空交叉点队列里选择一个,并传输其队首分片至对应的复用器。在此过程中,如果某一列所有队列均为空,则此时隙该输出端口不传输分片。
[0036]值得注意的是,由于所有SM具有相同的输入流量且结构、算法均相同,因此所有的SM的行为将完全一致,也就是说属于同一个流的被同时分发至所有SM的K个定长分片将在SM中同时被传输或丢弃。
[0037]N个复用器140与K个交叉点缓存交换单元130相连,N个复用器140分别包括一个接收队列和N个重组队列(例如图4所示)。接收队列用于依次接收来自K个交叉点缓存交换单元130的K个分片,N个重组队列用于重组该K个分片,以生成数据包。需要说明的是,数据包在进入该交换系统100之前已被切割成多个定长的分片(cell)。
[0038]作为一个具体示例,结合图4所示,每个复用器中均包含一个接收队列和N个重组队列。
[0039]其中,接收队列用于接收同时从K个SM传输过来的属于同一个流的K个定长分片(其中包含fake cell),且每个分片根据其来自的SM编号依次存储在接收队列的相应位置。进一步地,接收队列还用于在存满K个分片后,将K个分片发送至重组队列,并将K个分片中的预设类型的分片丢弃。换言之,即当接收队列存满K个分片后,按照先进先出的顺序将该K个分片发送至其所述流对应的重组队列中,而在此过程中,接收队列会将所有的fakecell (即预设类型的分片)丢弃,以免fake cell被发送至重组队列中,导致传输结果错误。
[0040]另外,N个重组队列还用于在接收到接收队列发送的K个分片后,判断该K个分片的第一个分片是否为第一预标记分片,如果是,则进一步判断是否存在距离该第一个分片最近的第二预标记分片,如果存在,则将第一个分片与该第二预标记分片之间的分片重组,以生成数据包。进一步地,在上述过程中,N个重组队列还用于在判断K个分片的第一分片不为第一预标记分片时,丢弃该第一个分片,以及在判断不存在距离第一个分片最近的第二预标记分片时,继续等待。其中,在本发明的一个具体实施例中,第一预标记分片例如为数据包头部分片(SOP),第二预标记分片例如为数据包尾部分片(EOP)。
[0041]换言之,即N个重组队列在接收到接收队列发送的K个分片后,判断对列头部分片是否为S0P,如果不是,则丢弃该分片;如果该分片是S0P,则进一步判断是否存在距离SOP最近的Ε0Ρ,如果存在,则将SOP与EOP之间的cell (包含SOP和Ε0Ρ)重组为一个数据包,并传输出该交换系统100 ;如果不存在距离SOP最近的Ε0Ρ,则继续等待。
[0042]作为一个具体示例,结合图2至图4,上述的N个输入端口和N个输出端口的链路速度均为R,每个解复用器和每个交叉点缓存交换单元(即SM)之间以及每个交叉点缓存交换单元和每个复用器之间的中间链路速度均为R/K。且同一个解复用器与所有的交叉点缓存交换单元之间的链路物理上完全等长,同一个复用器与所有的交叉点缓存交换单元之间的链路物理上也完全等长。
[0043]根据本发明一个实施例的无需闭环流控的可扩展定长多路径交换系统,利用交叉点缓存结构作为交换单元,组成一个多平面并行包交换系统。将数据包切割成多个定长分片后,通过N个解复用器传输K个定长分片至K个交叉点缓存交换单元,交叉点缓存交换单元采用特定的调度算法,允许少量分片在交换结构内被丢弃,并将K个分片传输至N个复用器,以将K个分片重组为数据包。从而该系统摒弃了复杂的闭环流控机制,消耗的硬件资源较少,因此成本较低,且该系统具有较强的可扩展性,对研制大规模超高速交换结构具有重要意义。
[0044]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0045]尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
【权利要求】
1.一种无需闭环流控的可扩展定长多路径交换系统,其特征在于,包括:N个输入端口、N个解复用器、K个交叉点缓存交换单元、N个复用器和N个输出端口,所述N、K均为正整数,其中, 所述N个解复用器分别一一对应地与所述N个输入端口相连,每个所述解复用器具有N个虚拟输出队列,所述N个虚拟输出队列分别存储去往所述N个输出端口的定长分片;所述K个交叉点缓存交换单元分别与所述N个解复用器相连,用于接收并缓存来自N个虚拟输出队列的去往所述N个输出端口的定长分片; 所述N个复用器与所述K个交叉点缓存交换单元相连,所述N个复用器分别包括一个接收队列和N个重组队列,所述接收队列用于依次接收来自所述K个交叉点缓存交换单元的K个定长分片,所述N个重组队列用于重组所述K个定长分片,以生成数据包。
2.如权利要求1所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于,所述N个虚拟输出队列分别以先进先出的方式存储去往N个输出端口的定长分片。
3.根据权利要求2所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于,所述N个解复用器用于:判断是否有K个时隙以上没有分发分片,如果不是,则继续等待,如果判断有K个时隙以上没有分发分片,则判断所有队列是否为空,如果所有队列为空,则继续等待,否则在所述所有队列中选取最长队列,并判断所述最长队列的长度是否大于或等于K,如果所述最长队列的长度大于或等于K,则将所述最长队列中前K个分片按照预设顺序同时发送至所述K个交叉点缓存交换单元,以实现所述N个虚拟输出队列分别以先进先出的方式存储去往N个输出端口的定长分片。
4.如权利要求3所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于,所述N个解复用器还用于在所述最长队列的长度小于K时,用预设类型的分片将所述最长队列的长度补充至K,再将所述最长队列中前K个分片按照预设顺序同时发送至所述K个交叉点缓存交换单元。
5.如权利要求4所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于,所述预设类型的分片为补齐分片。
6.如权利要求1所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于, 所述N个复用器的接收队列还用于在存满K个分片后,将所述K个分片发送至所述重组队列,并将所述K个分片中的所述预设类型的分片丢弃。
7.如权利要求1所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于, 所述N个复用器的N个重组队列还用于在接收到所述接收队列发送的K个分片后,判断所述K个分片的第一个分片是否为第一预标记分片,如果是,则进一步判断是否存在距离所述第一个分片最近的第二预标记分片,如果存在,则将所述第一个分片和所述第二预标记分片之间的分片重组为所述数据包。
8.如权利要求7所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于, 所述N个复用器的N个重组队列还用于在判断所述K个分片的第一个分片不为所述第一预标记分片时,丢弃所述第一个分片,以及在判断不存在距离所述第一个分片最近的第二预标记分片时,继续等待。
9.如权利要求7或8所述的无需闭环流控的可扩展定长多路径交换系统,其特征在于,所述第一预标记分片为数据包头部分片,所述第二预标记分片为数据包尾部分片。
【文档编号】H04L12/931GK103595658SQ201310576764
【公开日】2014年2月19日 申请日期:2013年11月18日 优先权日:2013年11月18日
【发明者】赵有健, 陈果, 裴丹 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1