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

技术编号:4245535 阅读:322 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及了一种用于缓冲Crossbar的队列长度均衡调度方法。本发明专利技术属于宽带网络交换技术领域。本发明专利技术包括Crossbar输入端和输出端调度方法,其方法是,分组只在输入端队列和Crossbar交叉点缓冲存储;每个输入/输出端都有一个调度器,调度方法由这些调度器协同执行;输入端调度器负责将分组从输入端队列调度到相应交叉点缓冲,执行时从本输入端选择长度最长的队列进行调度,输出端调度器负责将分组从交叉点缓冲调度到输出链路上,执行时选择自身队列长度与对应的输入队列长度之和最大的交叉点进行调度;该调度方法给较长的队列更多的被服务机会,能够自适应均匀和非均匀等各种流量,使各个输入端队列长度尽量均衡,具有良好的稳定性、吞吐量和时延性能,适用于高速路由器/交换机。

【技术实现步骤摘要】

本专利技术涉及,它以缓冲Crossbar交换结构为背景,在输入/输出端调度时充分利用了输入队列和交叉点缓冲长度信息,从而使输入端最长的队列在输入端和输出端均能优先调度,使得整个队列系统保持均衡与稳定,从而获得更优的性能,本专利技术主要适用于高速路由器/交换机。
技术介绍
当前Internet的规模和业务量增长迅速,作为网络核心节点的路由器/交换机逐渐成为限制网络速率和容量的瓶颈。高性能的交换结构是路由器的核心部件,其性能却要受到调度算法的制约。调度算法主要是解决数据输入/输出竞争,避免发送冲突,达到合理利用交换结构资源,提高吞吐量和减少时延的目的。可以说,交换结构及其调度算法的优劣直接影响整个路由器的端口速率、容量和时延等性能。 传统的中、低速路由器大多采用输出排队的交换网络(包括共享缓存),它们虽然具有良好的吞吐量和时延性能,但是要求交换结构的速率是链路速率的N(N指输入端口数目)倍,而在因特网干线中链路速率往往很高(如0C-192、10GE),交换网络难以达到数十Gbps的速率,造成系统可扩展性差,已无法满足Internet日益发展的需求。 基于输入排队的Crossbar是一种快速的定长交换网络,只要求交换网络的速率与链路速率相同,并且Crossbar具有简单易实现、无阻塞等优点,被广泛应用于高速路由器/交换机的设计中。在这种交换结构中,分组只在输入端存储,经过调度通过crossbar输出。输入队列为了避免由于HOL阻塞(head of line blocking)而带来的交换网络吞吐量下降的问题,一般采用虚拟输出排队技术(VOQ:virtual output queueing)来消除HOL阻塞,即每个输入端为每一个输出端维护一个单独的FIFO (first in first out)队列,我们统称之为V0Q队列。然而Crossbar需要集中控制,当端口数目增加时,调度算法可扩展性仍然受到很大地限制。 为解决可扩展性问题,近年来,缓冲Crossbar交换结构因其良好的分布并行调度特性,逐渐成为交换领域的研究热点。所谓缓冲Crossbar,就是在Crossbar的交叉点植入少量缓冲,这样能够将输入端与输出端的数据传输竞争隔离开来,调度算法可以在输入/输出端独立并行工作,不需要集中控制。依据目前的技术条件,交叉点缓存容量比较小,仍然需要与输入排队结合使用,输入队列仍然采用VOQ排队技术。与纯Crossbar的高速交换结构相比,缓冲Crossbar交换结构具有分布式调度、易扩展的良好特性,是高速、大容量路由器的理想选择。 为了实现高速交换和控制上的方便,缓冲Crossbar处理的数据单元为固定长度的信元,一个信元通常取64字节长度,传输一个信元的时间间隔称为一个时隙。缓冲Crossbar交换结构中输入端调度算法负责调度本输入端V0Q队列中的信元,保证在一个时隙内每个输入端至多发送一个信元,被调度的信元被发送到对应的交叉点缓冲中;输出端调度算法负责调度交叉点缓冲中的信元,保证在一个时隙内每个输出端至多发送一个信元,被调度的信元被发送到输出链路上。 近年来,在缓冲Crossbar交换结构的调度问题上取得了许多有价值的研究成果,提出了不少算法,这些算法共同的设计指标是1)高吞吐率和低时延;2)交叉点小缓存;3)低复杂度。输入和输出端都采用轮转(RR :Round-Robin)策略的RR-RR算法的实现复杂度 仅低,但在非均匀流量下不能提供良好的吞吐率、时延和稳定性。仿真结果表明,输入端采 用最长队列优先策略的LQF-RR(Longest Queue First Round-Robin)算法在非均匀流量下 的性能明显好于RR-RR。有的研究者从交叉点缓存的状态出发考虑调度算法的设计,以降 低实现的复杂度,如MCBF(Most Critical Buffer First),但是该算法没有考虑输入端VOQ 的状态,当到达信元分布不均匀时,负载高的输入队列会出现不稳定现象,从而限制了最大 吞吐率。仿真结果表明MCBF的稳定性比LQF-RR要差。还有的算法如RR-AF(Round-Robin withAdaptable-Size) 、 FD-RR(Full Draining Round-Robin) 、 QD-RR(Quantum-based Round-Robin)和DRR(Differential Round Robin),在RR-RR的基础上对轮转指针的更新 策略(滞留规则)稍加改动,既保留RR-RR低复杂度的优势,又提高了吞吐率和时延性能, 它们的基本思想都是通过为每个VOQ队列分配固定的调度份额来约束轮转指针的更新,然 而其中的差分因子或者份额的取值都是仿真得到的经验值,在复杂的网络流量下无 法得到可靠性验证。 在上述算法中,LQF-RR具有最好的吞吐率和时延性能,在任何可接受流量下都能 保持系统的稳定。原因是输入端调度充分利用了 VOQ队列的长度信息,给较长的队列更多 的被服务机会,使各VOQ的队列长度达到均衡,从而保证了非均匀流量下输入端的稳定。然 而对于输出端调度而言,简单的RR策略仅考虑了交叉点中的信元状态,而没有考虑到相应 VOQ队列的状态,相对于输入端积压信元较多的队列,也无法得到及时的服务,从一定程度上削弱了输入端队列均衡的效果。
技术实现思路
为了解决这个问题,本专利技术提供一种基于队列长度均衡的调度算法 MUIQF(MostUrgent Input Queue First),目的是使输入端最长的队列在输入端和输出端均 能优先调度,使得整个队列系统保持均衡、稳定,从而获得更优的性能。通过仿真研究,该算 法在各种流量模型下能够达到比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(Eligible VOQ) ;t时隙时,若L(CB^ t) > 0, 称CBi,.为ECB(Eligible Crosspoint Bu本文档来自技高网
...

【技术保护点】
一种用于缓冲Crossbar的队列长度均衡调度方法,包括排队技术和缓冲Crossbar调度算法,其特征在于:    (1)、不同长度的IP分组在调度前划分成固定长度的“信元”,在输出端重组后再发送到链路上去;信元输出到链路之前只在输入队列和交叉点缓冲存储;输入队列采用虚拟输出排队(VOQ)技术,若在时隙t输入端i到达一个目的端为j的信元,那么该信元被放入VOQ↓[ij]队列中;若VOQ↓[ij]队列被调度,队头信元将被存入交叉点缓冲CB↓[ij]中;VOQ↓[ij]在t时隙的队列长度表示为L(VOQ↓[ij],t);CB↓[ij]在t时隙的队列长度表示为L(CB↓[ij],t);其中1≤i,j≤N;    (2)、一个交叉点缓存的最大容量用C表示;t时隙时,若L(VOQ↓[ij],t)>0且L(CB↓[ij],t)<C,称VOQ↓[ij]在t时隙为EVOQ(Eligible  VOQ);t时隙时,若L(CB↓[ij],t)>0,称CB↓[ij]为ECB(EligibleCrosspoint  Buffer);其中1≤i,j≤N;    (3)、缓冲Crossbar调度算法称为MUIQF,在MUIQF算法中,每个输入/输出端都有一个调度器,各设有1个优先指针,指向当前最高优先服务的队列,每次执行过程开始时所有输入/输出端为空闲状态;MUIQF输入/输出端调度器独立执行:    输入端调度:输入端i的调度器指针I↓[i](1≤i≤N),指向当前优先选择服务的VOQ;从指针I↓[i]所指的队列开始,按照轮转规则,寻找第一个L(VOQ↓[ij],t)(1≤j≤N)最大的EVOQ,假定找到为VOQ↓[iq](1≤q≤N),把它的队头信元传送到CB↓[iq],指针I↓[i]更新至(q+1)(模N);如果找不到,指针保持不变;    输出端调度:输出端j的调度器指针O↓[j](1≤j≤N),指向当前优先选择服务的CB;从优先指针O↓[j]所指的队列开始,按照轮转规则,寻找第一个L(VOQ↓[ij],t)+L(CB↓[ij],t)(1≤i≤N)最大的ECB,假定找到为CB↓[pj](1≤p≤N),就把它的队头信元传送到输出端j,指针O↓[j]更新至(p+1)(模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(Eligible VOQ);t时隙时,若L(CBij,t)>0,称CBij为ECB(EligibleCrosspoint Buffer);其中1≤i,j≤N;(3)、缓冲Crossbar调度算法称为MUIQF,在MUIQF算法中,每个输入/输出端都有一个调度器,各设有1个优先指针,指向当前最高优先服务的队列,每次执行过程开始时所有输入/输出端为空闲状态;MUIQF输入/输出端调度器独立执行输入端调度输入端i的调度器指针Ii(1≤i≤N)...

【专利技术属性】
技术研发人员:彭来献赵文栋路欣田畅
申请(专利权)人:中国人民解放军理工大学
类型:发明
国别省市:84[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1