一种基于邻端口调度信息的两级交换结构实现方法与流程

文档序号:11253891阅读:624来源:国知局
一种基于邻端口调度信息的两级交换结构实现方法与流程

本发明涉及互联网信息传输技术领域,具体为一种基于邻端口调度信息的两级交换结构实现方法。



背景技术:

密集波分复用等光通信技术的发展使光纤的数据传输速率达到400gbps,但网络传输设备(如交换机和路由器)的交换速率却远远低于光域内的数据传输速率,这使得网络传输设备成为internet性能的瓶颈。影响网络设备数据传输速率的关键因素是其核心交换芯片所采用的交换结构及相应的信元转发调度算法,因此高性能交换结构和与之协同工作的调度算法就成为下一代internet的核心技术和研究热点。

传统的交换结构因为复杂度或加速比等原因均无法满足未来的交换需求。近年来,张正尚教授等人提出的负载均衡结构lb-bvn(loadbalancedbirkhoff-vonneumannswitcharchitecture)因非常接近未来的交换需求而备受关注。lb-bvn由两级crossbar组成,其第一级crossbar将到达的数据流均匀散布到中间缓存,这使得该结构能够较好地适应自相似业务流;此外其两级crossbar均采用确定的、周期性的连接模式,这种复杂度为o(1)的crossbar连接模式排除了算法调度时间对时隙长度的影响,在信元长度一定的情况下,时隙长度仅与端口速率有关。这就意味着,端口速率可以提高到微电子技术甚至是光传输技术所能达到的极限。但该结构可能导致信元失序,国内外现有解决失序问题的方案都在性能和复杂度之间取舍。

文献[yeungkl,hub,liunhanovelfeedbackmechanismforloadbalancedtwo-stageswitches[c]ieeeinternationalconferenceoncommunicationsglasgow,scotland,unitedkingdom:instituteofelectricalandelectronicsengineersinc.,2007,6193-6198]提出的fmlb结构利用输入端口k和输出端口k位于同一线卡这一特性,通过一种错列对称特性的crossbar连接模式将中间缓存的状态信息反馈到输入端,输入端基于该反馈信息选择一个信元传输至中间缓存,这种“有的放矢”的工作模式可以有效降低中间缓存的下溢(underflow)问题,从而获得了极其优异的时延性能。但该结构要求调度算法在crossbar重配置时间内完成调度过程,这一要求在现有微电子和存储技术的条件下是无法实现的。为完成算法调度过程,只能增加时隙长度,这样反而损害fmlb原本所具有的高速交换能力和可扩展性。对该问题的详细介绍如下:

为便于表达,本文约定交换结构的输入/输出端口数均为n,定义到达输入端口i且目的端口为输出端口k的信元集合为数据流fi,k,记ci,k泛指fi,k的任意一个信元。两级crossbar分别记为x1和x2,位于x1前端的voq(virtualoutputqueue虚拟输出队列)缓存称为输入缓存,记为voq1,位于x2前端的缓存称为中间缓存,记为voq2。voq1(i,k)用于缓存ci,k,voq2(j,k)用于缓存到达中间端口j且目的端口为输出端口k的信元。在不引起混淆的前提下,本文的“输入端口”均指x1的输入端口,“中间端口”均指x2的输入端口,“输出端口”指x2的输出端口。序号为i的输入端口记为ii,序号为j的中间端口记为mj,序号为k的输出端口记为ok;ii与mj相连记为ii<-->mj,mj与ok相连记为mj<-->ok,ii通过mj与ok相连记为ii<-->mj<-->ok。端口号的加减操作最终都需要对n取模,即i-1实质上是(i-1)modn。

(1)fmlb结构和错列对称连接模式

fmlb结构由x1、x2和voq1、voq2组成,如图1所示。任意voq2(j,k)仅需设置1个信元的缓存空间,两级crossbar采用图2a-2d所示的错列对称连接模式,其关键特性在于若t时隙mj<-->ok,则在t+1时隙必有ik<-->mj。

