CN109218220A - 一种负载均衡的单组播业务混合交换方法 - Google Patents
一种负载均衡的单组播业务混合交换方法 Download PDFInfo
- Publication number
- CN109218220A CN109218220A CN201811357816.4A CN201811357816A CN109218220A CN 109218220 A CN109218220 A CN 109218220A CN 201811357816 A CN201811357816 A CN 201811357816A CN 109218220 A CN109218220 A CN 109218220A
- Authority
- CN
- China
- Prior art keywords
- module
- address
- output
- input stage
- submodule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6205—Arrangements for avoiding head of line blocking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/806—Broadcast or multicast traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种负载均衡的单组播业务混合交换方法,属于通信技术领域。该方法包括输入级模块获取分组的目的端口地址;对目的端口地址的比特位信息进行与操作得到目的模块地址;将分组存入目的模块缓存队列中,发起调度请求;接收反馈的匹配调度结果;中间级模块接收调度请求;根据未被处理的调度请求数和迭代式匹配算法得到匹配调度结果并发送;按匹配调度结果向输出级模块发送分组;输出级模块以先入先出方式调度出队首分组并发送至输出线卡上;解决了单组播业务在入队和调度时减少排头阻塞与不增加大量的管理和存储资源难以同时实现的问题;同时实现了单组播业务在入队和调度时减少排头阻塞,不需要增加大量的管理和存储资源的效果。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种负载均衡的单组播业务混合交换方法。
背景技术
多级交换网络通常由多个中小型的单级交换单元组成,具有可扩展、灵活性高的特点,如Clos型多级交换网络。多级交换网络已经越来越多地用在高性能大容量多端口的交换机设计中。
多级交换网络在处理组播业务、单组播混合业务时,传统方法有无阻塞入队、Hash映射入队和完全扇出入队。在无阻塞入队方法中,为了达到无排头阻塞影响,需要的队列数较多(2N-1个队列,N为交换网络端口数);随着交换网络端口数增加,所需要无阻塞队列数据将呈指数级增加,将占用大量的逻辑资源用于管理和调度。在Hash映射入队方法中,设置少量的队列(远少于2N-1个队列),将组播分组的地址按照一定的规律进行映射操作,如模队列数后取余,将获得的结果作为组播分组入队的队列号;虽然减少了队列数目,但增加了映射操作,且队列内仍存在一定程度的排头阻塞影响。在完全扇出入队方法中,将到达的组播分组第一时间按照目的端口完全复制扇出,并按照成熟的单播调度算法进行业务的调度和管理;然而容易造成第一级模块内存被扇出复制后的分组迅速占满的现象,存储单元利用率明显降低。
可见,传统的处理方法难以在组播业务入队和调度时,既减少排头阻塞的情况,又不需要增加大量的管理和存储资源。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种负载均衡的单组播业务混合交换方法。该技术方案如下:
第一方面,提供了一种负载均衡的单组播业务混合交换方法,应用于单组播业务混合交换装置,单组播业务混合交换装置包括k个输入级模块、m个中间级模块、k个输出级模块和级间链路,输入级模块通过级间链路与中间级模块连接,中间级模块通过级间链路与输出级模块连接;每个输出级模块包括n个输入端口和m个输出端口,每个中间级模块有k个输入端口和k个输出端口,每个输出级模块包括m个输入端口和n个输出端口;
该方法包括:
通过输入级模块获取分组的目的端口地址,目的端口地址的位数等于输出端口的总数;对目的端口地址的比特位信息进行与操作,得到目的模块地址;根据目的模块地址中不为0的位,将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中;根据目的模块地址向中间级模块发起调度请求;接收中间级模块反馈的匹配调度结果;按照匹配调度结果发送分组;
通过中间级模块接收输入级模块发送的调度请求;根据交换网络中累积的未被处理的调度请求数和迭代式匹配算法,得到匹配调度结果;向输入级模块发送匹配调度结果;接收输入级模块发送的分组,按匹配调度结果向输出级模块发送分组;
通过输出级模块接收分组,检测目的端口地址中不为0的位数;根据目的端口地址中不为0的位数,将分组存入目的端口地址中不为0的位对应的目的输出端口缓存队列中;以先入先出方式调度出队首分组,并发送至输出线卡上。
可选的,每个输入级模块包括输入级扇出子模块、输入级调度子模块和目的模块缓存队列;
通过输入级扇出子模块,读取分组的目的端口地址;
通过输入级扇出子模块,对分组的目的端口地址中的k组中间目的端口地址分别进行与操作,共得到k个操作结果,k个操作结果组成目的模块地址;每组中间目的端口地址有n个比特位;
通过输入级扇出子模块,将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中;目的模块缓存队列的数量为k,目的模块缓存队列与输出级模块一一对应;
通过输入级扇出子模块,向输入级调度子模块发送调度请求,请求包括目的模块地址;
通过输入级调度子模块,接收输入级扇出子模块发送的调度请求,向中间级模块发送调度请求,接收中间级模块反馈的匹配调度结果;
通过目的模块缓存队列,根据匹配调度结果调度队首分组。
可选的,将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中,包括:
检测目的模块地址中不为0的位数;
若目的模块地址中只有1位不为0,则将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中;
若目的模块地址不为0的位数为i个,则将分组复制i份并分别存入不为0的位对应的目的模块缓存队列中,删除原分组;i大于1。
可选的,每个输入级模块中的输入级调度子模块包括n个第一输入端判决器、m个实时请求计数器和m个第一输出端判决器;n≤m;
第一输入级判决器接收输入级扇出子模块发送的调度请求,调度请求包括目的模块地址;
在每个时隙,第一输入级判决器根据目的模块地址中不为0的位数,向实时请求计数器发送调度请求;
在每个时隙,实时请求计数器根据接收到的调度请求,将实时请求计数器信息置为目的模块地址;
在每个时隙,第一输出级判决器将实时请求计数器信息发送至中间级模块;
其中,第一输入判决器与第一输出判决器之间按照逐时隙轮转的方式,进行业务均衡。
可选的,每个中间级模块包括中间级调度子模块、交叉矩阵子模块;中间级调度子模块包括k个第二输入端判决器、k个综合请求计数器和k个第二输出端判决器;
通过中间级调度子模块接收输入级模块发送的调度请求,利用综合请求计数器记录交换网络中累积的未被处理的调度请求数;
通过中间级调度子模块以综合请求计数器的数值为权重,执行迭代匹配算法,得到匹配调度结果,匹配调度结果用于匹配输入级模块和输出端级模块;
通过中间级调度子模块向输入级模块发送匹配调度结果;
通过中间级调度子模块根据匹配调度结果配置交叉矩阵子模块,向输出级模块发送分组;交叉矩阵子模块连接输入端口和输出端口。
可选的,每个输出级模块包括输出级扇出子模块、目的输出端口缓存队列;目的输出端口缓存队列与输出级模块的输出端口一一对应;
第j个输出级模块通过输出级扇出子模块检测第j组中间目的端口地址中不为0的位数;
若第j组中间目的端口地址中只有1位不为0,则将分组存入第j组中间目的端口地址中只不为0的位对应的目的输出端口缓存队列中;
若第j组中间目的端口地址中不为0的位数为i个,则将分组复制i份,并分别存入第j组中间目的端口地址中不为0的位对应的目的输出端口缓存队列中,删除原分组;i大于1;
在每个时隙,每个输出端口从对应的目的输出端口缓存队列中以先入先出方式调度出队首分组,并发送至输出线卡上。
本发明实施例提供的技术方案带来的有益效果是:
1、在输入级模块通过均衡请求信息,达到了业务负载均衡的功能,提高了吞吐率性能;
2、各中间级模块独立运行匹配算法,端口数相比整个交换机极大减少,显著降低了调度算法的复杂度,提高了该交换装置的可扩展性;采用基于权重的调度算法,可灵活地适应单组播业务流量的变化;
3、组播业务在输入级模块和输出级模块分级扇出,减少了对存储资源的需求,极大地降低了管理复杂度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种负载均衡的单组播业务混合交换装置的结构示意图;
图2是根据一示例性实施例示出的一种输入级模块的示意图;
图3是根据一示例性实施例示出的一种中间级模块的示意图;
图4是根据一示例性实施例示出的一种输出级模块的示意图;
图5是根据一示例性实施例示出的一种负载均衡的单组播业务混合交换方法的流程图;
图6是根据一示例性实施例示出的一种组播分组扇出示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种负载均衡的单组播业务混合交换方法,该负载均衡负载的单组播业务混合交换方法应用于单组播业务混合交换装置中。
如图1所示,单组播业务混合交换装置包括若干个输入级模块110、若干个中间级模块120、若干个输出级模块130和级间链路140。
输入级模块110通过级间链路140与中间级模块120连接,中间级模块120通过级间链路140与输出级模块130连接。
交换网络有k个输入级模块、m个中间级模块、k个输出级模块,每个输出级模块包括n个输入端口和m个输出端口,每个中间级模块有k个输入端口和k个输出端口,每个输出级模块有m个输入端口和n个输出端口,交换网络规模也即总的输出端口位数为N=n*k。其中,n≤m,k、n、m均为整数。
分组的目的端口地址由N个比特位组成,N个比特位中第x位置1表示第x个端口为到达的分组的目的端口。
分组的目的端口地址可以分为k组中间目的端口地址,每组中间目的端口地址有n个比特位。
每个输入级模块110包括输入级扇出子模块111、输入级调度子模块112、目的模块缓存队列113,如图2所示。其中,输入级调度子模块112由n个第一输入端判决器1121、m个实时请求计数器1122和m个第一输出端判决器1123组成。
每个中间级模块120包括中间级调度子模块121和交叉矩阵子模块122,如图3所示。其中,中间级调度子模块121由k个第二输入端判决器1211、k个综合请求计数器1212和k个第二输出端判决器1213组成。
交叉矩阵子模块122连接输入级模块和输出级模块,数据从输入级模块到达后,经过配置好的交叉矩阵后,进入输出级模块。
具体地,交叉矩阵的输入端口连接输入级模块,交叉矩阵的输出端口连接输出级模块。
综合请求计数器1212用于记录来自输入级模块的实时调度请求,综合请求计数器的数值反映了交换网络中累积的未被处理的调度请求数,只有在输入级模块发来调度请求时,综合请求计数器的数值加1,当中间级调度子模块为输入级模块匹配输出端口后,综合请求计数器的数值减1。
每个输出级模块130包括输出级扇出子模块131和目的端口缓存队列132,如图4所示。
每个输出级模块130中目的端口缓存队列132的数量与输出端口的数量相同,且目的端口缓存队列132与输出端口一一对应。
在本发明实施例中,以16×16规模的多级交换网络为例,对该负载均衡的单组播业务混合交换方法进行说明。
在一个例子中,16×16规模的多级交换网络具有:4个输入级模块,每个输入级模块为4×4规模的共享缓存交换单元;4个中间级模块,每个中间级模块为4×4规模的交叉点缓存交换单元;4个输出级模块,每个输出级模块为4×4规模的共享缓存交换单元。即,多级交换网络中,总的交换端口数N=16,共有k=4个输出级模块,每个输出级模块有n=4个输出端口。
根据各级模块的规模,目的端口地址为16位,分别表示16个输出端口;其中,每连续4个地址位属于同一个输出模块;中间级模块的数目提供内部多条链路,不影响目的地址位数。
假设某个分组的目的端口地位为:0100 1010 0000 1111。
请参考图5,其示出了本发明一个实施例提供的负载均衡单组播业务混合交换方法的流程图。该负载均衡的单组播业务混合交换方法适用于如图1所示的负载均衡单组播业务混合交换装置中。如图5所示,该负载均衡单组播业务混合交换方法可以包括以下步骤:
步骤501,通过输入级模块获取分组的目的端口地址。
目的端口地址的位数等于输出端口的总数。
分组到达输入级模块的输入端口后,输入级模块读取分组的目的端口地址。
具体地,通过输入级扇出子模块读取分组的目的端口地址。
步骤502,通过输入级模块对目的端口地址的比特位信息进行与操作。
通过输入级模块中的输入级扇出子模块对分组的目的端口地址中的k组中间目的端口地址进行与操作,共得到k个操作结果,k个操作结果组成目的模块地址,每组中间目的端口地址有n个比特位。
在一个例子中,分组的目的端口地址0100 1010 0000 1111可以看作4组中间目的端口地址,分别为:第1组中间目的端口地址为0100,第2组中间目的端口地址为1010,第3组中间目的端口地址为0000,第4组中间目的端口地址为1111。如图6所示,第1组中间目的端口地址进行与操作后,得到的结果为1;第2组中间目的端口地址进行与操作后,得到的结果为1;第3组中间目的端口地址进行与操作后,得到的结果为0;第4组中间目的端口进行与操作后,得到的结果为1;即,得到的目的模块地址为1101。
步骤503,通过输入级模块根据目的模块地址中不为0的位,将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中。
通过输入级扇出子模块将分组存入目的模块地址中不为0的位对应的目的缓存队列中。
每个输入级模块中,目的缓存队列的数量为k,目的模块缓存队列与输出级模块的数量相同,目的模块缓存队列与输出级模块一一对应。
具体地,输入级扇出子模块检测目的模块地址中不为0的位数;
若目的模块地址中只有1位不为0,即是单播分组,将分组直接存入目的模块地址中不为0的位对应的目的模块缓存队列中。
比如,单播分组的目的模块地址为1000,则将该单播分组直接存入输出级模块1对应的目的模块缓存队列中。
若目的模块地址中不为0的位数为i个,i大于1,即是组播分组,将分组复制i份,并将复制后的分组分别存入不为0的位对应的目的模块缓存队列中,删除原组播分组。
比如,组播分组的目的模块地址为1101,则将该组播分组复制3份,将复制后的分组分别存入对应输出级模块1、输出级模块2、输出级模块3各自对应的目的模块缓存队列中,并删除原组播分组。
步骤504,通过输入级模块根据目的模块地址向中间级模块发起调度请求。
通过输入级模块中的输入级扇出子模块,向输入级调度子模块发送调度请求。调度请求包括目的模块地址。
通过输入级调度子模块,接收输入级扇出子模块发送的调度请求,向中间级模块发送调度请求。
具体地,一、输入级调度子模块中,第一输入级判决器接收输入级扇出子模块发送的调度请求。
二、在每个时隙,第一输入判决器根据目的模块地址中不为0的位数,向实时请求计数器发送调度请求;在每个时隙,实时请求计数器根据接收到的调度请求,将实时请求计数器信息置为目的模块地址。
其中,实时请求计数器的位数与输出级模块数相同。在每个时隙,每个第一输入端判决器只向一个第一输出端判决器发送调度请求;在一个时隙内可以放多个比特位的调度请求。一个实时请求计数器对应一个第一输出端判决器。
在每个时隙,实时请求计数器的实时请求计数器信息为0000,当第一输出端判决器收到调度请求时,对应的实时请求计数器的实时请求计数器信息置为目的模块地址。
比如,目的模块地址为1010,在一个时隙内,第一输入判决器向第一输出判决器发送包括目的地址1010的调度请求时,该第一输出判决器对应的实时请求计数器的实时请求计数器信息置为1010。
需要说明的是,在每个时隙,每个输出端口调度不超过一个分组。
三、在每个时隙,第一输出级判决器将所述实时请求计数器信息发送至中间级模块。
需要说明的是,第一输入判决器与第一输出判决器之间按照逐时隙轮转的方式,进行业务均衡。即在输入级模块中,第一输入判决器和第一输出判决器之间以逐时隙轮转的方式连接,每个第一输入判决器连接一个第一输出判决器,每个第一输出判决器连接不超过1个第一输入判决器。
当输入级模块的输入端口数少于输出端口数时,输入判决器数目同样少于输出判决器数目,此时输入判决器在所有输出判决器中轮转,部分输出判决器某些时隙无请求信息。
在一个例子中,输入级模块中有3个输入端口,4个输出端口,则若在t时隙,第一输入判决器1向第一输出判决器1发送调度请求;在t+1时隙,第一输入判决器1向第一输出判决器2发送调度请求;在t+2时隙,第一输入判决器1向第一输出判决器3发送调度请求;在t+3时隙,第一输入判决器1向第一输出判决器4发送调度请求;在t+4时隙,第一输入判决器1再次开始向第一输出判决器1发送请求信息;在t时隙,第一输入判决器2向第一输出判决器2发送调度请求;在t+1时隙,第一输入判决器2向第一输出判决器3发送调度请求;在t+2时隙,第一输入判决器2向第一输出判决器4发送调度请求;在t+3时隙,第一输入判决器2向第一输出判决器1发送调度请求;在t+4时隙,第一输入判决器2再次开始向第一输出判决器2发送请求信息;在t时隙,第一输入判决器3向第一输出判决器3发送调度请求;在t+1时隙,第一输入判决器3向第一输出判决器4发送调度请求;在t+2时隙,第一输入判决器3向第一输出判决器1发送调度请求;在t+3时隙,第一输入判决器3向第一输出判决器2发送调度请求;在t+4时隙,第一输入判决器1再次开始向第一输出判决器3发送请求信息。
步骤505,通过中间级模块接收输入级模块发送的调度请求。
输入级模块中的每个第一输出判决器对应一个中间级模块。比如,第一输出判决器1固定向中间级模块1发送调度请求;第一输出判决器2固定向中间级模块2发送调度请求,……。比如,第2个实时请求计数器的实时请求计数器信息为1101,则第一输出判决器2向中间级模块2发送调度请求。
步骤506,通过中间级模块根据交换网络中累积的未被处理的调度请求数和迭代式匹配算法,得到匹配调度结果。
在中间级模块中,利用综合请求计数器记录交换网络中累积的未被处理的调度请求数。在中间级模块接收到输入级模块发送的调度请求后,综合请求计数器内相应计数器的值加1。若没收到请求,则综合请求计数器维持原值不变化。当有调度请求被满足,将获得调度机会时,综合请求计数器内相应计数器的值减1。
每个中间级模块可以包括多个综合请求计数器,每个综合请求计数器可以包括多个计数器。一个综合请求计数器对应一个输入级模块,一个综合请求计数器内的各个计数器分别对应一个输出级模块。
比如,若为单播分组,中间级模块接收到的调度请求为1000,则中间级模块对应的综合请求计数器的第1个计数器值加1;若为组播分组,中间级模块接收到的调度请求为1101,则中间级模块对应的综合请求计数器的第1个计数器、第2个计数器和第4个计数器的值分别加1。
通过中间级调度子模块,以综合请求计数器的数值为权重,执行迭代匹配算法,得到匹配调度结果。匹配调度结果用于匹配输入级模块和输出级模块。
可选的,采用单击交换网络的迭代式轮询匹配算法iSlip、迭代式最大权重匹配算法等。本发明实施例对此不作限定。
步骤507,通过中间级模块向输入级模块发送匹配调度结果。
通过中间级调度子模块向输入级模块发送匹配调度结果。
步骤508,通过输入级模块接收中间级模块反馈的匹配调度结果,并按照匹配调度结果发送分组。
输入级模块按照收到的匹配调度结果向中间级模块发送相应的目的模块缓存队列中的分组。
步骤509,通过中间级模块接收输入级模块发送的分组,按匹配调度结果向输出级模块发送分组。
通过中间级调度子模块根据匹配调度结果配置交叉矩阵子模块,向输出级模块发送分组。
交叉矩阵的输入端口与输入级模块连接,交叉矩阵的输出端口与输出级模块连接。
分组数据从输入级模块达到后,经过配置好的交叉矩阵,直接达到中间模块的输出端口,随后进入输出级模块。
需要说明的是,在执行步骤507或步骤509的同时,更新综合请求计数器,综合请求计数器内相应计数器的值减1。
例如,若中间级模块2的匹配调度结果为:1-4,2-1,3-3,4-2,则按照该匹配调度结果将交叉矩阵的输入端口1连接输出端口4,交叉矩阵的输入端口2连接输出端口1,交叉矩阵的输入端口3连接输出端口3,交叉矩阵的输入端口4连接输出端口2。
将匹配调度结果反馈给各输入级模块。其中,反馈给输入级模块1的数据为1-4,表明在该时隙输入级模块1中,有1个去往输出级模块4的分组获得调度机会,将通过中间级模块2到达输出级模块4。其它匹配调度结果类似。其中,在根据匹配调度结果配置交叉矩阵子模块时,中间级模块2连接的输入级模块1对应的综合请求计数器中,对应输出级模块4的计数器的值减1;中间级模块2连接的输入级模块2对应的综合请求计数器中,对应输出级模块1的计数器的值减1,其他综合计数器类似。
步骤510,通过输出级模块接收分组。
分组到达输出级模块后,需要由输出级扇出子模块对分组对应的所有端口信息,得到目的端口地址,再执行分组入队操作。
步骤511,通过输出级模块检测目的端口地址中不为0的位数。
第j个输出级模块通过输出级扇出子模块检测第j组中间目的端口地址中不为0的位数。j为整数,j的取值范围为1至k;即从第1个输出级模块至第k个输出级模块,收到分组的输出级模块都要检测对应的中间目的端口地址中不为0的位数。
比如,第1输出级模块检测第1组中间目的端口地址中不为0的位数;若目的端口地址为0100 1010 0000 1111,则第2个输出级模块只检测第2组中间目的端口地址1010中不为0的位数。
步骤512,通过输出级模块根据目的端口地址中不为0的位数,将分组存入目的端口地址中不为0的位对应的目的输出端口缓存队列中。
在每个输出级模块,目的输出端口缓存队列与输出级模块的输出端口数量相同,目的输出端口缓存队列与输出级模块的输出端口一一对应。
若第j组中间目的端口地址中只有1位不为0,则将分组存入第j组中间目的端口地址中只不为0的位对应的目的输出端口缓存队列中。
比如,分组到达输出级模块1后,输出级模块1检测到该单播分组的中间目的端口地址为1000,则将该单播分组存入输出级模块1中的输出端口1对应的目的输出端口缓存队列中。
若第j组中间目的端口地址中不为0的位数为i个,则将分组复制i份,并分别存入第j组中间目的端口地址中不为0的位对应的目的输出端口缓存队列中,删除原分组;i大于1。
比如,目的端口地址如图6所示,输出级模块2检测到第2组中间目的端口地址为1010,检测到第1位和第3位不为0,则将分组复制为两份,分别存入输出级模块2中输出端口1和输出端口3各自对应的目的输出端口缓存队列中;输出级模块4检测到第4组中间目的端口地址为1111,检测到第1位、第2位、第3位和第4位不为0,则将分组复制为四份,分别存入输出级模块4中输出端口1、输出端口2、输出端口3和输出端口4各自对应的目的输出端口缓存队列中;删除原分组。
无论是单播分组还是组播分组,分组入队均按步骤511进行,单播分组与组播分组的区别在于,当分组是单播分组时,只有1个输出级模块接收到分组,当分组是组播分组时,有不止1个输出级模块接收到分组;此外,当分组是单播分组时,中间目的端口地址中只有1位不为0。
步骤513,通过输出级模块以先入先出方式调度出队首分组,并发送至输出线卡上。
在每个时隙,每个输出端口从对应的目的输出端口缓存队列中以先入先出方式调度出队首分组,并发送至输出线卡上。
输出级模块的每个输出端口每个时隙从对应的目的输出端口缓存队列中调度出1个分组,若相应的目的输出端口缓存队列中没有分组,则该时隙不调度。
综上所述,本发明实施例解决了现在多级交换网络中,单组播业务在入队和调度时,减少排头阻塞与不增加大量的管理和存储资源难以同时实现的问题;同时实现了单组播业务在入队和调度时减少排头阻塞,以及不需要增加大量的管理和存储资源的效果,此外,还具有如下特点:
1、在输入级模块通过均衡请求信息,达到了业务负载均衡的功能,提高了吞吐率性能;
2、各中间级模块独立运行匹配算法,端口数相比整个交换机极大减少,显著降低了调度算法的复杂度,提高了该交换装置的可扩展性;采用基于权重的调度算法,可灵活地适应单组播业务流量的变化;
3、组播业务在输入级模块和输出级模块分级扇出,减少了对存储资源的需求,极大地降低了管理复杂度。
需要说明的是,本发明实施例中涉及的“位”表示比特位。
需要说明的是:上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种负载均衡的单组播业务混合交换方法,其特征在于,应用于单组播业务混合交换装置,所述单组播业务混合交换装置包括k个输入级模块、m个中间级模块、k个输出级模块和级间链路,所述输入级模块通过级间链路与所述中间级模块连接,所述中间级模块通过级间链路与所述输出级模块连接;每个输出级模块包括n个输入端口和m个输出端口,每个中间级模块有k个输入端口和k个输出端口,每个输出级模块包括m个输入端口和n个输出端口;
所述方法包括:
通过所述输入级模块获取分组的目的端口地址,所述目的端口地址的位数等于输出端口的总数;对所述目的端口地址的比特位信息进行与操作,得到目的模块地址;根据所述目的模块地址中不为0的位,将分组存入目的模块地址中不为0的位对应的目的模块缓存队列中;根据所述目的模块地址向所述中间级模块发起调度请求;接收所述中间级模块反馈的匹配调度结果;按照匹配调度结果发送分组;
通过中间级模块接收所述输入级模块发送的调度请求;根据交换网络中累积的未被处理的调度请求数和迭代式匹配算法,得到匹配调度结果;向所述输入级模块发送匹配调度结果;接收输入级模块发送的分组,按所述匹配调度结果向所述输出级模块发送分组;
通过输出级模块接收分组,检测所述目的端口地址中不为0的位数;根据所述目的端口地址中不为0的位数,将分组存入目的端口地址中不为0的位对应的目的输出端口缓存队列中;以先入先出方式调度出队首分组,并发送至输出线卡上。
2.根据权利要求1所述的单组播业务混合交换方法,其特征在于,每个输入级模块包括输入级扇出子模块、输入级调度子模块和目的模块缓存队列;
通过所述输入级扇出子模块,读取分组的目的端口地址;
通过所述输入级扇出子模块,对分组的目的端口地址中的k组中间目的端口地址分别进行与操作,共得到k个操作结果,所述k个操作结果组成所述目的模块地址;每组中间目的端口地址有n个比特位;
通过输入级扇出子模块,将分组存入所述目的模块地址中不为0的位对应的目的模块缓存队列中;所述目的模块缓存队列的数量为k,所述目的模块缓存队列与输出级模块一一对应;
通过输入级扇出子模块,向所述输入级调度子模块发送调度请求,所述请求包括所述目的模块地址;
通过输入级调度子模块,接收所述输入级扇出子模块发送的调度请求,向所述中间级模块发送调度请求,接收所述中间级模块反馈的匹配调度结果;
通过所述目的模块缓存队列,根据所述匹配调度结果调度队首分组。
3.根据权利要求2所述的单组播业务混合交换方法,其特征在于,所述将分组存入所述目的模块地址中不为0的位对应的目的模块缓存队列中,包括:
检测所述目的模块地址中不为0的位数;
若所述目的模块地址中只有1位不为0,则将所述分组存入所述目的模块地址中不为0的位对应的目的模块缓存队列中;
若所述目的模块地址不为0的位数为i个,则将所述分组复制i份并分别存入不为0的位对应的目的模块缓存队列中,删除原分组;i大于1。
4.根据权利要求2或3所述的单组播业务混合交换方法,其特征在于,每个输入级模块中的输入级调度子模块包括n个第一输入端判决器、m个实时请求计数器和m个第一输出端判决器;n≤m;
所述第一输入级判决器接收所述输入级扇出子模块发送的调度请求,所述调度请求包括所述目的模块地址;
在每个时隙,所述第一输入级判决器根据所述目的模块地址中不为0的位数,向实时请求计数器发送调度请求;
在每个时隙,实时请求计数器根据接收到的调度请求,将实时请求计数器信息置为所述目的模块地址;
在每个时隙,第一输出级判决器将所述实时请求计数器信息发送至中间级模块;
其中,第一输入判决器与第一输出判决器之间按照逐时隙轮转的方式,进行业务均衡。
5.根据权利要求1所述的单组播业务混合交换方法,其特征在于,每个中间级模块包括中间级调度子模块、交叉矩阵子模块;所述中间级调度子模块包括k个第二输入端判决器、k个综合请求计数器和k个第二输出端判决器;
通过中间级调度子模块接收所述输入级模块发送的调度请求,利用综合请求计数器记录交换网络中累积的未被处理的调度请求数;
通过中间级调度子模块以综合请求计数器的数值为权重,执行迭代匹配算法,得到匹配调度结果,所述匹配调度结果用于匹配输入级模块和输出端级模块;
通过中间级调度子模块向输入级模块发送匹配调度结果;
通过中间级调度子模块根据匹配调度结果配置交叉矩阵子模块,向所述输出级模块发送分组;交叉矩阵子模块连接输入端口和输出端口。
6.根据权利要求1所述的单组播业务混合交换方法,其特征在于,每个输出级模块包括输出级扇出子模块、目的输出端口缓存队列;目的输出端口缓存队列与输出级模块的输出端口一一对应;
第j个输出级模块通过输出级扇出子模块检测第j组中间目的端口地址中不为0的位数;
若第j组中间目的端口地址中只有1位不为0,则将分组存入第j组中间目的端口地址中只不为0的位对应的目的输出端口缓存队列中;
若第j组中间目的端口地址中不为0的位数为i个,则将分组复制i份,并分别存入第j组中间目的端口地址中不为0的位对应的目的输出端口缓存队列中,删除原分组;i大于1;
在每个时隙,每个输出端口从对应的目的输出端口缓存队列中以先入先出方式调度出队首分组,并发送至输出线卡上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811357816.4A CN109218220A (zh) | 2018-11-15 | 2018-11-15 | 一种负载均衡的单组播业务混合交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811357816.4A CN109218220A (zh) | 2018-11-15 | 2018-11-15 | 一种负载均衡的单组播业务混合交换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109218220A true CN109218220A (zh) | 2019-01-15 |
Family
ID=64995643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811357816.4A Pending CN109218220A (zh) | 2018-11-15 | 2018-11-15 | 一种负载均衡的单组播业务混合交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109218220A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131089A (zh) * | 2019-12-24 | 2020-05-08 | 西安电子科技大学 | 改善多播业务hol阻塞的队列管理方法 |
CN111654454A (zh) * | 2020-06-23 | 2020-09-11 | 天津芯海创科技有限公司 | 基于Crossbar的双模混合交换结构和方法 |
CN114785746A (zh) * | 2022-04-19 | 2022-07-22 | 厦门大学 | 一种用于单组播混传的banyan网络 |
-
2018
- 2018-11-15 CN CN201811357816.4A patent/CN109218220A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111131089A (zh) * | 2019-12-24 | 2020-05-08 | 西安电子科技大学 | 改善多播业务hol阻塞的队列管理方法 |
CN111654454A (zh) * | 2020-06-23 | 2020-09-11 | 天津芯海创科技有限公司 | 基于Crossbar的双模混合交换结构和方法 |
CN111654454B (zh) * | 2020-06-23 | 2022-04-19 | 天津芯海创科技有限公司 | 基于Crossbar的双模混合交换装置和方法 |
CN114785746A (zh) * | 2022-04-19 | 2022-07-22 | 厦门大学 | 一种用于单组播混传的banyan网络 |
CN114785746B (zh) * | 2022-04-19 | 2023-06-16 | 厦门大学 | 一种用于单组播混传的banyan网络 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102195875B (zh) | 组合式硬件/软件转发机制和方法 | |
CN101873253B (zh) | 带缓冲的纵横式交换机系统 | |
JP3447321B2 (ja) | トランクグループ入力/出力モードを備えた交換機 | |
CN109218220A (zh) | 一种负载均衡的单组播业务混合交换方法 | |
Pattavina et al. | Analysis of input and output queueing for nonblocking ATM switches | |
US7852866B2 (en) | Low complexity scheduling algorithm for a buffered crossbar switch with 100% throughput | |
CN101917331B (zh) | 用于数据中心的系统、方法以及设备 | |
JPH0637796A (ja) | パケット交換機の改良型マルチキャスト機構 | |
US20020156918A1 (en) | Dynamic path selection with in-order delivery within sequence in a communication network | |
CN109445752B (zh) | 一种并行计算的系统 | |
CN104518891B (zh) | 胖树网络中的组播组建立方法、装置及胖树网络 | |
EP3367622B1 (en) | Data processing apparatus | |
JPH0637800A (ja) | 非ブロッキング自己経路指定式交換網を有する交換機 | |
JP2000341301A (ja) | Atmスイッチ及びスケジューリング方法 | |
CN104247341B (zh) | 分布式交换机及其多播树层次结构的动态优化方法 | |
EP0606322A1 (en) | BROADBAND MTA SWITCH HAVING INPUT BUFFER. | |
CN100420241C (zh) | 实现信息交换的系统及方法和调度算法 | |
CN106899503B (zh) | 一种数据中心网络的路由选择方法及网络管理器 | |
CN101404616A (zh) | 一种负载均衡分组交换结构及其构造方法 | |
CN107451091A (zh) | 基于fpga‑cpu混合架构的高速信息交互系统 | |
CA2333191A1 (en) | Logical multicasting method and apparatus | |
US7675930B2 (en) | Chip circuit for combined and data compressed FIFO arbitration for a non-blocking switch | |
US7468974B1 (en) | Efficient strictly non-blocking multicast switch architecture for time division multiplexed traffic | |
CN103827836B (zh) | 存储数据的方法和装置 | |
US7158512B1 (en) | System and method for scheduling a cross-bar |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190115 |
|
RJ01 | Rejection of invention patent application after publication |