一种基于反馈和逆向传输机制的负载均衡结构实现方法与流程

文档序号:12829044阅读:384来源:国知局
一种基于反馈和逆向传输机制的负载均衡结构实现方法与流程

本发明属于互联网信息传输技术领域,具体为一种基于反馈和逆向传输机制的负载均衡结构实现方法。



背景技术:

目前交换机和路由器的数据转发速率远远低于光纤的数据传输速率,这使得网络中继设备成为internet数据传输带宽的瓶颈,影响交换机和路由器转发能力的关键因素是其所采用的交换结构及其调度算法。为尽可能提高网络设备的数据转发速率,网络和通信业界从交换结构及其调度算法的角度入手进行了相关研究。

由于internet数据流具有自相似特性,因此传统的交换结构,如iq、cicq等,在自相似业务流环境中其交换性能随负载率的上升而迅速恶化。c.s.chang等提出的负载均衡结构能够有效地将到达输入端的突发数据流均匀散布到第二级缓存,因而能够较好地适应自相似业务流,但该结构存在性能不够理想和信元失序两方面的问题。针对这一问题,k.l.yeung等提出一种基于反馈机制的负载均衡结构lb-fm,如图1所示。lb-fm通过中间端口的反馈机制将目标端口处的缓存队列信息提供给输入端口作为调度的依据,从而获得了较为理想的时延性能,同时其特殊的crossbar连接模式也能够避免信元在输出端失序。然而lb-fm要求调度算法在crossbar重配置时间内完成。crossbar重配置时间取决于电子元器件的开关速度,就当今的微电子技术而言,其耗时约为纳秒级。而常规的调度算法rr、lqf和edf在最坏情况下需要比较n次,这使得lb-fm优异的理论性能实际上是无法实现的。



技术实现要素:

本发明所要解决的技术问题是提供一种基于反馈和逆向传输机制的负载均衡结构实现方法,其能够在保证时延性能的同时为调度算法提供更长的执行时间,而且不需要付出额外的硬件开销,易于实现。

为解决上述技术问题,本发明采用的技术方案是:

一种基于反馈和逆向传输机制的负载均衡结构实现方法,包括以下内容:

结构为:

包括两级crossbar和两级缓存:第一级crossbar之前设置输入缓存,两级crossbar之间设置中间缓存,输入缓存和中间缓存均采用voq缓冲模式,两级crossbar采用联合错列延时对称连接模式;

设定为:

交换结构的输入/输出端口数均为n,两级crossbar分别记为x1和x2;“输入端口”均指x1的输入端口,“中间端口”均指x2的输入端口,“输出端口”均指x2的输出端口;

输入端口i记为ii,中间端口j记为mj,输出端口k记为ok;

定义到达ii且目的端口为ok的信元集合为数据流fi,k,记ci,k泛指fi,k的任意一个信元;

ii与mj相连记为ii→mj,mj与ok相连记为mj→ok,ii通过mj与ok相连记为ii→mj→ok;

mj在t时隙结束时刻的缓存队列信息记为qj(t),qj(t)仅有n个比特,若其第w位为"1",则表示voq2(j,w)非空,反之表示voq2(j,w)为空;

ii在t时隙的调度结果信息记为si(t),si(t)仅有n个比特,若其第w位为"1",则表示将在下一时隙转发voq1(i,w)中的信元,若si(t)==0表示调度算法未选择任何信元;

ii在t时隙的本地缓存队列信息记为li(t),li(t)[w]表示voq1(i,w)的缓存队列长度;

fosi(t)表示ii在t时隙的调度基础信息,fosi(t)仅有n个比特,若其第w位为"1",表示下一时隙结束时刻,voq2(j,w)非空,反之表示voq2(j,w)为空;

端口号的加减操作都要对n取模,即i-1实质上是(i-1)modn;

处理步骤为:

步骤1:在t时隙结束前时刻,ii+1将其调度结果信息si+1(t)传输给mj+1,mj+1在t+1时隙初始时刻将调度结果信息si+1(t)传输给ii+2;

步骤2:mj在t时隙结束前时刻将其缓存队列信息qj(t)传输给oi+2,oi+2在t时隙结束前时刻将qj(t)反馈至ii+2;

步骤3:ii+2接收到调度结果信息si+1(t)和缓存队列信息qj(t)后进行信息预处理,包括:

1)考虑在t+1时隙,mj中信元被转发的情况:

若t+1时隙与mj相连的输出端口的序号记为w,则由公式k=(j+t+2-s)modn,j=0,1,2,…,n-1知:

w=(j+t+3-s)modn;

其中,s为定值,用于确定crossbar的初始连接状态;w表示下一时隙将与mj连接的输出端口的序号;

qj(t)&=~(1<<w);表示将二进制的“1”左移w位并取反后与qj(t)按位相与,运算结果重新赋值给qj(t);

2)考虑在t+1时隙,ii+1可能向mj发送一个信元的情况:

fosi+2(t+1)=si+1(t)|qj(t),fosi+2(t+1)表示ii+2在t+1时隙进行算法调度的基础信息;

3)考虑t+1时隙,ii+2的信元因被转发而离开的情况:

t+1时隙,ii+2是否有信元离开取决于调度结果信息si+2(t),若t时隙的调度算法选择t+1时隙转发voq1(i+2,w)中的信元,则:

--li+2(t)[w];表示li+2(t)[w]的值自减1;

步骤4:调度

ii+2在t+1时隙之初基于fosi+2(t+1)和li+2(t)选择轮询rr、最长队列优先lqf或最早离去者优先edf三种算法之一进行调度,设算法选择的是信元ci+2,z;

ci+2,z表示到达ii+2,且目标端口为oz的信元;ci+2,y表示到达ii+2,且目标端口为oy的信元;

步骤5:裁决

若在t+1时隙没有信元到达ii+2,则ci+2,z即为最终的调度结果,若在t+1时隙新到达ii+2的是信元ci+2,y且z!=y,则按照如下方式裁决:

1)若调度算法采用的是rr算法:

将rr指针位置记为ptr,则:

若(n+y-ptr)modn<(n+z-ptr)modn且voq2(j,y)为空,则选择ci+2,y,否则选择ci+2,z;

2)若调度算法采用的是lqf算法:

若++li+2(t)[y]>li+2(t)[z]且voq2(j,y)为空,则选择ci+2,y,否则选择ci+2,z;

3)若调度算法采用的是edf算法:

若(n+y-i-5)modn<(n+z-i-5)modn且voq2(j,y)为空,则选择ci+2,y,否则选择ci+2,z。

与现有技术相比,本发明的有益效果是:能够在保证时延性能的同时为调度算法提供更长的执行时间,而且不需要付出额外的硬件开销,易于实现;本发明lb-frtm既能为算法提供更长的执行时间,又能获得和lb-fm等同的调度性能。

附图说明

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

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

图3是现有技术反馈模式的调度算法执行时间分析示意图。

图4是本发明lb-frtm所采用的错列延时对称连接模式。

图5是本发明lb-frtm所采用的反馈和逆向传输机制工作示意图。

图6是本发明lb-frtm所采用的反馈和逆向传输机制的调度算法执行时间分析示意图。

图7是本发明lb-frtm以为ii+2例的输入端口处数据获取、预处理和调度流程图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。

总的来说,本发明包含两级crossbar和两级缓存:第一级crossbar之前设置输入缓存,两级crossbar之间设置中间缓存,输入缓存和中间缓存均采用voq缓冲模式,两级crossbar采用联合错列延时对称连接模式,输入端口将本地调度结果信息经中间端口中转后再通过第一级crossbar逆向传输至与其相邻的另一输入端口,中间端口将本地缓存队列信息通过输出端口反馈至相应输入端口,输入端口每个时隙之初接收和预处理经反馈所获得的目标端口缓存队列信息、经中转所获得的相邻输入端口的调度结果信息,之后结合本地缓存队列信息进行算法调度,选择即将在下一时隙转发的信元。

每个时隙输入端口都将本地调度结果信息挂在信元之后传输至中间端口,随后在下一个时隙起始时刻,中间端口通过第一级crossbar将该信息逆向传输至与其相连的输入端口,使之作为该输入端口的调度算法的调度依据之一。

采用第一阶段调度+最终裁决的调度模式,第一阶段的调度算法基于中间端口反馈而来的信息、经中间端口逆向传输而来的邻端口调度结果信息以及本地缓存队列信息选择rr(轮询,roundrobin)、lqf(最长队列优先,longestqueuefirst)或edf(最早离去者优先,earliestdeparturefirst)算法进行第一阶段调度,其调度结果和当前时隙到达的信元之间进行选择,在二者之中选择最优方案作为最终的调度结果。

