一种用于缓冲Crossbar的队列长度均衡调度方法

文档序号:7719498阅读:253来源:国知局

专利名称::一种用于缓冲Crossbar的队列长度均衡调度方法
技术领域
:本发明涉及一种用于缓冲Crossbar的队列长度均衡调度方法,它以缓冲Crossbar交换结构为背景,在输入/输出端调度时充分利用了输入队列和交叉点缓冲长度信息,从而使输入端最长的队列在输入端和输出端均能优先调度,使得整个队列系统保持均衡与稳定,从而获得更优的性能,本发明主要适用于高速路由器/交换机。
背景技术
当前Internet的规模和业务量增长迅速,作为网络核心节点的路由器/交换机逐渐成为限制网络速率和容量的瓶颈。高性能的交换结构是路由器的核心部件,其性能却要受到调度算法的制约。调度算法主要是解决数据输入/输出竞争,避免发送冲突,达到合理利用交换结构资源,提高吞吐量和减少时延的目的。可以说,交换结构及其调度算法的优劣直接影响整个路由器的端口速率、容量和时延等性能。传统的中、低速路由器大多采用输出排队的交换网络(包括共享缓存),它们虽然具有良好的吞吐量和时延性能,但是要求交换结构的速率是链路速率的N(N指输入端口数目)倍,而在因特网干线中链路速率往往很高(如0C-192、10GE),交换网络难以达到数十Gbps的速率,造成系统可扩展性差,已无法满足Internet日益发展的需求。基于输入排队的Crossbar是一种快速的定长交换网络,只要求交换网络的速率与链路速率相同,并且Crossbar具有简单易实现、无阻塞等优点,被广泛应用于高速路由器/交换机的设计中。在这种交换结构中,分组只在输入端存储,经过调度通过crossbar输出。输入队列为了避免由于HOL阻塞(headoflineblocking)而带来的交换网络吞吐量下降的问题,一般采用虚拟输出排队技术(VOQ:virtualoutputqueueing)来消除HOL阻塞,即每个输入端为每一个输出端维护一个单独的FIFO(firstinfirstout)队列,我们统称之为V0Q队列。然而Crossbar需要集中控制,当端口数目增加时,调度算法可扩展性仍然受到很大地限制。为解决可扩展性问题,近年来,缓冲Crossbar交换结构因其良好的分布并行调度特性,逐渐成为交换领域的研究热点。所谓缓冲Crossbar,就是在Crossbar的交叉点植入少量缓冲,这样能够将输入端与输出端的数据传输竞争隔离开来,调度算法可以在输入/输出端独立并行工作,不需要集中控制。依据目前的技术条件,交叉点缓存容量比较小,仍然需要与输入排队结合使用,输入队列仍然采用VOQ排队技术。与纯Crossbar的高速交换结构相比,缓冲Crossbar交换结构具有分布式调度、易扩展的良好特性,是高速、大容量路由器的理想选择。为了实现高速交换和控制上的方便,缓冲Crossbar处理的数据单元为固定长度的信元,一个信元通常取64字节长度,传输一个信元的时间间隔称为一个时隙。缓冲Crossbar交换结构中输入端调度算法负责调度本输入端V0Q队列中的信元,保证在一个时隙内每个输入端至多发送一个信元,被调度的信元被发送到对应的交叉点缓冲中;输出端调度算法负责调度交叉点缓冲中的信元,保证在一个时隙内每个输出端至多发送一个信元,被调度的信元被发送到输出链路上。近年来,在缓冲Crossbar交换结构的调度问题上取得了许多有价值的研究成果,提出了不少算法,这些算法共同的设计指标是1)高吞吐率和低时延;2)交叉点小缓存;3)低复杂度。输入和输出端都采用轮转(RR:Round-Robin)策略的RR-RR算法的实现复杂度仅低,但在非均匀流量下不能提供良好的吞吐率、时延和稳定性。仿真结果表明,输入端采用最长队列优先策略的LQF-RR(LongestQueueFirstRound-Robin)算法在非均匀流量下的性能明显好于RR-RR。有的研究者从交叉点缓存的状态出发考虑调度算法的设计,以降低实现的复杂度,如MCBF(MostCriticalBufferFirst),但是该算法没有考虑输入端VOQ的状态,当到达信元分布不均匀时,负载高的输入队列会出现不稳定现象,从而限制了最大吞吐率。仿真结果表明MCBF的稳定性比LQF-RR要差。还有的算法如RR-AF(Round-RobinwithAdaptable-Size)、FD-RR(FullDrainingRound-Robin)、QD-RR(Quantum-basedRound-Robin)和DRR(DifferentialRoundRobin),在RR-RR的基础上对轮转指针的更新策略(滞留规则)稍加改动,既保留RR-RR低复杂度的优势,又提高了吞吐率和时延性能,它们的基本思想都是通过为每个VOQ队列分配固定的调度份额来约束轮转指针的更新,然而其中的"差分因子"或者"份额"的取值都是仿真得到的经验值,在复杂的网络流量下无法得到可靠性验证。在上述算法中,LQF-RR具有最好的吞吐率和时延性能,在任何可接受流量下都能保持系统的稳定。原因是输入端调度充分利用了VOQ队列的长度信息,给较长的队列更多的被服务机会,使各VOQ的队列长度达到均衡,从而保证了非均匀流量下输入端的稳定。然而对于输出端调度而言,简单的RR策略仅考虑了交叉点中的信元状态,而没有考虑到相应VOQ队列的状态,相对于输入端积压信元较多的队列,也无法得到及时的服务,从一定程度上削弱了输入端队列均衡的效果。
发明内容为了解决这个问题,本发明提供一种基于队列长度均衡的调度算法MUIQF(MostUrgentInputQueueFirst),目的是使输入端最长的队列在输入端和输出端均能优先调度,使得整个队列系统保持均衡、稳定,从而获得更优的性能。通过仿真研究,该算法在各种流量模型下能够达到比LQF-RR算法更优的吞吐率、时延性能和稳定性。MUIQF算法的基本思想是将输入和输出调度的出发点统一到"使输入端VOQ队列长度均衡"上来。输入端调度器与LQF-RR的输入端调度器执行过程完全相同,即选择一个输入端中队长最长的V0Q优先调度;输出端调度时,一个输出端对应的所有交叉点并非拥有相同的优先级,而是优先调度自身队列长度与对应的VOQ长度之和最大的交叉点。算法每个时隙调度一次,调度结果配置Crossbar,并进行相关信元传输。本发明解决其技术问题所采用的技术方案是(1)分组分段和重组不同长度的IP分组在调度前划分成固定长度的"信元",在输出端重组后再发送到链路上去。(2)信元排队信元到达过程是一个离散时间随机过程,每个输入端每个时隙至多到达一个信元。输入队列采用V0Q排队技术,若输入端i到达一个目的端为j的信元,那么该信元被放入V0Qij队列中;若V0Qij队列被调度,队头信元将被存入交叉点缓冲CBij中。V0Qij在t时隙的队列长度表示为L(V0Qij,t);CBij在t时隙的队列长度表示为L(CBij,t);其中1《i,j《N。(3)符号与定义一个交叉点缓存的最大容量用C表示;t时隙时,若L(VOQij,t)>0且L(CBij,t)<C,称V0Qij在t时隙为EVOQ(EligibleVOQ);t时隙时,若L(CB^t)>0,称CBi,.为ECB(EligibleCrosspointBuffer);其中1《i,j《N。(4)MUIQF调度算法在MUIQF算法中,每个输入/输出端都有一个调度器,各设有1个优先指针,指向当前最高优先服务的队列。每次执行过程开始时所有输入/输出端为空闲状态。MUIQF输入/输出端调度器独立执行输入端调度输入端i的调度器指针《i《N),指向当前优先选择服务的V0Q。从指针Ii所指的队列开始,按照轮转规则,寻找第一个L(VOQij,t)(1《j《N)最大的EVOQ,假定找到为V0Qiq(l《q《N),把它的队头信元传送到CB^,指针^更新至(q+l)(模N)。如果找不到,指针保持不变。输出端调度输出端j的调度器指针0j(1《j《N),指向当前优先选择服务的CB。从优先指针Oj所指的队列开始,按照轮转规则,寻找第一个L(VOQij,t)+L(CBij,t)(1《i《N)最大的ECB,假定找到为CBpj(l《p《N),就把它的队头信元传送到输出端j,指针Oj更新至(P+1)(模N)。如果找不到,指针保持不变。下面结合附图和实施例对本发明进一步说明。图1是缓冲Crossbar交换结构的组成图;图2是输入端排队方法示意图;图3是本发明方法一实施例的执行过程。具体实施方式参考图l,缓冲Crossbar交换结构主要由输入队列(V0Q)、缓冲Crossbar、输入端调度器和输出端调度器组成。输入队列和交叉点缓冲用于存储暂时得不到调度输出的信元;Crossbar用于建立输入/输出端的连接,传输信元;输入/输出端调度器共同完成MUIQF调度算法。当输入端有分组到达时,首先进行一系列的分组处理,包括查表、报头更新、分类、分段,然后在输入队列中缓冲,等待输入端调度。为解决输入/输出端的竞争,每一个输入/输出端都设有一个调度器。在每个时隙,MUIQF算法根据VOQ和交叉点缓冲长度信息,每个输入调度器从其输入端口的N个VOQ队列中选出一个队头信元送往相应的交叉点;每个输出调度器从对应的N个交叉点缓存中选出一个输出。输入和输出端调度器之间不需信息的交互,分别独立执行。图2所示为输入端排队策略,采用了VOQ排队机制,主要是为了避免单个FIFO带来的HOL阻塞问题,输入端为每个输出端维护一个单独的FIFO的队列。在具体实现时,这些队列可以用一个单独的物理存储器,通过简单的存储器管理,划分成多个逻辑独立的队列。对于一个NxN的缓冲Crossbar,每个输入端总共有N个独立的FIFO,信元经过查表、分类存于不同的FIF0队列。图3所示为本发明方法一实施例的执行过程。本实施例展示了在一个交叉点缓冲容量C为1的4x4缓冲Crossbar中MUIQF算法一次迭代的过程,图中V0Q队列和交叉点缓冲中的一个黑点代表一个信元。初始时(t时隙)时输入/输出调度器指针、队列长度状态如图3(a)所示,调度之后(t+l时隙)状态如图3(b)所示。以输入端l和输出端l调度器执行情况为例说明。输入端调度器指针L初始值为2,由于V0Q13和V0Q14是EV0Q,并且L(V0Q14,t)〉L(V0Q^t),所以选择V0QM调度,指针更新为^更新为(4+1)(模4)=1;同样,输入端2、3、4也各自选择V0QM、V0Q『V0Qu调度,指针分别更新为1、2、2。输出端1对应的交叉点都有信元等待发送,则指针开始按照轮转规则,选择交叉点缓冲和对应输入队列长度之和最大的交叉点进行调度,即交叉点CBn,之后将(^更新为(1+1)(模4)=2;同样输出端2、4选择CB12、CB44调度,指针分别更新为2、1,输出端3没有信元调度,指针不5变。本领域人员在本发明方案基础上,以选取不同参数(信元大小、C、N等)或用于其它交换结构而做出的其它方案,亦在本发明保护的范围之内。权利要求一种用于缓冲Crossbar的队列长度均衡调度方法,包括排队技术和缓冲Crossbar调度算法,其特征在于(1)、不同长度的IP分组在调度前划分成固定长度的“信元”,在输出端重组后再发送到链路上去;信元输出到链路之前只在输入队列和交叉点缓冲存储;输入队列采用虚拟输出排队(VOQ)技术,若在时隙t输入端i到达一个目的端为j的信元,那么该信元被放入VOQij队列中;若VOQij队列被调度,队头信元将被存入交叉点缓冲CBij中;VOQij在t时隙的队列长度表示为L(VOQij,t);CBij在t时隙的队列长度表示为L(CBij,t);其中1≤i,j≤N;(2)、一个交叉点缓存的最大容量用C表示;t时隙时,若L(VOQij,t)>0且L(CBij,t)<C,称VOQij在t时隙为EVOQ(EligibleVOQ);t时隙时,若L(CBij,t)>0,称CBij为ECB(EligibleCrosspointBuffer);其中1≤i,j≤N;(3)、缓冲Crossbar调度算法称为MUIQF,在MUIQF算法中,每个输入/输出端都有一个调度器,各设有1个优先指针,指向当前最高优先服务的队列,每次执行过程开始时所有输入/输出端为空闲状态;MUIQF输入/输出端调度器独立执行输入端调度输入端i的调度器指针Ii(1≤i≤N),指向当前优先选择服务的VOQ;从指针Ii所指的队列开始,按照轮转规则,寻找第一个L(VOQij,t)(1≤j≤N)最大的EVOQ,假定找到为VOQiq(1≤q≤N),把它的队头信元传送到CBiq,指针Ii更新至(q+1)(模N);如果找不到,指针保持不变;输出端调度输出端j的调度器指针Oj(1≤j≤N),指向当前优先选择服务的CB;从优先指针Oj所指的队列开始,按照轮转规则,寻找第一个L(VOQij,t)+L(CBij,t)(1≤i≤N)最大的ECB,假定找到为CBpj(1≤p≤N),就把它的队头信元传送到输出端j,指针Oj更新至(p+1)(模N)。如果找不到,指针保持不变。2.如权利要求1所述的缓冲Crossbar调度方法,其特征在于分为输入调度和输出调度之间无需信息交互,二者相互独立,并行工作。3.如权利要求1所述的缓冲Crossbar调度方法,其特征在于每个时隙每个输入端和输出端至多调度一个信元。4.如权利要求1所述的缓冲Crossbar调度方法,其特征在于输入端调度时,优先调度该输入端中队长最长的VOQ;输出端调度时,优先调度交叉点自身队列长度与对应的VOQ长度之和最大的交叉点缓冲。5.如权利要求l所述的缓冲Crossbar调度方法,其特征在于Crossbar交换的信元大小为64字节。全文摘要本发明涉及了一种用于缓冲Crossbar的队列长度均衡调度方法。本发明属于宽带网络交换
技术领域
。本发明包括Crossbar输入端和输出端调度方法,其方法是,分组只在输入端队列和Crossbar交叉点缓冲存储;每个输入/输出端都有一个调度器,调度方法由这些调度器协同执行;输入端调度器负责将分组从输入端队列调度到相应交叉点缓冲,执行时从本输入端选择长度最长的队列进行调度,输出端调度器负责将分组从交叉点缓冲调度到输出链路上,执行时选择自身队列长度与对应的输入队列长度之和最大的交叉点进行调度;该调度方法给较长的队列更多的被服务机会,能够自适应均匀和非均匀等各种流量,使各个输入端队列长度尽量均衡,具有良好的稳定性、吞吐量和时延性能,适用于高速路由器/交换机。文档编号H04L12/56GK101695051SQ20091023391公开日2010年4月14日申请日期2009年10月21日优先权日2009年10月21日发明者彭来献,田畅,赵文栋,路欣申请人:中国人民解放军理工大学;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1