fmlb采用图3所示的反馈模式,即mj在转发信元之后继续向ok传输本地缓存的状态信息(仅有n个bit)。由于ok和ik位于同一线卡,故可方便地将到达ok的中间缓存信息反馈至ik。错列对称的crossbar连接模式又恰恰使得下一个时隙ik<-->mj,这样ik即可根据目的端口(mj)的缓存状态信息进行“有的放矢”的信元转发以降低中间缓存的underflow问题,从而获得十分优异的时延性能。

(2)fmlb对调度算法的时间限制

从图3可知fmlb中信元传输和算法调度严格串行,为避免在x1转发阶段因信元传输等待调度结果而增加时隙长度,fmlb要求调度算法必须在crossbar重配置时间内完成。然而fmlb中的三种算法:rr(round-robin)、edf(earliestdeadlinefirst)和longestqueuefirst(lqf)最坏情况下均需搜索n次。

首先,lqf算法性能最优但寻找最长队列的复杂度为o(logn),而且最长队列并不一定是符合条件的(目标位置已有信元),最坏情况下lqf算法需要搜索所有n个队列才能获得符合条件的最大队长。edf选择能在最短时间内离开交换机的信元,对于图2a-2d所示的错列对称连接模式,ii总按照voq1(i,i-2),voq1(i,i-3),…,voq1(i,0),voq1(i,n-1),voq1(i,n-2),…,voq1(i,i-1)的次序搜索第一个符合条件的队列,最坏情况下也需要搜索n次。尽管rr算法相对易于实现,但事实上轮询的下一个队列同样不一定符合要求,故最坏情况下也需要搜索n次。

另一方面,crossbar重配置所消耗的时间本质上取决于crossbar交叉点的开关速度,随着微电子技术的发展,目前成熟的商用芯片的工作频率可达4ghz以上,即元器件开关的周期约为0.25ns(1s/4ghz)。但存储技术的发展却相对滞后,目前高速存储器的存取周期约为0.5ns。虽然n比特缓存信息的反馈过程因输入输出端口位于同一线卡的原因耗时较少,但对最坏情况下要搜索n次且需多次比较运算的算法而言,在crossbar重配置时间内完成反馈和调度是无法实现的。

由以上分析可知:虽然fmlb在仿真中表现出十分优异的交换性能,但该结构中信元传输与调度算法的串行工作模式要求调度算法在极短的时间内完成,对最坏情况下要搜索n次且需多次比较运算的算法而言,在crossbar重配置时间内完成反馈和调度是无法实现的,这种时间限制必然导致调度算法耗时远远超出crossbar重配置时间,信元传输不得不等待调度结果,时隙长度势必因调度算法而增加,进而限制端口速率的提升,降低fmlb的高速交换能力和可扩展性。



技术实现要素:

鉴于fmlb的这种缺陷,本发明的目的在于提供一种基于邻端口调度信息的两级交换结构实现方法,以拓展调度算法的时域空间,为调度算法提供更长的执行时间,避免因信元传输需要等待调度结果而拉长时隙长度,从而提高交换结构的高速交换能力和可扩展性。技术方案如下:

一种基于邻端口调度信息的两级交换结构实现方法,包括两级crossbar,以及第一级crossbar之前的输入缓存、两级crossbar之间的中间缓存;第一级crossbar的输入端为交换结构的输入端口,第二级crossbar的输入端为中间端口,输出端为输出端口,在相邻接的输入端口之间设置数据通信链路,每个时隙结束之前,各输入端口均通过该数据通信链路将本时隙的调度结果信息抄送至与其邻接的输入端口;且每个时隙结束之前,中间端口将其缓存信息经第二级crossbar传输至输出端口,输出端口收到该缓存信息后将其反馈至位于同一线卡的输入端口;每个时隙输入端口皆根据接收到的上述两类信息及此刻的本地缓存信息进行算法调度,选择在下一个时隙转发至中间端口的信元。

进一步的,所述通信链路的宽度为n个比特,n为输入/输出端口数。

更进一步的,还包括对中间端口的反馈信息进行预处理,提前考虑t+1时隙将被转发走的信元,使得反馈至输入端口的信息能最大程度地接近t+1时隙结束前瞬间的真实状态。

更进一步的,所述两级crossbar采用联合错列延时对称连接模式,使连接状态如下:若在t时隙,中间端口j与输出端口k相连,则在t+2时隙必有输入端口k与中间端口j相连。

更进一步的,所述联合错列延时对称连接模式中,各端口的连接状态及信息传输流程如下:

1)t时隙,crossbar的连接状态为:ii<-->mj<-->oi+2,本时隙结束前,mj将其缓存信息传输至oi+2;

2)t+1时隙,oi+2将mj的缓存信息反馈给位于同一线卡的ii+2;随后,ii+2开始进行算法调度选择在下一时隙传输至mj的信元;

3)t+2时隙,第一级crossbar的连接模式为ii+2<-->mj;依据t+1时隙的调度结果将算法所选择的信元转发至mj;

其中,ii表示序号为i的输入端口,mj表示序号为j的中间端口;oi+2表示序号为i+2的输出端口,ii+2与oi+2位于同一线卡,<-->表示两端口相连接。

更进一步的,所述联合错列延时对称连接模式中,端口序号的确定方式为:

1)对于第一级crossbar,若t时隙有ii<-->mj,则中间端口的序号j由式(a)确定:

j=(i-t+s)modn,i=0,1,2,…,n-1(a)

其中,s为定值,modn表示对n取模;

t时隙与中间端口mj相连的输入端口的序号i由式(b)确定:

i=(j+t-s)modn,j=0,1,2,…,n-1(b)

2)对于第二级crossbar,t时隙与中间端口mj相连的输出端口的序号k由式(c)所确定:

k=(j+t+2-s)modn,j=0,1,2,…,n-1(c)

由式(b)和式(c)可得:

k=(i+2)modn,i=0,1,2,…,n-1(d)。

本发明的有益效果是:本发明通过错列延时对称连接模式,有效扩展了调度算法的时域空间,为输入端口的调度算法提供了更长的执行时间,使交换结构能够支持较大规模的交换模块和较高的交换效率;利用邻端口的调度结果信息和中间端口的反馈信息,输入端口能够提前预知下一时隙目标端口缓存队列的准确信息,在实现提前调度的同时避免了信元冲突问题。

附图说明

图1现有技术基于反馈机制的两级交换结构fmlb结构图。

图2a是现有技术错列对称的crossbar连接模式t时隙示意图。

图2b是现有技术错列对称的crossbar连接模式t+1时隙示意图。

图2c是现有技术错列对称的crossbar连接模式t+2时隙示意图。

图2d是现有技术错列对称的crossbar连接模式t+3时隙示意图。

图3是现有技术反馈模式示意图。

图4a是本发明所采用的错列延时对称连接模式t时隙示意图。

图4b是本发明所采用的错列延时对称连接模式t+1时隙示意图。

图4c是本发明所采用的错列延时对称连接模式t+2时隙示意图。

图4d是本发明所采用的错列延时对称连接模式t+3时隙示意图。

图5是本发明所采用的相邻输入端口之间的通信链路示意图。

图6是本发明方法中调度算法的时域空间示意图。

图7是本发明方法在均匀业务流环境中的时延性能比较图。