详细说明如下,本发明设定:

1)交换结构的输入/输出端口数均为n,两级crossbar分别记为x1和x2。

2)在不引起混淆的前提下,本发明的“输入端口”均指x1的输入端口,“中间端口”均指x2的输入端口,“输出端口”均指x2的输出端口。

3)输入端口i记为ii,中间端口j记为mj,输出端口k记为ok;

4)定义到达ii且目的端口为ok的信元集合为数据流fi,k,记ci,k泛指fi,k的任意一个信元。

5)ii与mj相连记为ii→mj,mj与ok相连记为mj→ok,ii通过mj与ok相连记为ii→mj→ok。

6)mj在t时隙结束时刻的缓存队列信息记为qj(t),qj(t)仅有n个比特,若其第w位为"1"则表示voq2(j,w)非空,反之表示voq2(j,w)为空;

7)ii在t时隙的调度结果信息记为si(t),si(t)仅有n个比特,若其第w位为"1"则表示将在下一时隙转发voq1(i,w)中的信元,若si(t)==0表示调度算法未选择任何信元。

8)ii在t时隙的本地缓存队列信息记为li(t),li(t)[w]表示voq1(i,w)的缓存队列长度。

9)fosi(t)表示ii在t时隙的调度基础信息,fos即foundationofscheduling,fosi(t)仅有n个比特,若其第w位为"1",则表示下一时隙结束时刻,voq2(j,w)非空,反之则表示voq2(j,w)为空。

10)端口号的加减操作都要对n取模,即i-1实质上是(i-1)modn。

针对lb-fm中调度算法执行时间过短的问题,本发明基于反馈和逆向传输机制的负载均衡结构实现方法lb-frtm(loadbalancedswitcharchitecturebasedonthefeedbackandreversetransmissionmechanism),能够在保证时延性能的同时为调度算法提供更长的执行时间,而且不需要付出额外的硬件开销,易于实现。其关键技术在于:lb-frtm的任意一个输入端口在每个时隙之初都会收到从不同路径到达的两条信息,每条信息都仅有n个比特。其中一条是特定中间端口的缓存队列信息,该信息经位于同一线卡的输出端口反馈而来;另一条是相邻输入端口的调度结果信息,该信息经中间端口中转后通过第一级crossbar逆向传输而来;输入端口在每个时隙之初接收并处理这两条信息后再结合本地的缓存队列信息进行第一阶段的算法调度,其调度结果和本时隙到达的信元之间进行最终裁决,选取最优的结果作为本时隙算法调度的最终结果。lb-frtm既能为算法提供更长的执行时间,又能获得和lb-fm等同的调度性能。

本发明lb-frtm是针对lb-fm对调度算法的时间限制问题所做的改进方法,故lb-frtm具有lb-fm结构的基本元素,如:

(1)lb-frtm和lb-fm结构中均包含两级crossbar(x1和x2)和voq1及voq2。

(2)lb-frtm和lb-fm的所有中间端口在每个时隙都将该端口处的缓存队列信息通过输出端口反馈至位于同一线卡的输入端口。

lb-frtm与lb-fm的不同之处在于:

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

lb-frtm采用一种错列延时对称连接模式,如图4所示。若在t时隙有mj→ok,则在t+2时隙必有ik→mj。

依据图4所示的错列延时对称连接模式可知:

①t时隙,x1的连接模式为ii→mj→oi+2,本时隙结束前,qj(t)被传输至oi+2;oi+2将qj(t)反馈给位于同一线卡的ii+2。

②t+1时隙,ii+2进行算法调度选择在下一时隙将传输至mj的信元。

③t+2时隙,x1的连接模式为ii+2→mj。依据上个时隙的调度结果将算法所选择的信元转发至mj。

显然,t+2时隙时ii+2将转发信元到mj,而qj(t)在t时隙结束时刻即可反馈至ii+2。这样就相当于ii+2提前一个时隙得到了目标端口缓存队列信息(信息是不完整的),使得提前进行算法调度成为可能。

(2)相邻输入端口的调度结果信息到达中间端口后经x1逆向传输至相应的输入端口。

由前述分析可知,ii+2在t+1时隙所进行算法调度目的在于选择下一时隙将转发的信元。算法真正需要的信息是qj(t+1)。导致qj(t+1)和qj(t)不同的事件只可能有两个:

①在t+1时隙内有一个信元因转发而离开mj。

②在t+1时隙内有一个信元到达mj。

对于第一种情况,因为两级crossbar采用的连接模式是确定的、周期性变化的,因此在t+1时隙内是否有信元被转发而离开mj是可以根据crossbar连接模式预知的。

对于第二种情况,lb-frtm的连接模式决定了在t+1时隙有ii+1→mj,即在t+1时隙内是否有信元到达mj以及何种信元到达mj都取决于ii+1在t+1时隙是否向mj发送信元,即取决于ii+1在t时隙的调度结果:si+1(t)。

lb-frtm的连接模式决定了在t时隙有ii+1→mj+1,在t+1时隙有ii+2→mj+1,因此可以在t时隙结束时刻将si+1(t)传输至mj+1,而后在t+1时隙起始时刻再经x1逆向传输至ii+2,ii+2获得si+1(t)后结合qj(t)等信息先进行预处理,随后开始进行第一阶段的算法调度。

(3)信息处理过程不同

不失一般性,以lb-frtm中输入端口ii+2为例说明:

1)在每个时隙之初ii+2都会接收到si+1(t)和qj(t),随后ii+2需要根据si+1(t)、qj(t)以及crossbar连接模式计算等同于qj(t+1)的调度基础信息fosi+2(t+1);

2)算法在t+1时隙调度所依赖的li+2(t)也需要考虑t+1时隙的信元到达和转发情况:

虽然信元在t+1时隙到达ii+2的情况无法预测,但本时隙内是否有信元离开以及何种信元离开ii+2的信息是由上个时隙的调度结果si+2(t)所确定的。因此lb-frtm在t+1时隙调度开始之前需要根据当前的缓存队列信息和si+2(t)进行预处理,剔除当前时隙被转发的信元并生成算法所依赖的li+2(t)。

上述步骤完成后方可开始进行第一阶段的算法调度。

(4)算法调度过程不同

lb-frtm中任意输入端口在每个时隙都按照相同的方法进行信息获取、处理和调度,如图7所示。不失一般性,此处以ii+2为例说明其调度过程。

①算法调度的方法不同

lb-frtm中的算法调度分为两个阶段:

第一阶段,ii+2基于fosi+2(t+1)选用常规调度算法,如轮询调度算法rr、最长队列优先算法lqf或最早离去者优先算法edf等进行调度,不妨设其调度结果选择的信元ci+2,z。ci+2,z表示到达ii+2,且目标端口为oz的信元,下文中的ci+2,y表示到达ii+2,且目标端口为oy的信元。

第二阶段,考虑在t+1时隙到达ii+2的信元ci+2,y,则在ci+2,z和ci+2,y这两个信元之间做最终裁决,判断哪一个信元是最合适的,选择将其作为最终的调度结果。

②允许算法执行的时间区间不同

lb-frtm中输入端口每个时隙进行一次调度,调度算法在每个时隙之初接收并处理相关信息后开始进行,最终在本时隙结束之前完成。允许调度算法执行的时间区间如图6所示。

以ii+2为例,说明如下:

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

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

①对于x1,若t时隙与ii相连的中间端口的序号j由式(1)所确定:

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

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

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

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

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

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

由式(2)和式(3)可得:

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

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

(2)邻端口调度结果信息的传输

不失一般性,ii+2在每个时隙之初都会接收n个比特的si+1(t)。si+1(t)的传输过程如图5所示,具体说明如下:

①si+1(t)是ii+1在t时隙的调度结果信息,在t时隙结束之前时刻生成。若t时隙ii+1的调度算法选择在t+1时隙向mj转发信元ci+1,w,si+1(t)=1<<w,w表示下一时隙将与mj连接的输出端口的序号,若t时隙ii+1的调度算法未选择任何信元,则si+1(t)=0。

②在t时隙有ii+1→mj+1,因此在t时隙结束之前,si+1(t)被置于信元之后传输至mj+1。

③在t+1时隙有ii+2→mj+1,因此mj+1可在t+1时隙之初,即先于信元传输之前将si+1(t)逆向传输至ii+2。

(3)信息预处理

不失一般性,考虑ii+2在t+1时隙之初将进行如下处理:

1)考虑在t+1时隙mj中信元被转发的情况:

