CN104486237B - clos网络中无乱序分组路由及调度方法 - Google Patents
clos网络中无乱序分组路由及调度方法 Download PDFInfo
- Publication number
- CN104486237B CN104486237B CN201410795450.4A CN201410795450A CN104486237B CN 104486237 B CN104486237 B CN 104486237B CN 201410795450 A CN201410795450 A CN 201410795450A CN 104486237 B CN104486237 B CN 104486237B
- Authority
- CN
- China
- Prior art keywords
- crossbar
- packet
- voq
- order
- input
- 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.)
- Active
Links
Abstract
本发明公开了一种Clos网络中无乱序分组路由及调度方法,主要解决现有技术中分组不能高速交换,交换有乱序的问题。其技术方案是:1.第一级虚拟输出队列组向第一级输出端口发送请求,输出端口选择权值最大的请求认可;2.第一级虚拟输出队列组选择一个输出端口匹配;3.第一级虚拟输出队列组选择一个输入端口中的一个虚拟输出队列与输出端口匹配;4.第一级匹配的输出端口向中间级发送请求;5.中间级回应后第一级发送分组经过中间级到达第三级输入缓存;6.第三级输入缓存发送分组至交叉结点缓存器;7.从交叉结点缓存器中取出分组输出。本发明可确保分组高速交换且交换无乱序,并能达到高吞吐率,可用于高速大容量交换机与路由器。
Description
技术领域
本发明属于通信技术领域,更进一步涉及一种clos网络中无乱序分组路由及调度方法,适用于高速、大容量交换机与路由器。
背景技术
Clos网络是目前大容量路由器及交换机广泛采用的网络结构。随着路由器工作速率的提高,以往使用的共享缓存交换方式和输出缓存交换方式不再适合于高速应用环境,大容量的分组交换需要采用输入缓存的Clos网络。输入缓存的Clos网络中,缓存器放置在Crossbar的输入端口。输入缓存的Clos网络需要解决两个问题,第一是如何提高交换的吞吐率,第二是如何防止交换过程中分组乱序。输入缓存的交换方式,如果采用分布式调度算法,在交换的加速比为1的情况下,难以对所有业务模式都确保100%吞吐率,而如果使用集中式调度算法,又无法高速实现。由于Clos网络是一个多路径的交换网络,在Clos网络中,除了Crossbar内部使用的调度算法外,Clos网络的路由算法对于交换吞吐率的影响也至关重要。
Yue Zhang等人在其文章“Scheduling in Fully Buffered MultistageSwitching Fabric based on Round-Robin”(IITA International Conference onControl,Automation and Systems Engineering,pp.403-406,2009)公开了一种基于轮询的全缓存多级交换调度方法,该方法使用全缓存的三级clos网络交换结构,使用分布式轮询调度算法,将分组分别从第一级缓存发送到第二级缓存再发送到第三级缓存。该方法存在的不足是,由于每一级都有缓存,分组在发送过程中不可避免地会有乱序。
Ya Gao,Zhiliang Qiu等人在其文章“Distributed Weight MatchingDispatching Scheme in MSM Clos-Network Packet Switches”(IEEE COMMUNICATIONSLETTERS,vol.17,NO.3,March,2013,pp.580-583)公开了一种MSM型clos网络中分布式权重匹配调度方法。该方法平衡输入级到中间级的请求标记,每个中间级同时且独立地执行长队列优先调度的算法。该方法存在的不足是,由于在第三级使用输出缓存,分组从第三级输入口交换到第三级输出缓存时需要高的加速比,因此该方法不适合高速实现。
发明内容
本发明的目的在于针对上述技术的不足,提出一种clos网络中无乱序分组路由及调度方法,以避免在交换过程中产生分组乱序,提高吞吐率,实现分组的高速交换。
本发明的技术方案是这样实现的:
一种Clos网络,包括三级交换单元,第一级交换单元采用带输入缓存的Crossbar结构,中间级交换单元采用无缓存的Crossbar结构,第三级交换单元采用带输入缓存的交叉节点带缓存的Crossbar结构。
一种clos网络中无乱序分组路由及调度方法,包括如下步骤:
(1)第一级Crossbar匹配调度:
1a)第一级Crossbar输入缓存中每个虚拟输出队列组VOSQ计算其请求的权值,并向该Crossbar所有未匹配的输出端口发送请求;
1b)第一级Crossbar每个未匹配的输出端口在收到的多个虚拟输出队列组VOSQ的请求中选择权值最大的请求进行认可;
1c)对于虚拟输出队列组VOSQ收到的第一级Crossbar多个输出端口发出的认可,选择权值最大的输出端口p确认,此时该虚拟输出队列组VOSQ与其确认的第一级Crossbar输出端口p形成匹配;
1d)匹配的虚拟输出队列组VOSQ从非空的、且没有与输出端口形成匹配的输入端口中,选择一个距离该虚拟输出队列组的输入端口轮询指针最近的输入端口与输出端口p形成匹配,并更新该虚拟输出队列组的输入端口轮询指针;
1e)在匹配的输入端口中,按照轮询的次序选取一个虚拟输出队列VOQ与输出端口p匹配;
1f)重复执行步骤1a)—1e),直到设定的迭代次数为止,再执行步骤(2);
(2)中间级Crossbar调度:
2a)第一级Crossbar中与输入端口虚拟输出队列VOQ匹配的输出端口向中间级Crossbar发送请求,请求的权值为虚拟输出队列VOQ的队长;
2b)中间级Crossbar在收到的众多请求中选择权值最大的进行认可;
2c)第一级Crossbar输出端口在收到中间级Crossbar认可后,将与该输出端口匹配的输入端口虚拟输出队列VOQ中的待输出分组发送至第三级Crossbar输入缓存,若没有收到认可,则分组继续在第一级Crossbar输入端口虚拟输出队列VOQ中等待;
(3)第三级Crossbar的输入调度:
3a)查看第三级Crossbar的输入端口虚拟输出队列VOQ对应的所有交叉节点缓存,若有交叉节点缓存为空,选取为空的交叉节点缓存对应的虚拟输出队列VOQ队头分组中等待时间最长的分组;若所有的交叉节点缓存都非空,选取虚拟输出队列VOQ队头分组中等待时间最长的分组;
3b)选好分组后将该分组转发到该分组对应的交叉节点缓存中,同时把该分组所在的虚拟输出队列VOQ中该分组之后的分组到达第三级Crossbar输入端口的时间一并发送到该分组对应的时间寄存器SR;
(4)第三级Crossbar的输出调度:
4a)第三级Crossbar输出端口判断其对应的所有交叉节点缓存是否有为空的,如果都不为空,执行步骤4a1),否则执行步骤4a2);
4a1)比较交叉节点缓存中各个队头分组的等待时间,将等待时间最长的分组作为待输出分组,执行步骤4b);
4a2)找到非空交叉节点缓存中分组的等待时间的最大值T1,找到为空交叉节点缓存的时间寄存器SR计算出的等待时间的最大值T2,比较T1与T2,如果T2更大,则该输出端口没有待输出分组;如果T1更大,则将T1对应的分组作为待输出分组;执行步骤4b);
4b)输出待输出分组:
对于只有一个的待输出分组,则将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出;
对于有多个的待输出分组,则按照轮询的次序选取其中一个分组,将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出。
本发明与现有技术相比具有以下优点:
第一,本发明的Clos网络,由于采用第一级交换单元采用带输入缓存的Crossbar结构,中间级交换单元采用无缓存的Crossbar结构,第三级交换单元采用带输入缓存的交叉节点带缓存的Crossbar结构,解决了现有技术中存在的分组乱序和不能高速交换的问题,可以确保分组交换时无乱序,并且实现分组的高速交换。
第二,本发明的调度方法,第一级Crossbar输入缓存向第一级Crossbar输出端口发送请求,第一级Crossbar输出端口向中间级Crossbar发送请求时,请求都具有权值,从而使得中间级负载均衡,分组能够根据业务量动态地调整路由,解决了现有技术中Clos网络负载不均衡时系统吞吐率不能达到很高的问题,确保了系统具有高吞吐率。
附图说明
图1为本发明clos网络的第三级Crossbar结构图;
图2为本发明的实现流程图;
图3为本发明和CRRD算法使用非均衡业务源A产生分组时的系统吞吐率比较图;
图4为本发明和CRRD算法使用贝努利Bernoulli源产生分组时的分组平均时延比较图;
图5为本发明和CRRD算法使用贝努利Bernoulli源产生分组时的系统吞吐率比较图;
图6为本发明和CRRD算法使用突发Burst源产生分组时的分组平均时延比较图;
图7为本发明和CRRD算法使用突发Burst源产生分组时的系统吞吐率比较图;
图8为本发明和CRRD算法使用非均衡业务源B产生分组时的分组平均时延比较图;
图9为本发明和CRRD算法使用非均衡业务源B产生分组时的系统吞吐率比较图。
具体实施方式:
下面结合附图对本发明的内容及效果做进一步的详细描述。
本发明的Clos网络,包括三级交换单元,第一级交换单元采用带输入缓存的Crossbar结构,中间级交换单元采用无缓存的Crossbar结构,第三级交换单元采用带输入缓存的交叉节点带缓存的Crossbar结构。其中:
第一级交换单元所采用的带输入缓存的Crossbar结构,是由输入端口,交叉开关,输出端口以及在Crossbar的输入端口处放置的输入缓存器组成,该输入缓存器分为多个虚拟输出队列VOQ,每个虚拟输出队列VOQ中存储的是去往第三级同一个Crossbar的同一个输出端口的分组。虚拟输出队列组VOSQ是由去往第三级同一个Crossbar的所有输出端口的分组所在的多个虚拟输出队列VOQ组成。在第一级Crossbar中调度分组输出时,以虚拟输出队列组VOSQ作为调度分组的基本单位。
第三级交换单元所采用的带输入缓存的交叉节点带缓存的Crossbar结构,如图1所示,其由输入端口、交叉开关、输出端口、输入缓存器、交叉结点缓存器组成;输入缓存器放置在Crossbar的输入端口处,该输入缓存器分为多个虚拟输出队列,每个虚拟输出队列中存储的是去往第三级同一个Crossbar的同一个输出端口的分组;交叉结点缓存器放置在第三级Crossbar的输入端口和输出端口的交叉结点处,该交叉结点缓存器包括存放分组的缓存器和时间寄存器SR。第三级Crossbar输入端口i与第三级Crossbar输出端口j相连的交叉节点的缓存器中,存储的是第三级Crossbar输入端口i发来的将在第三级Crossbar输出端口j输出的分组。时间寄存器SR存储的是没有进入交叉节点缓存器的虚拟输出队列的队头分组到达第三级Crossbar输入端口的时间。
参照图2,本发明在clos网络中进行无乱序分组路由及调度的,其具体实现步骤如下:
步骤1,第一级Crossbar匹配调度:
1a)第一级Crossbar输入缓存中每个虚拟输出队列组VOSQ计算其请求的权值:
1a1)设置优先级
为了避免分组在中间级Crossbar输出端口输出时产生冲突,以及第三级Crossbar的负载不均衡,为第一级Crossbar的分组在不同中间级Crossbar转发时设置优先级使用双向移位的优先级设置方式:
设表示VOSQi,k在第一级Crossbar第j个输出端口在时隙t时的优先级,其中VOSQi,k表示第一级第i个Crossbar中去往第三级第k个Crossbar的虚拟输出队列组;令l=tmodN,m=(i+j+k-l)modN,N为第一级Crossbar输出端口的数目,则当t为偶数时,当t为奇数时,
以包括六个第一级Crossbar,六个中间级Crossbar,六个第三级Crossbar的clos网络为例分析,设置如表1所示:
IM1经CM1-CM6去往OM1的优先级 | IM2经CM1-CM6去往OM1的优先级 | |
时隙0 | 1,2,3,4,5,6 | 2,3,4,5,6,1 |
时隙1 | 4,3,2,1,6,5 | 3,2,1,6,5,4 |
时隙2 | 5,6,1,2,3,4 | 6,1,2,3,4,5 |
时隙3 | 6,5,4,3,2,1 | 5,4,3,2,1,6 |
时隙4 | 3,4,5,6,1,2 | 4,5,6,1,2,3 |
时隙5 | 2,1,6,5,4,3 | 1,6,5,4,3,2 |
表1
其中,IM1表示第一级第1个Crossbar;IM2表示第一级第2个Crossbar;CMi表示中间级第i个Crossbar,i=1,2,3,4,5,6;OM1表示第三级第1个Crossbar;表中数字1,2,3,4,5,6代表第一级IM1、IM2经过六个中间级CMi去往第三级OM1的优先级,数字越大,代表优先级越高;
从单个时隙看,中间级的分配是不公平的,比如由表1第一行看到,IM1经各个中间级CMi去往OM1的分组,除了在中间级CM6,在其余中间级的优先级都比IM2的分组的优先级低;但是在下个时隙,IM1经各个中间级去往OM1的分组,除了在中间级CM4,在其余中间级的优先级都比IM2的分组的优先级高,所以这种不公平只是一个时隙的暂时现象,从长远的统计平均来看,表1所示的编码方法是非常公平的;
1a2)设置队长参数Li,k:
当Clos网络的业务分布很均衡时,例如高度均匀业务,所述1a1)中在权值公式中加入参数表现出很好的性能;但是在业务量分布不均衡时,每种业务需要使用的路径数量将不再一致,一些业务量大的业务需要使用的路径数量多,业务量小的业务使用的路径数量少,这就需要根据业务量的大小,为业务安排合适的路径数量;
为此,需要在权值公式中加入队长参数Li,k,Li,k表示VOSQi,k的队长。通常在第一级Crossbar中,业务量大的业务队长会更长,在权值公式中加入队长参数Li,k后,业务量大的业务权值变大,在与业务量小的业务竞争同一个中间级Crossbar时胜出,从而使用更多的中间级Crossbar来转发分组;
1a3)设置冲突比例因子
由于加入了队长参数Li,k,去往第三级第j个Crossbar的业务量大的业务1除了使用最高优先级的中间级外,还使用了非最高优先级的中间级k,而若去往第三级第j个Crossbar的业务2,其最高优先级的中间级刚好为中间级k,则业务1和业务2在中间级k会产生输出冲突。由于本发明为了保证高速可实现性,在分组从第一级Crossbar到中间级Crossbar调度时只进行一次迭代,分组如果在中间级Crossbar遇到输出冲突,将无法调整传送路由,可能会导致该分组本次调度无法输出;
为此,在权值公式中需要增加路径的冲突比例因子表示VOSQi,k中已经发送的分组,在优先级等于的中间级Crossbar参与调度时,在中间级Crossbar输出端口遇到输出冲突的比例;通过的引入,将降低冲突比例大的路径的优先级,业务将自适应地寻找一些冲突比例小的中间级Crossbar进行分组转发;
1a4)综合1a1)—1a3)所述,得到本发明的虚拟输出队列组VOSQ计算其请求的权值公式为:
其中,k1为的系数,k2为Li,k的系数,k3为的系数;
1b)第一级Crossbar输入缓存中每个虚拟输出队列组VOSQ向该Crossbar所有未匹配的输出端口发送请求;
1c)第一级Crossbar输出端口在收到的多个虚拟输出队列组VOSQ的请求中选择权值最大的请求进行认可;
1d)对于虚拟输出队列组VOSQ收到的多个第一级Crossbar输出端口发出的认可,选择权值最大的输出端口p确认,此时该虚拟输出队列组VOSQ与其确认的第一级Crossbar输出端口p形成匹配;
1e)匹配的虚拟输出队列组VOSQ从非空的、且没有与输出端口形成匹配的输入端口中,选择一个距离该虚拟输出队列组的输入端口轮询指针最近的输入端口与输出端口p形成匹配,并更新该虚拟输出队列组的输入端口轮询指针,即设输入端口m与输出端口p形成匹配,则把虚拟输出队列组的输入端口轮询指针更新至m+1;
1f)在匹配的输入端口中,按照轮询的次序选取一个虚拟输出队列VOQ与输出端口p匹配:
在每个输入端口的虚拟输出队列组VOSQ中,都有一个虚拟输出队列VOQ指针,选取当前该指针指向的虚拟输出队列VOQ与输出端口p匹配,然后虚拟输出队列VOQ指针指向下一个虚拟输出队列VOQ。
1g)重复执行步骤1a)—1f),直到设定的迭代次数为止,完成第一级Crossbar匹配调度。
步骤2,中间级Crossbar调度。
第一级Crossbar匹配调度完成后,则要进行中间级Crossbar调度,其步骤如下:
2a)由第一级Crossbar中与输入端口虚拟输出队列VOQ匹配的输出端口,向中间级Crossbar发送请求,请求的权值为虚拟输出队列VOQ的队长;
2b)中间级Crossbar在收到的众多请求中选择权值最大的进行认可;
2c)第一级Crossbar输出端口在收到中间级Crossbar认可后,将与该输出端口匹配的虚拟输出队列VOQ中的待输出分组,经由中间级Crossbar转发至第三级Crossbar输入缓存,执行步骤3,;若没有收到认可,则分组继续在第一级Crossbar的虚拟输出队列VOQ中等待。
步骤3,第三级Crossbar的输入调度。
3a)查看第三级Crossbar的输入端口虚拟输出队列VOQ对应的所有交叉节点缓存,若有交叉节点缓存为空,选取为空的交叉节点缓存对应的虚拟输出队列VOQ队头分组中等待时间最长的分组;若所有的交叉节点缓存都非空,选取虚拟输出队列VOQ队头分组中等待时间最长的分组;
3b)选好分组后将该分组转发到该分组对应的交叉节点缓存中,同时把该分组所在的虚拟输出队列VOQ中该分组之后的分组到达第三级Crossbar输入端口的时间一并发送到该分组对应的时间寄存器SR;
转发分组之前如果该分组所在的虚拟输出队列VOQ中只有一个分组,发送该分组之后虚拟输出队列VOQ为空,则将虚拟输出队列VOQ对应的时间寄存器SR中的值置为-1,表示下个时隙该虚拟输出队列VOQ为空。
当有分组到达为空的虚拟输出队列VOQ时,该虚拟输出队列VOQ由空变为非空,则优先选择该分组,将该分组转发到该分组对应的交叉节点缓存中,同时把该虚拟输出队列VOQ对应的时间寄存器SR中的值置为-1;如果此时该分组对应的交叉节点缓存已满,则不能再向交叉节点缓存中转发该分组,仅将刚刚成为非空的虚拟输出队列VOQ对应的时间寄存器SR中的值更新为分组到达时间。
步骤4,第三级Crossbar的输出调度。
4a)第三级Crossbar输出端口判断其对应的所有交叉节点缓存是否有为空的,如果都不为空,则执行步骤4a1),否则,执行步骤4a2);
4a1)比较交叉节点缓存中各个队头分组的等待时间,将等待时间最长的分组作为待输出分组,执行步骤4b);
4a2)找到非空交叉节点缓存中分组的等待时间的最大值T1,找到为空交叉节点缓存的时间寄存器SR计算出的等待时间的最大值T2,比较T1与T2,如果T2更大,则该输出端口没有待输出分组;如果T1更大,则将T1对应的分组作为待输出分组;执行步骤4b);
4b)输出待输出分组:
对于只有一个的待输出分组,则将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出;
对于有多个的待输出分组,则按照轮询的次序选取其中一个分组,将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出。
第三级Crossbar的调度策略保证了等待时间最长的分组会优先到达目的端口,从而防止了乱序,其原因如下:
第一,如果第三级Crossbar某一个输出端口对应的所有交叉节点缓存都非空,由于交叉节点缓存中的分组都是对应的第三级Crossbar的输入端口中去往该输出端口的分组中等待时间最长的,所以输出端口选择的分组也是整个crossbar中去往该输出端口中等待时间最长的分组,不会造成乱序;
第二,如果第三级Crossbar某一个输出端口对应的交叉节点缓存部分为空,而且这些交叉节点缓存对应的虚拟输出队列VOQ也为空,输出端口选择等待时间最长的分组输出,也不会造成乱序;
第三,如果某一输出端口对应的一些交叉节点缓存为空,而且该交叉节点缓存对应的虚拟输出队列VOQ非空,输出端口选择等待时间最长的分组,将该分组等待的时间T1和由为空交叉节点对应的时间寄存器SR得出的VOQ队头分组最长等待时间T2进行比较,如果T2更大,说明此时该输出端口如果输出分组可能会造成乱序,所以不输出分组,如果T1更大,则输出分组,这样的调度方法也不会造成乱序。
由以上可知,第三级Crossbar的调度策略有效防止了乱序,而第一级和中间级的调度策略都是按照分组到达的先后次序调度的,也不会产生乱序,所以本发明调度方法不会产生乱序。
下面结合仿真图对本发明效果做进一步的描述。
1.仿真条件:
在OPNET仿真环境下,设置交换网络链路传输速率100Mbit/s,仿真时隙为6万个时隙,分组长度为128Byte,第一级和第三级的输入缓存大小为无穷大。
仿真中使用到的业务源:
1)非均衡业务源A:从第一级输入端口s到第三级输出端口d的业务流的计算公式为:
其中,ω表示非均衡率;ρ表示有效负载,仿真中取ρ=1.0;N是总的输入输出端口数。
2)非均衡业务源B:
有效负载中第一级第i个Crossbar去往第三级第i个Crossbar、第i+1个Crossbar和第i+2个Crossbar的业务各占30%,去往第三级其他Crossbar的业务占10%。
3)贝努利Bernoulli源:
高度均匀贝努利Bernoulli源是指分组由贝努利Bernoulli源产生,其分组的目的端口在交换网络的所有输出端口均匀分布;低度均匀贝努利Bernoulli源是指分组由贝努利Bernoulli源产生,其分组的目的端口主要集中在交换网络部分输出端口。
4)突发Burst源:
高度突发Burst源是指分组由ON-OFF源产生,其分组的目的端口在交换网络的所有输出端口均匀分布;低度突发Burst源是指分组由ON-OFF源产生,其分组的目的端口主要集中在交换网络部分输出端口,本仿真中取ON-OFF业务源平均突发长度为10。
2.仿真内容及结果:
仿真1,使用非均衡业务源A产生分组时,分别使用本发明和CRRD算法得到系统吞吐率,其结果如图3所示。
在图3中,横坐标代表非均衡率,纵坐标代表吞吐率,方块标注的曲线代表使用本发明的系统吞吐率随非均衡率变化的情况,三角形标注的曲线代表使用CRRD算法的系统吞吐率随非均衡率变化的情况。
从图3可见,本发明的系统吞吐率具有很好的性能,随着非均衡率从0到1的变化,其吞吐率变化波动不大,都能达到95%以上;而使用CRRD算法的系统吞吐率性能不好,在非均衡率为0.5左右时,其吞吐率性能最差,只能达到65%左右。
仿真2,分别使用高度均匀贝努利Bernoulli源和低度均匀贝努利Bernoulli源产生分组时,使用本发明和CRRD算法得到分组平均时延,其结果如图4所示。
在图4中,横坐标代表有效负载,纵坐标代表平均分组时延,单位为时隙,方块标注的曲线代表使用高度均匀贝努利Bernoulli源产生分组时,本发明的平均分组时延随有效负载变化的情况;圆圈标注的曲线代表在使用低度均匀贝努利Bernoulli源产生分组时,本发明的平均分组时延随有效负载变化的情况;斜方块标注的曲线代表在使用高度均匀贝努利Bernoulli源产生分组时,CRRD算法的平均分组时延随有效负载变化的情况;三角形标注的曲线代表在使用低度均匀贝努利Bernoulli源产生分组时,CRRD算法的平均分组时延随有效负载变化的情况。
从图4可见,本发明的平均分组时延性能比CRRD算法好,尤其是在使用高度均匀贝努利Bernoulli源时,当有效负载为0.95时,使用本发明的平均分组时延都在100个时隙以内,即使有效输入负载为1时,其平均分组时延都在600个时隙以内。
仿真3,分别使用高度均匀贝努利Bernoulli源和低度均匀贝努利Bernoulli源产生分组时,使用本发明和CRRD算法得到系统吞吐率,其结果如图5所示。
在图5中,横坐标代表有效负载,纵坐标代表吞吐率,方块标注的曲线代表在使用高度均匀贝努利Bernoulli源产生分组时,本发明的系统吞吐率随有效负载变化的情况;圆圈标注的曲线代表在使用低度均匀贝努利Bernoulli源产生分组时,本发明的系统吞吐率随有效负载变化的情况;斜方块标注的曲线代表在使用高度均匀贝努利Bernoulli源产生分组时,CRRD算法的系统吞吐率随有效负载变化的情况,三角形标注的曲线代表在使用低度均匀贝努利Bernoulli源产生分组时,CRRD算法的吞吐率随有效负载变化的情况。
从图5可见,本发明的系统吞吐率性能很好,尤其是在使用低度均匀贝努利Bernoulli源时,当有效输入负载为1时,本发明的系统吞吐率仍能达到95%以上,而CRRD算法只能达到91%。
仿真4,使用高度突发Burst源和低度突发Burst源产生分组时,分别使用本发明和CRRD算法得到分组平均时延,其结果如图6所示。
在图6中,横坐标代表有效负载,纵坐标代表平均分组时延,单位为时隙,方块标注的曲线代表在使用高度突发Burst源产生分组时,本发明的平均分组时延随有效负载变化的情况;圆圈标注的曲线代表在使用低度突发Burst源产生分组时,本发明的平均分组时延随有效负载变化的情况;斜方块标注的曲线代表在使用高度突发Burst源产生分组时,CRRD算法的平均分组时延随有效负载变化的情况;三角形标注的曲线代表在使用低度突发Burst源产生分组时,CRRD算法的平均分组时延随有效负载变化的情况。
从图6可见,本发明的平均分组时延性能比CRRD算法好,尤其是在使用高度突发Burst源时,当有效输入负载为1时,本发明的平均分组时延都在200个时隙以内,而CRRD算法性能已明显恶化。
仿真5,使用高度突发Burst源和低度突发Burst源产生分组时,分别使用本发明和CRRD算法得到系统吞吐率,其结果如图7所示。
在图7中,横坐标代表有效负载,纵坐标代表吞吐率,方块标注的曲线代表在使用高度突发Burst源产生分组时,本发明的系统吞吐率随有效负载变化的情况;圆圈标注的曲线代表在使用低度突发Burst源产生分组时,本发明的系统吞吐率随有效负载变化的情况;斜方块标注的曲线代表在使用高度突发Burst源产生分组时,CRRD算法的系统吞吐率随有效负载变化的情况;三角形标注的曲线代表在使用低度突发Burst源产生分组时,CRRD算法的系统吞吐率随有效负载变化的情况。
从图7可见,本发明的吞吐率性能比CRRD算法好,在高度突发Burst源下,当有效输入负载为1时,本发明的吞吐率能达到100%,CRRD算法只能达到98%;在低度突发Burst源下,当有效输入负载为1时,本发明的吞吐率仍能达到95%以上,而CRRD算法只能达到92%。
仿真6,使用非均衡业务源B产生分组时,分别使用本发明和CRRD算法得到分组平均时延,其结果如图8所示。
在图8中,横坐标代表有效负载,纵坐标代表平均分组时延,单位为时隙,方块标注的曲线代表本发明的平均分组时延随有效负载变化的情况,三角形标注的曲线代表CRRD算法的平均分组时延随有效负载变化的情况。
从图8可见,本发明平均分组时延性能比CRRD算法好,当有效输入负载超过0.7时,CRRD算法性能已明显恶化,而本发明的平均分组时延还很小。
仿真7,使用非均衡业务源B产生分组时,分别使用本发明和CRRD算法得到系统吞吐率,其结果如图9所示。
在图9中,横坐标代表有效负载,纵坐标代表吞吐率,方块标注的曲线代表本发明的系统吞吐率随有效负载变化的情况,三角形标注的曲线代表CRRD算法的系统吞吐率随有效负载变化的情况。
从图9可见,本发明的吞吐率表现出很好的性能,随着负载率从0到1的变化,本发明的吞吐率变化波动不大,都能达到95%以上;而CRRD算法的吞吐率表现出很不好的性能,从负载率为0.7时起,其吞吐率呈下降趋势,当负载为1时,其吞吐率仅能达到70%,本发明的系统吞吐率比CRRD算法的系统吞吐率好。
Claims (5)
1.一种Clos网络,包括三级交换单元,其特征在于,第一级交换单元采用带输入缓存的Crossbar结构,中间级交换单元采用无缓存的Crossbar结构,第三级交换单元采用带输入缓存的交叉节点带缓存的Crossbar结构;
该第三级交换单元所采用的带输入缓存的交叉节点带缓存的Crossbar结构,是由输入端口、交叉开关、输出端口、输入缓存器、交叉结点缓存器组成;输入缓存器放置在Crossbar的输入端口处,该输入缓存器分为多个虚拟输出队列,每个虚拟输出队列中存储的是去往第三级同一个Crossbar的同一个输出端口的分组;交叉结点缓存器放置在第三级Crossbar的输入端口和输出端口的交叉结点处,该交叉结点缓存器包括存放分组的缓存器和时间寄存器SR,时间寄存器SR存储的是没有进入交叉节点缓存器的虚拟输出队列的队头分组到达第三级Crossbar输入端口的时间。
2.根据权利要求1所述的Clos网络,其特征在于,第一级交换单元所采用的带输入缓存的Crossbar结构,是由输入端口,交叉开关,输出端口以及在Crossbar的输入端口处放置的输入缓存器组成,该输入缓存器分为多个虚拟输出队列,每个虚拟输出队列中存储的是去往第三级同一个Crossbar的同一个输出端口的分组。
3.一种Clos网络中无乱序分组路由及调度方法,其特征在于,包括如下步骤:
(1)第一级Crossbar匹配调度:
1a)第一级Crossbar输入缓存中每个虚拟输出队列组VOSQ计算其请求的权值,并向该Crossbar所有未匹配的输出端口发送请求;
1b)第一级Crossbar每个未匹配的输出端口在收到的多个虚拟输出队列组VOSQ的请求中选择权值最大的请求进行认可;
1c)对于虚拟输出队列组VOSQ收到的第一级Crossbar多个输出端口发出的认可,选择权值最大的输出端口p确认,此时该虚拟输出队列组VOSQ与其确认的第一级Crossbar输出端口p形成匹配;
1d)匹配的虚拟输出队列组VOSQ从非空的、且没有与输出端口形成匹配的输入端口中,选择一个距离该虚拟输出队列组的输入端口轮询指针最近的输入端口与输出端口p形成匹配,并更新该虚拟输出队列组的输入端口轮询指针;
1e)在匹配的输入端口中,按照轮询的次序选取一个虚拟输出队列VOQ与输出端口p匹配;
1f)重复执行步骤1a)—1e),直到设定的迭代次数为止,再执行步骤(2);
(2)中间级Crossbar调度:
2a)第一级Crossbar中与输入端口虚拟输出队列VOQ匹配的输出端口向中间级Crossbar发送请求,请求的权值为虚拟输出队列VOQ的队长;
2b)中间级Crossbar在收到的众多请求中选择权值最大的进行认可;
2c)第一级Crossbar输出端口在收到中间级Crossbar认可后,将与该输出端口匹配的输入端口虚拟输出队列VOQ中的待输出分组发送至第三级Crossbar输入缓存,若没有收到认可,则分组继续在第一级Crossbar输入端口虚拟输出队列VOQ中等待;
(3)第三级Crossbar的输入调度:
3a)查看第三级Crossbar的输入端口虚拟输出队列VOQ对应的所有交叉节点缓存,若有交叉节点缓存为空,选取为空的交叉节点缓存对应的虚拟输出队列VOQ队头分组中等待时间最长的分组;若所有的交叉节点缓存都非空但还有存储空间,选取虚拟输出队列VOQ队头分组中等待时间最长的分组;
3b)选好分组后将该分组转发到该分组对应的交叉节点缓存中,同时把该分组所在的虚拟输出队列VOQ中该分组之后的分组到达第三级Crossbar输入端口的时间一并发送到该分组对应的时间寄存器SR;
(4)第三级Crossbar的输出调度:
4a)第三级Crossbar输出端口判断其对应的所有交叉节点缓存是否有为空的,如果都不为空,执行步骤4a1),否则执行步骤4a2);
4a1)比较交叉节点缓存中各个队头分组的等待时间,将等待时间最长的分组作为待输出分组,执行步骤4b);
4a2)找到非空交叉节点缓存中分组的等待时间的最大值T1,找到为空交叉节点缓存的时间寄存器SR计算出的等待时间的最大值T2,比较T1与T2,如果T2更大,则该输出端口没有待输出分组;如果T1更大,则将T1对应的分组作为待输出分组;执行步骤4b);
4b)输出待输出分组:
对于只有一个的待输出分组,则将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出;
对于有多个的待输出分组,则按照轮询的次序选取其中一个分组,将该分组从交叉节点缓存中取出,在该分组对应的输出端口输出。
4.根据权利要求3所述的Clos网络中无乱序分组路由及调度方法,其特征在于,所述步骤1a)中的虚拟输出队列组VOSQ,是由去往第三级同一个Crossbar的所有输出端口的分组所在的多个虚拟输出队列VOQ组成。
5.根据权利要求3所述的Clos网络中无乱序分组路由及调度方法,其特征在于,所述步骤1a)中的虚拟输出队列组VOSQ计算其请求的权值,按如下公式计算:
<mrow>
<msubsup>
<mi>w</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mi>j</mi>
</msubsup>
<mo>=</mo>
<msub>
<mi>k</mi>
<mn>1</mn>
</msub>
<msubsup>
<mi>P</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mi>j</mi>
</msubsup>
<mo>+</mo>
<msub>
<mi>k</mi>
<mn>2</mn>
</msub>
<msub>
<mi>L</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>k</mi>
<mn>3</mn>
</msub>
<msubsup>
<mi>R</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>k</mi>
</mrow>
<mi>j</mi>
</msubsup>
</mrow>
其中,表示第一级第i个Crossbar中去往第三级第k个Crossbar的虚拟输出队列组VOSQi,k向第一级第i个Crossbar的第j个输出端口发送请求的权值;为VOSQi,k中的分组在第一级第i个Crossbar的第j个输出端口的优先级,也表示VOSQi,k中的分组在中间级第j个Crossbar的优先级,k1为的系数;Li,k为VOSQi,k的队长,k2为Li,k的系数;为VOSQi,k中已经发送的分组,在优先级等于的中间级Crossbar参与调度时,在中间级Crossbar输出端口遇到输出冲突的比例,k3为的系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410795450.4A CN104486237B (zh) | 2014-12-18 | 2014-12-18 | clos网络中无乱序分组路由及调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410795450.4A CN104486237B (zh) | 2014-12-18 | 2014-12-18 | clos网络中无乱序分组路由及调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104486237A CN104486237A (zh) | 2015-04-01 |
CN104486237B true CN104486237B (zh) | 2017-10-27 |
Family
ID=52760742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410795450.4A Active CN104486237B (zh) | 2014-12-18 | 2014-12-18 | clos网络中无乱序分组路由及调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486237B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105337883B (zh) * | 2015-08-20 | 2018-12-18 | 电子科技大学 | 一种支持多业务的网络交换装置及其实现方法 |
CN109450823B (zh) * | 2018-11-13 | 2021-06-08 | 中国电子科技集团公司第五十四研究所 | 一种基于聚合式交叉节点的网络大容量交换装置 |
CN111930677A (zh) * | 2020-08-14 | 2020-11-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置及电子设备和存储介质 |
CN114697275B (zh) * | 2020-12-30 | 2023-05-12 | 深圳云天励飞技术股份有限公司 | 数据处理方法和装置 |
CN113676422B (zh) * | 2021-10-25 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种节点匹配方法及装置 |
CN115454889B (zh) * | 2022-11-09 | 2023-01-06 | 中科声龙科技发展(北京)有限公司 | 存储访问调度方法、系统及芯片 |
CN116980366A (zh) * | 2023-09-25 | 2023-10-31 | 苏州元脑智能科技有限公司 | 多级交换网络及输入输出端口匹配方法 |
CN117176648B (zh) * | 2023-10-25 | 2024-02-02 | 苏州元脑智能科技有限公司 | 一种分布式路由的实现方法、系统、设备及介质 |
CN117135107B (zh) * | 2023-10-25 | 2024-02-13 | 苏州元脑智能科技有限公司 | 一种网络通信拓扑系统、路由方法、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4931802A (en) * | 1988-03-11 | 1990-06-05 | Communications Satellite Corporation | Multiple spot-beam systems for satellite communications |
CN1558624A (zh) * | 2004-01-16 | 2004-12-29 | 西安电子科技大学 | 基于环的大容量可扩展分组交换网络结构 |
CN1848803A (zh) * | 2005-07-27 | 2006-10-18 | 华为技术有限公司 | 一种基于三级交换网的下行队列快速反压传送装置及方法 |
CN1954637A (zh) * | 2004-03-11 | 2007-04-25 | 英特拉克蒂克控股公司 | 用于计算和数据存储管理的可升级网络 |
CN101631070A (zh) * | 2008-07-16 | 2010-01-20 | 中国人民解放军信息工程大学 | 三级交换系统及其调度方法 |
US8364852B1 (en) * | 2010-12-22 | 2013-01-29 | Juniper Networks, Inc. | Methods and apparatus to generate and update fibre channel firewall filter rules using address prefixes |
CN103297356A (zh) * | 2013-06-20 | 2013-09-11 | 电子科技大学 | 一种优化数据中心交换网络成本的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7113505B2 (en) * | 2001-12-17 | 2006-09-26 | Agere Systems Inc. | Mesh architecture for synchronous cross-connects |
US8265071B2 (en) * | 2008-09-11 | 2012-09-11 | Juniper Networks, Inc. | Methods and apparatus related to a flexible data center security architecture |
US8995456B2 (en) * | 2009-04-08 | 2015-03-31 | Empire Technology Development Llc | Space-space-memory (SSM) Clos-network packet switch |
-
2014
- 2014-12-18 CN CN201410795450.4A patent/CN104486237B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4931802A (en) * | 1988-03-11 | 1990-06-05 | Communications Satellite Corporation | Multiple spot-beam systems for satellite communications |
CN1558624A (zh) * | 2004-01-16 | 2004-12-29 | 西安电子科技大学 | 基于环的大容量可扩展分组交换网络结构 |
CN1954637A (zh) * | 2004-03-11 | 2007-04-25 | 英特拉克蒂克控股公司 | 用于计算和数据存储管理的可升级网络 |
CN1848803A (zh) * | 2005-07-27 | 2006-10-18 | 华为技术有限公司 | 一种基于三级交换网的下行队列快速反压传送装置及方法 |
CN101631070A (zh) * | 2008-07-16 | 2010-01-20 | 中国人民解放军信息工程大学 | 三级交换系统及其调度方法 |
US8364852B1 (en) * | 2010-12-22 | 2013-01-29 | Juniper Networks, Inc. | Methods and apparatus to generate and update fibre channel firewall filter rules using address prefixes |
CN103297356A (zh) * | 2013-06-20 | 2013-09-11 | 电子科技大学 | 一种优化数据中心交换网络成本的方法 |
Non-Patent Citations (3)
Title |
---|
《一种新的输入缓存Clos 结构及其路由调度算法》;杨帆等;《西安电子科技大学学报》;20070228(第1期);全文 * |
《输入缓存clos网络中分布式正交分路路由算法》;杨帆等;《计算机工程与应用》;20070521(第10期);第163-165页 * |
《高速交换网络中基于综合优先级计算的调度及路由算法》;杨帆等;《西安电子科技大学学报》;20071031(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104486237A (zh) | 2015-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486237B (zh) | clos网络中无乱序分组路由及调度方法 | |
CN105337883B (zh) | 一种支持多业务的网络交换装置及其实现方法 | |
CN105610709B (zh) | 基于sdn的大流负载均衡系统与方法 | |
CN105515880B (zh) | 一种适合融合网络的令牌桶流量整形方法 | |
CN101304374B (zh) | 一种基于Clos网络交换结构的贯序匹配调度算法 | |
CN107948103A (zh) | 一种基于预测的交换机pfc控制方法及控制系统 | |
CN101695051A (zh) | 一种用于缓冲Crossbar的队列长度均衡调度方法 | |
CN105743804B (zh) | 一种数据流控制方法和系统 | |
CN105490962A (zh) | 一种基于OpenFlow网络的QoS管理方法 | |
CN105827545A (zh) | 数据中心网络中tcp共流的调度方法和装置 | |
CN108234310A (zh) | 多层次互连网络、自适应路由方法及路由设备 | |
CN108259387A (zh) | 一种通过交换机构建的交换系统及其路由算法 | |
CN104935524B (zh) | 一种多径网络基于链路时延控制的软负载均衡方法 | |
CN104734808B (zh) | 一种无线传感网络中最差时延感知跨层优化方法 | |
CN108183828A (zh) | 一种基于局部无线网络拓扑的流量控制方法 | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
WO2017084228A1 (zh) | 软件定义网络中流量项目的管理方法 | |
CN105072046B (zh) | 一种基于令牌控制节点并发数据转发的延迟容忍网络拥塞避免方法 | |
US20150319080A1 (en) | Basic self-routing unit and method for building its half-cleaners, sorters, network concentrators and multicast switching network | |
CN104283805B (zh) | 一种sdn网络报文发送方法及设备 | |
CN107276908A (zh) | 一种路由信息处理方法及分组交换设备 | |
CN102970249A (zh) | 路由交换装置及方法 | |
CN101014012A (zh) | Benes网络及其变长分组分发方法及设备 | |
CN106357555B (zh) | 一种基于业务均衡的cicq结构分组调度方法 | |
CN106453137B (zh) | 一种以缓解HOL Blocking为目标的动态组播入队方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |