一种cicq结构交叉缓存队列均衡的分组调度算法

文档序号:9670711阅读:241来源:国知局
一种cicq结构交叉缓存队列均衡的分组调度算法
【技术领域】
[0001] 本发明属于高性能分组交换机控制技术领域。
【背景技术】 阳002] 到目前为止,人们对高性能的联合输入交叉点排队(CombinedI吨Utand 化OSSbar如eued,CIC曲结构的调度算法进行了大量研究,经典的主流算法分为基 于轮询RR(Round-Robin)和最大权重匹配算法两大类型。基于RR的算法主要有 RR-RR、DRR(DifferentialRound-Robin)、TFQA(TrackingFairQuotaAllocation)、 RR-LQD化ongest如eueDetecting)等。基于权重的最大匹配法主要包括W队长、交叉缓 存占用率、阻塞时间为权重的最大权重匹配法,包括LQF-RR化ongest如eueFirstand RR)、MCBF(MostCriticalBufferFirst)、SCBF(化ortestCrosspointBufferFirst)、 SBF-GWF(theShortestbufferFirstandtheGreatestWeighbufferFirst)、 HOPS(Hyb;ridOptimizationPacketScheduling)、MCQF(MostCritical如eueFirst)等。 RR及其改进算法实现简单,复杂度一般为0 (I),且大多数算法对可接入的均匀业务的通过 率接近100%,但分组平均时延较大。最大权重匹配法W复杂度增大为代价来获取分组时延 的下降。例如代表性的MCBF算法W特定输出和输入端口对应的crossbar中缓存的分组数 目为权重,充分利用crossbar资源,但没有考虑VOQ的队列长度。而近来提出的SBF-GWF 算法,在MCBF的基础上,进一步地,输出调度采用VOQ队长为权重,相比MCBF及其他算法, 时延性能有显著的提高。 阳00引在已有的CICQ调度算法的研究中,即使是性能突出的SBF-GWF算法,相比采用最 简单的FIFO(FirstInFirstOut)算法的输出排队(0曲结构,时延性能依然有较大差距。 根本原因在于OQ结构交换机能够工作于work-conserving状态,确保达到100 %的通过率, 从而使得时延下降。但是OQ结构较高的加速比使得其可扩展性受限,在大规模高速交换中 不具有实用价值。
[0004] 基于上述分析,不同于已有的算法,本发明W最大程度逼近交换机工作于work-conserving状态为核屯、,提出了CICQ结构中的一种新的分组输入调度算法,即交 叉缓存队列均衡(Crossbuffer如eueBalance,C地)算法。本发明提供的C地算法W 输出端口为匹配基准,选择交叉缓存(crossbuffer)队列长度最小的输出端口优先匹配, 尽量均衡所有输出端口的crossbuffer分组占用,W尽可能地使得交换机逼近工作于 work-conserving状态,在提高交换机通过率的同时,降低分组的平均时延。

【发明内容】
阳0化]本发明的目的是提供针对crossbuffer缓存容量为一个分组的CICQ结构交换机 最大程度工作于work-conserving状态,且具有良好的通过率和平均分组时延性能的分组 输入调度算法。为实现上述目的,本发明采用的技术路线为:
[0006] 第一步初始化端口集合;
[0007] 每个时隙开始时,令输出端口集合OP包含所有输出端口,输入端口集合IP包含所 有输入端口;
[0008] 第二步判断调度是否结束;
[0009] 如果OP为空,则该时隙输入调度结束;否则,进入第S步;
[0010] 第S步选择待匹配的输出端口; W11] 从指针PO指向的输出端口开始,在OP中选择第一个crossbar队列长度Bj最小 的输出端口j,并将PO指向其下一个输出端口的位置; 阳〇1引其中Bj表示输出端口j的crossbar队列长度,PO为输出端口的优先级指针,其在 整个调度初始时指向输出端口 1 ;
[0013] 第四步检验选择的输出端口是否有合适的输入端口与之匹配;
[0014] 如果EIPj与IP的交集肥IP为空,从OP中剔除输出端口j,回到第二步;
[0015] 其中CBij表示输入端口i和输出端口j对应的交叉缓存(crossbuffer),EIPj表 示满足VOQii不为空且CB。为空的所有输入端口i的集合;
[0016] 第五步为等待匹配的输出端口选择合适的输入端口与之匹配;
[0017] 从pi指向的输入端口开始,在肥IP冲选择第一个entryi最小的输入端口i,并 将Pi指向其下一个输入端口的位置,将VOQi,的头信元发送到CB。中;
[0018] 其中entryi表示输入端口i包含的非空VOQ队列数目,Pi为输入端口的优先级指 针,其在整个调度初始时指向输入端口 1 ;
[0019] 第六步剔除已匹配的输入端口,更新已匹配的输出端口的交叉缓存队列长度;
[0020] 将Bj加1,从IP中剔除输入端口i,更新EIP郝所有的肥IP,回到第S步。
[0021] 本发明的有益效果:本发明针对crossbuffer容量为单个分组的CICQ结构交换 机,提供了一种使交换机最大程度逼近work-conserving工作状态的输入调度算法,并在 输出端采用经典的LQF算法组合而成C地-LQF算法。仿真结果显示其能够有效提高交换机 通过率,同时对于实际应用中占绝大多数的非均匀业务,其分组平均时延性能方面更为接 近OQ结构。相比已有的有代表性的主流算法,本发明提供的算法在交换机通过率及分组平 均时延性能方面具有明显的优势。因此本发明提供的算法在大规模高性能CICQ交换机中 具有良好实用价值。
【附图说明】
[0022] 图1是联合输入交叉点排队(CIC曲结构交换机原理图;
[0023] 图2是C地算法的流程图;
[0024] 图3是32X32端口交换机均匀Bernoulli业务下分组平均时延对比; 阳0巧]图4是32X32端口交换机均匀0N/0FF业务下分组平均时延对比; 阳0%] 图5是32X32端口交换机非均匀Bernoulli业务下分组平均时延对比;
[0027] 图6是32X32端口交换机非均匀0N/0FF业务下分组平均时延对比。
【具体实施方式】
[0028] 图1给出了CICQ结构分组交换机的框图。本发明通过调度来均衡各输出交叉缓 存队列(图中加粗竖线表示)的队长,W尽可能的实现work-conserving,保证通过率的前 提下提高平均时延性能。
[0029] 第一步初始化;
[0030] 对端口集合进行初始化。每个时隙开始时,令输出端口集合OP包含所有输出端 口,输入端口集合IP包含所有输入端口。例如4X4端口某时隙开始时输入端VOQW及 crossbar中的缓存状态如下:
阳03引其中V0Q。代表输入端口i中去往输出端口j的分组排队的VOQ队列,0表示其为 空,1为非空;CBij代表输入输出端口对ij对应的交叉缓存(crossbuffer),同样0表示空, 1 表示非空。此时OP= (1,2, 3, 4},IP= (1,2, 3, 4};
[0033] 第二步判断调度是否结束;
[0034] 如果OP为空,则该时隙输入调度结束; 阳03引此时OP= {1,2, 3, 4},为非空,则继续进行第;步;
[0036] 第S步选择待匹配的输出端口;
[0037] 从PO指向的输出端口开始,在OP中选择第一个Bj最小的输出端口j,并将PO指 向其下一个输出端口的位置; 阳0測其中Bj表示输出端口j的crossbar队列长度,PO为输出端口的优先级指针,其在 整个调度初始时指向输出端口1;
[0039] 假设当前时隙PO指向输出端口 1,此时Bi,Bz,Bs,Ba分别为2, 1,2, 1,则选择j= 2,将PO指向输出端口 3 ; W40] 第四步检验选择的输出端口是否有合适的输入端口与之匹配; 阳OW如果EIPj与IP的交集肥IP为空,从OP中剔除输出端口j,回到第二步;
[0042] 令CBij表示输入端口i和输出端口j对应的交叉缓存(crossbuffer),上文中EIPj 表示满足VOQi,不为空且CB1,为空的所有输入端口i的集合;
[0043] 此时V0Q22,V0Q32,V0Q42不为空,CB12,CB22,CB42为空,故EIP2= (2,如,IP= {1,2, 3, 4},则WEIPz= 口,4},不为空,继续进行第五步;
[0044] 第五步为等待匹配的输出端口选择合适的输入端口与之匹配; W45] 从pi指向的输入端口开始,在肥IP冲选择第一个entryi最小的输入端口i,并 将Pi指向其下一个输入端口的位置,将VOQi,的头信元发送到CB。中;
[0046] 其中entryi表示输入端口i包含的非空VOQ队列数目,Pi为输入端口的优先级指 针,其在整个调度初始时指向输入端口1;
[0047] 假设当前时隙pi指向输入端口 1,此时肥化二|2, 4},entry2二3,entry4二4, 故选择i= 2,将Pi指向输入端口 3,将V0Q22的头信元发送到CB22中; W48] 第六步剔除已匹配的输入端口,更新已匹配的输出端口的交叉缓存队列长度; W例将Bj加1,从IP中剔除输入端口i,更新EIP郝所有的肥IP,回到第S步;
[0050] 本例中将Bz加1后值变为2,从IP中剔除输入端口 2,更新后IP= (1,3, 4},EIPz ={4},肥IPz= {4}肥IP4由原来的{2,4}变为{4},其它不变。
[0051] 图3到图6分别给出了 32X32端口交换机中均匀和非均匀去向分布Bernoulli和 0N/0FF业务下,由本发明算法提供的C地-LQF算法与SBF-GWF算法、OQ结构的FIFO算法的 分组平均时延的对比,其中SBF-GWF为上文提到过的现有CICQ单分组crossbuffer结构中 性能较为突出的算法。仿真结果显示在均匀业务下,=种算法性能相当。而在非均匀业务 尤其是高负载情况下,C地-LQF算法的平均时延性能更为接近OQ结构,相比SBF-GWF算法 具有突出的优势。
【主权项】
1. 一种CICQ结构交换机分组输入调度算法,其特征是: 第一步初始化端口集合; 每个时隙开始时,令输出端口集合0P包含所有输出端口,输入端口集合IP包含所有输 入端口; 第二步判断调度是否结束; 如果0P为空,则该时隙输入调度结束; 第三步选择待匹配的输出端口; 从P〇指向的输出端口开始,在0P中选择第一个Bj最小的输出端口j,并将po指向其 下一个输出端口的位置; 其中Bj表示输出端口j的crossbar队列长度,po为输出端口的优先级指针,其在整个 调度初始时指向输出端口 1 ; 第四步检验选择的输出端口是否有合适的输入端口与之匹配; 如果ΕΠγ^IP的交集WEIPj为空,从0P中剔除输出端口j,回到第二步; 令CBy表示输入端口i和输出端口j对应的交叉缓存(crossbuffer),上文中EIP。表 示满足VOQ^F为空且CB^为空的所有输入端口i的集合; 第五步为等待匹配的输出端口选择合适的输入端口与之匹配; 从pi指向的输入端口开始,在WEIP.j中选择第一个entry;最小的输入端口i,并将pi指向其下一个输入端口的位置,将VOQi,的头信元发送到CBi,中; 其中entryi表示输入端口i包含的非空V0Q队列数目,pi为输入端口的优先级指针, 其在整个调度初始时指向输入端口 1 ; 第六步剔除已匹配的输入端口,更新已匹配的输出端口的交叉缓存队列长度; 将1,从IP中剔除输入端口i,更新EIP和所有的WEIP,回到第三步。
【专利摘要】本发明公布了一种CICQ结构交叉缓存队列均衡的分组调度算法。本发明算法以实现或最大程度逼近交换机工作于work-conserving状态为核心,以输出端口为匹配基准,选择交叉缓存队列长度最小的输出端口优先匹配,尽量均衡所有输出端口的交叉缓存分组占用,以尽可能地逼近实现work-conserving,在提高通过率的同时降低分组的平均时延。仿真结果对比显示,对于交叉缓存crossbuffer为一个分组的CICQ交换机而言,本发明算法在分组平均时延方面优于已有的主流算法,在大规模高性能CICQ交换机中具有良好实用价值。
【IPC分类】H04L12/863
【公开号】CN105429898
【申请号】CN201510733429
【发明人】熊庆旭, 张元昊
【申请人】北京航空航天大学
【公开日】2016年3月23日
【申请日】2015年11月2日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1