若t+1时隙与mj相连的输出端口的序号记为w,则由公式(3)可知:

w=(j+t+3-s)modn;

qj(t)&=(~(1<<w));表示将二进制的“1”左移w位并取反后与qj(t)按位相与,运算结果重新赋值给qj(t)。

2)考虑在t+1时隙ii+1可能向mj发送一个信元的情况:

fosi+2(t+1)=si+1(t)|qj(t);

fosi+2(t+1)表示ii+2在t+1时隙进行算法调度的基础信息。此时的fosi+2(t+1)已经完全等同于真正的qj(t+1)。

3)考虑t+1时隙ii+2的信元因被转发而离开的情况:

t+1时隙ii+2是否有信元离开取决于si+2(t),若t时隙的调度算法选择t+1时隙转发voq1(i+2,w)中的信元,则:

--li+2(t)[w];表示li+2(t)[w]的值自减1。

第一阶段的调度算法基于处理后的fosi+2(t+1)和li+2(t)进行。

(4)调度+裁决模式

①第一阶段的调度

ii+2在t+1时隙之初基于fosi+2(t+1)和li+2(t)选择rr、lqf或edf进行调度,不妨设该算法选择的是信元ci+2,z。

②第二阶段的裁决

若在t+1时隙没有信元到达ii+2,则ci+2,z即为最终的调度结果。若在t+1时隙新到达ii+2的是信元ci+2,y且z!=y,则按照如下方式裁决:

1)若第一阶段算法采用的是rr:

不妨将rr指针位置记为ptr,则:

若(n+y-ptr)modn<(n+z-ptr)modn且voq2(j,y)为空则选择ci+2,y,否则选择ci+2,z。

2)若第一阶段算法采用的是lqf:

若++li+2(t)[y]>li+2(t)[z]且voq2(j,y)为空则选择ci+2,y,否则选择ci+2,z。

3)若第一阶段算法采用的是edf:

若(n+y-i-5)modn<(n+z-i-5)modn且voq2(j,y)为空则选择ci+2,y,否则选择ci+2,z。

对于ii+2而言,当前时隙相连的mj在下个时隙将与oi+5相连。

下面对本发明lb-frtm方法带来的优点进行验证

(1)lb-frtm为输入端口的调度算法提供了更长的执行时间。

(2)在同样的环境中,lb-frtm与lb-fm具有相同的时延性能。

以下予以分述:

(1)lb-frtm中算法的执行时间空间分析。

若将一个时隙的时间记为tslot,crossbar的重配置时间记为tr,信元的发送时间记为tc,n个比特信息的发送时间记为tn,n个比特的反馈信息从输出端口反馈至位于同一线卡的输入端口所需时间记为tf,调度之前的信息处理时间记为td,信元经过crossbar的传播时延记为tp,如图6所示,则有:

tslot=tr+tc+tp+2tn

若将lb-frtm中算法的执行时间记为tlb-frtm,则:

tlb-frtm=tc-td-tp

考虑相同的分析方法,图3所示lb-fm中算法的调度时间tlb-fm为:

tlb-fm=tr-tf

考虑到tr,tf,tp,tn均远小于tc,相对于lb-fm,本发明所提出的lb-frtm能够为算法提供较长的执行时间,这一特性使得交换结构能够支持较大的交换规模和较高的交换速率。

(2)lb-frtm的时延性能分析

1)lb-frtm在调度之前基于将qj(t)和si+1(t)以及crossbar的连接模式进行信息处理,得到fosi+2(t+1),由于在一个时隙内至多只能有一个信元到达mj,至多只能有一个信元被转发而离开mj,而这两种情况均已通过预处理而得到修正,因此fosi+2(t+1)和qj(t+1)是完全等同的。

2)lb-frtm基于fosi+2(t+1)和li+2(t)进行第一级调度。li+2(t)在预处理过程中已经考虑到t+1时隙因被转发而离开ii+2的信元,因在一个时隙内至多只能有一个信元到达ii+2,至多只能有一个信元被转发而离开ii+2,因此li+2(t)和li+2(t+1)至多只可能缺少一个信元的信息,即当前时隙到达ii+2的信元。

在采用相同调度算法的情况下,lb-frtm的第一阶段调度仅比lb-fm少考虑了当前时隙到达ii+2的信元,因此通过最终裁决的方法,lb-frtm能够获得与lb-fm等同的时延性能。

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