图8是本发明方法在突发业务流环境中的时延性能比较图(平均突发长度=32)。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细说明。一种基于邻端口调度信息的两级交换结构实现方法(asrlbadjacent-scheduling-resultsbasedloadbalancedtwo-stageswitcharchitecture),包括两级crossbar(x1和x2),以及第一级crossbar之前的输入缓存、两级crossbar之间的中间缓存;第一级crossbar的输入端为交换结构的输入端口,第二级crossbar的输入端为中间端口,输出端为输出端口;在相邻接的输入端口之间设置数据通信链路,每个时隙结束之前,各输入端口均通过该数据通信链路将本时隙的调度结果信息抄送至与其邻接的输入端口;且每个时隙结束之前,中间端口将其缓存信息经第二级crossbar传输至输出端口,输出端口收到该缓存信息后将其反馈至位于同一线卡的输入端口;每个时隙输入端口皆根据接收到的上述两类信息及此刻的本地缓存信息进行算法调度,选择在下一个时隙转发至中间端口的信元。

本实施例中两级缓存均采用voq缓冲模式,分别记为voq1和voq2,voq1(i,k)用于缓存ci,k,voq2(j,k)用于缓存到达mj且目的端口为ok的信元。任意voq2(j,k)仅设置一个信元的缓存空间。在任意相邻输入端口之间均设置宽度为n个比特的通信链路用于抄送调度结果信息;输入端口在每个时隙结束之前将本地调度结果信息利用输入端口之间的数据通信链路抄送至相邻输入端口;中间端口在每个时隙结束之前将该端口的缓存信息通过既有的crossbar连接传输到相应的输出端口,随后该信息被反馈至位于同一线卡的输入端口;输入端口综合本地缓存信息、反馈而来的中间缓存信息和邻端口调度结果信息进行算法调度选择下一时隙要转发的信元。该信元将在下一时隙通过x1被转发至中间端口。

也即在本实施例中每个时隙输入端口都要基于以下信息进行算法调度:

1)中间端口在上一时隙结束时刻反馈而来的缓存信息;

2)邻接输入端口在上一时隙结束时刻抄送而来的调度结果信息;

3)输入端口本地的缓存信息。

本实施例的方法asrlb是针对fmlb对调度算法的时间限制问题所做的改进方案,两者的不同之处在于:

(1)x1和x2采用的连接模式不同。

上述两级crossbar采用联合的错列延时对称连接模式:若在t时隙,mj<-->ok,则在t+2时隙必有ik<-->mj;这种机制保证在t时隙结束之前可将mj的缓存状态信息利用既有的crossbar连接传输至ok,而ok和ik位于同一线卡,因此可以很方便地将mj的缓存状态信息反馈至ik。由于目标端口的缓存信息已知,ik可以在t+1时隙进行有的放矢的算法调度,选择将在t+2时隙进行转发的信元。

如图4a所示,t时隙的连接模式为ii<-->mj<-->oi+2,本时隙结束前,mj的缓存信息被传输至oi+2。

如图4b所示,t+1时隙oi+2将mj的缓存信息反馈给位于同一线卡的ii+2。随后,ii+2开始进行算法调度选择在下一时隙将传输至目标端口mj的信元。

如图4c所示,t+2时隙的连接模式为ii+2<-->mj。依据t+1时隙的调度结果将算法所选择的信元转发至mj。

其中,ii为输入端口i,i是输入端口的一个序号,i取值为0~n-1,因为输入端口、中间端口、输出端口都会有n个,一般交换机或路由器的交换规模n为32、48、64、96、128这样的数。mj为中间端口j;oi+2为输出端口i+2,ii+2与oi+2位于同一线卡,<-->表示两端口相连接,端口号的加减操作实质上要对n取模。

作为算法调度的基础数据之一,ii+2获得的反馈信息在t+1时隙开始后就已经到达,因此决定t+2时隙选择哪一个信元传输的算法调度过程从t+1时隙即可开始进行。通过这种错列延时对称连接模式,asrlb有效扩展了调度算法的时域空间。

(2)中间端口每次反馈的信息不同。

由上述分析可知:ii+2在t+1时隙所进行的调度用于决策t+2时隙所传输的信元,因此调度所需的是目标端口(mj)在t+1时隙结束前瞬间的缓存信息。然而ii+2在t+1时隙之初所获得的仅是目标端口(mj)在t时隙结束前瞬间的缓存信息,该信息在经过t+1时隙后可能会发生变化,这种变化只有如下两种可能性:

1)在t+1时隙有一个新的信元到达mj。

2)缓存中某个信元在t+1时隙被转发。

对于第一种情况,中间端口无法预知未发生的情况。但对于第二种情况,由于x2的连接模式是确定的,即在t+1时隙mj将哪一个voq队列中的信元转发至输出端是确定的。因此asrlb对反馈信息进行预处理,提前考虑t+1时隙将被转发走的信元,使得反馈至输入端口的信息能最大程度地接近t+1时隙结束前瞬间的真实状态。

(3)在相邻输入端口之间增设通信链路实现调度结果信息的抄送。

上述分析可知,中间端口的反馈信息经预处理之后仍然不能精确反映t+1时隙结束前瞬间的缓存状态信息,这一缺陷可能导致调度算法选择转发一个目标缓存非空的信元,进而导致信元冲突和失序,为解决信元冲突和失序问题需要更多的缓存和额外的重排序机制,这就会导致交换过程的复杂化。

asrlb所采用的错列延时对称连接模式确定了在t+1时隙必有ii+1<-->mj,在t+1时隙是否有信元被转发至mj唯一地由ii+1在t时隙进行的调度算法所确定且该算法在t时隙结束前就已经完成。换言之,ii+1在t时隙运行的算法调度结果是ii+2进行算法调度所依赖的基础数据之一。考虑到ii+1和ii+2是一对相邻的输入端口,故asrlb在相邻输入端口之间建立图5所示的通信链路用以将ii+1的调度结果信息抄送至ii+2,利用这种邻端口的调度结果信息和中间端口的反馈信息,ii+2便能获得mj在t+1时隙结束时刻的准确信息,从而避免因目标缓存信息不完整而造成的信元冲突等一系列问题。

(4)算法调度过程不同。

asrlb中的算法调度具有如下三种不同的特点:

1)算法所依据的信息不同:asrlb中输入端口的调度是基于三种因素来综合确定调度结果的,这三种信息分别是:本地的缓存信息、中间端口经预处理后的反馈信息和邻端口抄送而来的调度结果信息。依据上述三种信息可选择rr、lqf、或edf等进行调度。

2)算法执行的时域空间不同:asrlb中输入端口每个时隙进行一次调度,调度算法在每个时隙开始后接收并处理经反馈和抄送到达的信息,随后开始进行算法调度,最终在本时隙结束之前完成。调度算法执行的时域空间如图6所示。

3)算法的调度性能有所区别:asrlb提前一个时隙开始进行算法调度,一方面实现了对算法时域空间的扩展,另一方面却因为无法预知算法运行时当前时隙内的信元到达情况,因此会造成当前时隙内到达空缓存队列的信元无法在下一个时隙被转发,因此在负载率较低时可能会造成时延的增加,在负载率较高时,因为输入端voq缓存队列非空的概率较低,故其性能损失也会大大降低。

具体实施过程如下:

(1)联合错列延时对称连接模式

两级crossbar采用联合错列延时对称连接模式,该模式具有如下特征:

1)对于x1,若t时隙有ii<-->mj,则中间端口的序号j由式(a)所确定:

j=(i-t+s)modn,i=0,1,2,…,n-1(a)

其中s为定值,用于确定x1的初始连接状态。图4a-4d所示的错列延时对称连接模式是s=1时的连接示意图。

t时隙与mj相连的输入端口的序号i由式(b)确定:

i=(j+t-s)modn,j=0,1,2,…,n-1(b)

2)对于x2,t时隙与mj相连的输出端口的序号k由式(c)所确定:

k=(j+t+2-s)modn,j=0,1,2,…,n-1(c)

由式(b)和式(c)可得:

k=(i+2)modn,i=0,1,2,…,n-1(d)

由式(d)可知,ii在不同的时隙经过不同的中间端口与固定的输出端口oi+2相连。

(2)对反馈信息进行预处理

mj在t时隙结束时刻所反馈的信息用n个比特的fbinfo来表示,其值采用如下算法确定:

(3)在相邻输入端口之间增设通信链路

1)在任意相邻输入端口之间设置宽度为n的通信链路,如图5所示。

2)ii+1在t时隙结束前将其调度结果信息传输至ii+2,则该信息用n个比特的schinfo来表示,其初值为0,若t时隙的调度算法选择在t+1时隙将转发voq1(i+1,z)的队首信元,则schinfo的生成算法如下:

step1:schinfo=0;temp=1;

step2:schinfo=(temp<<z);

3)每个时隙结束之前,ii+1将schinfo通过图5所示的通信链路传输至ii+2。

(4)改进的edf调度算法

asrlb的所有输入端口在每个时隙都会进行一次算法调度,其调度结果用于确定下一时隙将哪一个信元转发至对应的中间端口。

本实施例提出一种基于三种信息综合的edf算法,t时隙工作在ii的edf算法描述如下:

本发明asrlb方法带来的优点由以下两方面验证:

(1)asrlb对算法执行时间的拓展。

若将一个时隙的时间记为tslot,crossbar的重配置时间记为treconf,信元的发送时间记为tcell,n个比特信息(如fbinfo和schinfo)的发送时间记为tn-bit,n个比特的反馈信息从输出端口反馈至位于同一线卡的输入端口所经历的时间记为tfeedback,邻端口调度信息经专用的通信链路传输至相邻输入端口所经历的时间记为tcc,信元在经过crossbar的传播时延记为tprop,则:

tmax=max(tfeedback,tcc)

tslot=treconf+tcell+tprop+tn-bit

考虑到tfeedback和tcc只需极短时间即可完成,故asrlb中的调度算法可在每时隙起始后延时treconf-tmax后开始进行。因为输入端口需要将本地调度结果信息传输至相邻端口,故asrlb要在此之前结束算法调度过程。调度算法的可用执行时间区间如图6所示,若将asrlb中算法的执行时间记为tasrlb,则:

tasrlb=treconf+tcell-tmax

考虑相同的分析方法,图3所示fmlb中算法的调度时间tfmlb为:

tfmlb=treconf–tfeedback

易见,相对于fmlb,本实施例的方法提供了相对较大的时域空间,这一特性使得交换结构能够支持较大规模的交换模块和较高的交换速率。

(2)asrlb的时延性能仿真实验

仿真实验分别从islip、byte-focal、fmlb、asrlb及oq(outputqueuing)五种交换结构的角度在均匀业务流和突发业务流环境中进行仿真分析,仿真采用32×32的交换模型,仿真结果越小越好。

1)均匀业务流模型

信元以bernoullii.i.d.过程到达且以等概率到达各输出端口。仿真结果如图7所示。

2)突发业务流模型

突发数据流用on-off模型来产生,其平均突发长度设为32,同一突发块内的信元具有相同的目的端口,仿真结果如图8所示。

仿真所选五种结构中,islip算法广泛应用于现有各类型iq交换机,但复杂的集中式调度制约了其高速交换能力和可扩展性;oq需要n倍的加速比,在实际应用中是无法实现的(除非n极小),其理论时延常被视为交换结构性能的上限。

byte-focal、fmlb和本发明所提出的asrlb同属于负载均衡类两级交换结构,该类型的交换结构在未来的高速交换和自相似业务流环境中具有特殊的优势,仿真结果表明:asrlb的时延性能远优于byte-focal而稍逊于fmlb,但考虑到fmlb的理论性能是无法实现的,故本发明方法asrlb仍具有优异的应用价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1