CN106357555A - 一种基于业务均衡的cicq结构分组调度算法 - Google Patents
一种基于业务均衡的cicq结构分组调度算法 Download PDFInfo
- Publication number
- CN106357555A CN106357555A CN201610851206.4A CN201610851206A CN106357555A CN 106357555 A CN106357555 A CN 106357555A CN 201610851206 A CN201610851206 A CN 201610851206A CN 106357555 A CN106357555 A CN 106357555A
- Authority
- CN
- China
- Prior art keywords
- input port
- packet
- matrix
- output port
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Abstract
本发明公布了一种基于业务均衡的CICQ结构分组调度算法,属于高性能分组交换机控制技术领域。本发明算法以最大程度使得交换机工作于work‑conserving状态为核心,在分组到达之后进入输入端口之前进行业务均衡。基于使得交换机工作于work‑conserving状态的需要,调整新到达分组进入的输入端口,在输入调度中采用空交叉缓存队列优先的策略,以尽可能实现work‑conserving,在保证通过率的同时降低平均分组时延。对于交叉缓存为一个分组的CICQ交换机的仿真结果显示,本发明算法在通过率和平均分组时延方面优于已有的主流算法,在大规模高性能CICQ交换机中具有良好实用价值。
Description
技术领域
本发明属于高性能分组交换机控制技术领域。
背景技术
到目前为止,人们对高性能联合输入交叉节点排队(Combined Input-Crosspoint-Queued,CICQ)结构的分组调度进行了大量研究,主流算法分为基于轮询RR(Round-Robin)的算法和最大权重匹配法。基于RR的算法主要有RR-RR、DRR(DifferentialRound-Robin)、TFQA(Tracking Fair Quota Allocation)、RR-LQD(Longest QueueDetecting)等。基于权重的最大匹配法主要包括以队长、交叉缓存占用率、阻塞时间为权重的最大权重匹配法,例如LQF-RR(Longest Queue First and RR)、MCBF(Most CriticalBuffer First)、SCBF(Shortest Crosspoint Buffer First)、SBF-GWF(the Shortestbuffer First and the Greatest Weight buffer First)、HOPS(Hybrid OptimizationPacket Scheduling)、MCQF(Most Critical Queue First)等。RR及其改进算法实现简单,复杂度一般为O(1),且大多数算法对可接入均匀业务可获得近100%的通过率,但平均分组时延较大。最大权重匹配法以复杂度增大为代价来获取分组时延的下降。例如代表性的MCBF算法以特定输出和输入端口对应的crossbar中缓存的分组数目为权重,充分利用crossbar资源,但没有考虑VOQ的队列长度。而近来提出的SBF-GWF算法,在MCBF的基础上,进一步地,输出调度采用VOQ队长为权重,相比MCBF及其它算法,时延性能有显著提高。
在已有的CICQ调度算法中,即使是性能突出的SBF-GWF算法,相比采用最简单的FIFO(First In First Out)算法的输出排队(OQ)结构,其时延性能依然有较大差距。根本原因在于OQ结构交换机能够工作于work-conserving状态,确保获得100%的通过率,从而使得时延下降。但是OQ结构的加速比使得其可扩展性受限,在大规模高速交换中不具有实用价值。
基于这个思路,不同于已有的算法,本发明以最大程度实现交换机工作于work-conserving状态为核心,提出了一种业务均衡的方法,并基于业务均衡提出了CICQ结构中的一种新的分组调度算法,即基于业务均衡的空交叉缓存队列优先(Empty-crossbuffer-queue First with Traffic Balance,EFTB)算法。本发明提供的EFTB算法整体考虑业务均衡和输入调度,利用业务均衡调整到达分组进入到相应的输入端口,为输入调度实现交换机逼近work-conserving状态提供便利,从而降低平均分组时延。
发明内容
本发明的目的是针对crossbuffer缓存容量为一个分组的CICQ结构交换机,通过将业务均衡与输入调度相结合,提供使交换机最大程度工作于work-conserving状态并具有良好的通过率和平均分组时延性能的分组调度算法。为实现上述目的,本发明采用的技术路线为:
第一步初始化
在时隙开始时根据业务到达矩阵、VOQ状态矩阵、交叉缓存状态矩阵,计算得到下面调度过程中需要使用到的输入和输出端口集合。
第二步work-conserving匹配
对于无业务到达、有传输需求、且交叉缓存队列为空的输出端口集合进行work-conserving匹配。对于一个VOQ队列,若其非空且其对应的交叉缓存为空,则称其为可调度VOQ队列。在work-conserving匹配中,优先选择对应可调度VOQ队列数最少的输出端口进行匹配。匹配原则是优先选择无业务到达且可调度的非空队列数最少的输入端口与该输出端口进行匹配。后续的端口匹配中可调度队列的计算将不包括已匹配的输出端口和输入端口对应的所有VOQ队列。
第三步加入业务均衡的work-conserving匹配
对于有业务到达、有传输需求、且交叉缓存队列为空的输出端口集合进行加入业务均衡的work-conserving匹配。与第一步work-conserving匹配相似,优先选择可调度VOQ队列数最少的输出端口,选择有业务到达、可调度、非空VOQ队列数最少的输入端口与其匹配。不同的是,如果找不到这样的输入端口与所选输出端口进分组行匹配,则选择去往该输出端口有业务到达的队长最长的VOQ,将新到达的原本进入该VOQ队列的分组调整至其它输入端口去往该输出端口队长最短的VOQ队列,并将该输出端口与存入新分组的输入端口匹配。一次输入调度中,每个输入端口最多只有一次调离分组以及接受分组的机会。
第四步冗余匹配
在第一和第二两步work-conserving匹配结束后,对于每个尚未匹配的输入端口,选择去往该输出端口的非空VOQ队列数最小的输出端口与其匹配。
第五步业务均衡的补全
对于同时包含在业务均衡中被调整过和未被调整过的新到达分组的输入端口集合,从中任选一个输入端口并将其从该集合中剔除,将选出的输入端口未被调整过的新到达分组调整至任意不包含新到达分组的输入端口。重复上述操作直至该输入端口集合为空。
本发明的有益效果:本发明针对crossbuffer容量为单个分组的CICQ结构交换机,提供了一种使交换机最大程度工作于work-conserving状态的输入调度算法,在输出端采用经典的LQF算法,两者组合得到EFTB-LQF算法。仿真结果显示其能够有效提高交换机通过率,同时对于常见的均匀/非均匀,Bernoulli/ON-OFF业务,其具有与OQ结构几乎相同的平均分组时延。相比已有的代表性的主流算法,本发明提供的算法在交换机通过率及平均分组时延性能方面具有明显的优势。因此本发明提供的算法在大规模高性能CICQ交换机中具有良好实用价值。
附图说明
图1是联合输入交叉节点排队(CICQ)结构交换机框图;
图2是加入业务均衡模块的联合输入交叉节点排队(CICQ)结构交换机框图;
图3是work-conserving匹配流程图;
图4是加入业务均衡的work-conserving匹配流程图;
图5是冗余匹配流程图;
图6是EFTB算法总流程图。
具体实施方式
图1给出了CICQ结构分组交换机框图,图2给出了本发明提出的带有业务均衡模块的CICQ结构框图。本发明根据输入调度的work-conserving需求,通过业务均衡来调整新到达分组进入的输入端口,在输入调度中采用空交叉缓存队列优先的策略,以尽可能实现交换机工作于work-conserving状态,在保证通过率的同时降低平均分组时延。
第一步初始化
首先,时隙开始时根据交换机的业务到达矩阵A、VOQ队列状态矩阵Q、交叉缓存状态矩阵X,按照下述方法计算出相应的输出和输入端口集合以及可调度状态矩阵。
假设某8×8交换机(即N=8),时隙开始时矩阵AN×N={aij}N×N,QN×N={qij}N×N,XN×N={xij}N×N如下:
其中aij=1表示输入端口i本时隙有去往输出端口j的新分组到达,否则aij=0;qij=1表示其对应的VOQ非空,否则qij=0;xij=1表示其对应的交叉缓存非空,否则xij=0。
然后,根据以上三个矩阵初始化相应的输入输出端口集合如下:
OA={1,2,3,4,5},ON={6,7,8},Y={2,3,4,5,6,7},YA={2,3,4,5},YN={6,7},I={1,2,3,4,5,6,7,8}
其中OA为输出端口j的集合,OA={1≤j≤N|本时隙有去往输出端口j的分组进入交换机,即ON为OA在所有输出端口集合中的补集;Y为输出端口j的集合,Y={1≤j≤N|Bj=0且YA为输出端口j的集合,YA=Y∩OA;YN为输出端口j的集合,YN=Y∩ON;I为未被匹配的输入端口i的集合。
根据上述输出端口的集合,初始化与其相对应的可调度状态矩阵如下:
其中矩阵EN×N={eij}N×N,为输入调度的可调度状态矩阵,若xij=0且qij=1则eij=1;否则eij=0。矩阵EY、EN、EA分别为集合Y、YN、YA中的输出端口在矩阵E中对应的列组成的子矩阵。
最后,初始化业务均衡矩阵D和输入调度矩阵S为零阵。
第二步集合YN的work-conserving匹配
YN={6,7},cE 6=3>cE 7=2,则选择输出端口7先进行匹配。rN 2=1<rN 3=2,故选择输入端口2与其匹配,置s27=1,在I中剔除输入端口2。同样地,选择输入端口1与输出端口6进行匹配,置s16=1,在I中剔除输入端口1。至此集合YN的work-conserving匹配结束。
其中为输出端口j的剩余可调度队列数,即 为输入端口i的无业务输出端口可调度队列数,即
第三步集合YA加入业务均衡的work-conserving匹配
YA={2,3,4,5},其中cE 5=2最小,故选择输出端口5先进行匹配。rA 5=2<rA 4=3,故选择输入端口5与其匹配,置s55=1,在I中剔除输入端口5。同样地,置s44=1,s33=1,在I中剔除输入端口3和4。此时YA中还剩输出端口2尚未匹配,但输入端口1、2、3均已被匹配,无法在I中找到未被匹配的输入端口与输出端口2匹配。而a22=1,则将输入端口2的属于V22的新到达分组调整至输入端口6的V62中,置d62=1,s62=1,在I中剔除输入端口6。至此集合YA加入业务均衡的work-conserving匹配结束。
其中ri A为输入端口i的有业务输出端口可调度队列数,即Vij为输入端口i和输出端口j对应的虚拟输出队列(VOQ)。
第四步冗余匹配
此时I={7,8},即还剩输入端口7、8尚未匹配。输入端口7无业务不予匹配,对于输入端口8,由于cQ 1=3>cQ 8=2,则选择输出端口8与输入端口8匹配,置s88=1。
其中为输出端口j的非空VOQ队列数,即
第五步业务均衡的补全
之前已确定d62=1,由于输入端口6同时包含了未被调整的去往输出端口1的新到达分组以及由输入端口2调整而来的去往输出端口2的新到达分组,需要将其未被调整的新到达分组调整至不包含新到达分组的输入端口2或7,这里任意选择输入端口2,置d26=1。输入端口1,3,4,5,8的新到达分组均未被调整,则置d11,d33,d44,d55,d88分别为1。输入端口7无新到达分组且未接收其他端口的新到达分组,为补全矩阵D为置换矩阵,置d77为1。
最终业务均衡矩阵为:
均衡后的业务到达矩阵和VOQ队列状态矩阵分别为:
输入调度矩阵和输入调度后的交叉缓存状态矩阵分别为:
Claims (1)
1.一种基于业务均衡的CICQ结构分组调度算法,其特征是:
第1步初始化基本变量:
令Vij为输入端口i和输出端口j对应的虚拟输出队列(VOQ),N为交换机端口数,Xij为输入端口i和输出端口j对应的交叉缓存;初始化xij,若Xij为空置xij=0,否则xij=1,得到交叉缓存的状态矩阵XN×N={xij}N×N;令lij表示Vij的队长,得到VOQ队长矩阵LN×N={lij}N×N;令所有去往输出端口j的交叉缓存中排队分组的队长之和初始化qij,若lij=0则令qij=0,否则qij=1,得到VOQ的队列状态矩阵QN×N={qij}N×N;初始化aij,若本时隙输入端口i有去往输出端口j的分组到达,则置aij=1,否则aij=0,得到业务到达矩阵AN×N={aij}N×N;定义输出端口j相应的集合Y、OA、ON分别为Y={1≤j≤N|Bj=0且},OA={1≤j≤N|本时隙有去往输出端口j的分组进入交换机,即},以及ON为OA在所有输出端口集合中的补集;初始化eij,若xij=0且qij=1则令eij=1,否则eij=0,则输入调度的可调度状态矩阵EN×N={eij}N×N;定义C为有业务到达,且新到达分组未被业务均衡调整过的输入端口i的集合,R为未接收过由业务均衡调整而来的分组的输入端口i的集合,I为未匹配的输入端口i的集合;定义矩阵DN×N={dij}N×N为业务均衡矩阵,其为一置换矩阵,dij=1表示将本时隙输入端口j到达的分组调整至输入端口i对应的VOQ进行缓存,否则dij=0;定义矩阵SN×N={sij}N×N为输入调度裁决中得到的输入调度矩阵,sij=1表示本时隙将Vij中的分组调度至Xij中,否则sij=0;
第2步输出端口j的集合YN的work-conserving匹配,其中YN=Y∩ON:
(2.1)若YN为空,第2步结束,进到第3步;
(2.2)令为输出端口j剩余的可调度队列数,即从YN中选择最小的输出端口j,若转到(2.5);
(2.3)令ri N为输入端口i的无新业务空交叉缓存队列输出端口可调度队列数,即若I中不存在满足eij=1的输入端口i,则转到(2.5);否则从I中所有满足eij=1的输入端口中选择ri N最小的输入端口i,置sij=1;
(2.4)从I中剔除输入端口i,并对所有的输出端口j*∈Y,更新
(2.5)从YN中剔除输出端口j,并对所有的输入端口i*∈I,更新回到(2.1);
第3步输出端口j的集合Y1的加入业务均衡的work-conserving匹配,其中YA=Y∩OA:
(3.1)若YA为空,第3步结束,进到第4步;
(3.2)从YA中选择最小的输出端口j;
(3.3)令ri A为输入端口i的有新业务空交叉缓存队列输出端口可调度队列数,即若I中不存在满足eij=1的输入端口i,转到(3.5);否则从I中所有满足eij=1的输入端口中,选择ri A最小的输入端口i;
(3.4)判断Vij的头分组是否是本时隙新到达的分组,若是,则从C和R中均剔除输入端口i,令矩阵D中的元素dii为1;否则不做任何操作;不论上述判断结果如何,转到(3.6);
(3.5)从I中选择lij最小的输入端口i,从C中满足ai’j=1的输入端口中选择li’j最大的输入端口i’,置矩阵D中的元素dii’为1,从R中剔除输入端口i,从C中剔除输入端口i’;
(3.6)令sij=1;从I中剔除输入端口i,从YA中剔除输出端口j,并对所有的输入端口i*∈I,更新回到(3.1);
第4步I的冗余匹配:
(4.1)若I为空,第4步结束,进到第5步;
(4.2)令为输出端口j的非空VOQ队列数,即从I中任选一输入端口i,如果不存在满足eij=1的输出端口j,则转到(4.4);否则在所有满足eij=1的输出端口中选择最小的输出端口j;
(4.3)令sij=1,判断Vij的头分组是否是本时隙新到达的分组,若是,则从C和R中均剔除输入端口i,置矩阵D中的元素dii为1;否则不做任何操作;
(4.4)从I中剔除输入端口i,回到(4.1);
第5步在矩阵D中任意挑选一个满足的元素dij,将其置为1,重复此过程直至没有这样的dij,至此矩阵D为一置换矩阵;
第6步按照业务均衡矩阵D对到达业务进行业务均衡,然后根据输入调度矩阵S进行输入调度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610851206.4A CN106357555B (zh) | 2016-09-26 | 2016-09-26 | 一种基于业务均衡的cicq结构分组调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610851206.4A CN106357555B (zh) | 2016-09-26 | 2016-09-26 | 一种基于业务均衡的cicq结构分组调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106357555A true CN106357555A (zh) | 2017-01-25 |
CN106357555B CN106357555B (zh) | 2019-04-02 |
Family
ID=57859946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610851206.4A Active CN106357555B (zh) | 2016-09-26 | 2016-09-26 | 一种基于业务均衡的cicq结构分组调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106357555B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556296A (zh) * | 2021-05-27 | 2021-10-26 | 阿里巴巴新加坡控股有限公司 | 调度方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478483A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 交换设备内实现分组调度的方法及交换设备 |
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
CN101695051A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
CN101695052A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种交叉点小缓存的高性能crossbar调度方法 |
US8737414B2 (en) * | 2009-12-10 | 2014-05-27 | Polytechnic Institute Of New York University | Scheduling, including distributed scheduling, for a buffered crossbar switch |
CN103825845A (zh) * | 2014-03-17 | 2014-05-28 | 北京航空航天大学 | 基于矩阵分解的可重配置voq结构交换机分组调度算法 |
CN105429898A (zh) * | 2015-11-02 | 2016-03-23 | 北京航空航天大学 | 一种cicq结构交叉缓存队列均衡的分组调度算法 |
-
2016
- 2016-09-26 CN CN201610851206.4A patent/CN106357555B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101478483A (zh) * | 2009-01-08 | 2009-07-08 | 中国人民解放军信息工程大学 | 交换设备内实现分组调度的方法及交换设备 |
CN101527686A (zh) * | 2009-04-07 | 2009-09-09 | 华为技术有限公司 | 一种数据交换方法和设备 |
CN101695051A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
CN101695052A (zh) * | 2009-10-21 | 2010-04-14 | 中国人民解放军理工大学 | 一种交叉点小缓存的高性能crossbar调度方法 |
US8737414B2 (en) * | 2009-12-10 | 2014-05-27 | Polytechnic Institute Of New York University | Scheduling, including distributed scheduling, for a buffered crossbar switch |
CN103825845A (zh) * | 2014-03-17 | 2014-05-28 | 北京航空航天大学 | 基于矩阵分解的可重配置voq结构交换机分组调度算法 |
CN105429898A (zh) * | 2015-11-02 | 2016-03-23 | 北京航空航天大学 | 一种cicq结构交叉缓存队列均衡的分组调度算法 |
Non-Patent Citations (3)
Title |
---|
XIONG Q X.: "Research om packet scheduling in input-queued switches", 《JORNAL ON COMMUNICATIONS 2005》 * |
张元昊: "CICQ结构中逼近work-conserving的分组调度算法", 《北京航空航天大学学报》 * |
梁佳诚,熊庆旭,闫付龙,萧翰,张元昊: "基于Work-Conserving的CICQ结构中单组波分组调度算法", 《北京航空航天大学学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556296A (zh) * | 2021-05-27 | 2021-10-26 | 阿里巴巴新加坡控股有限公司 | 调度方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106357555B (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486237B (zh) | clos网络中无乱序分组路由及调度方法 | |
CN100420241C (zh) | 实现信息交换的系统及方法和调度算法 | |
Iyer et al. | Analysis of a packet switch with memories running slower than the line-rate | |
US6643293B1 (en) | Virtual connection shaping with hierarchial arbitration | |
CN105429898B (zh) | 一种cicq结构交叉缓存队列均衡的分组调度算法 | |
EP0901307A2 (en) | Virtual path shaping | |
US20060285548A1 (en) | Matching process | |
CN101695051A (zh) | 一种用于缓冲Crossbar的队列长度均衡调度方法 | |
CN102752192B (zh) | 基于SCTP的ForCES传输映射层的带宽分配方法 | |
CN101404616A (zh) | 一种负载均衡分组交换结构及其构造方法 | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
CN106789738B (zh) | 一种geo信道环境下的星载cicq结构交换机单组播混合业务分组调度方法 | |
CN101388847A (zh) | 一种负载均衡电路式分组交换结构及其构建方法 | |
CN106357555A (zh) | 一种基于业务均衡的cicq结构分组调度算法 | |
CN106453134B (zh) | 一种基于虚拟队列长度协调单组播竞争的cicq结构交换机分组调度方法 | |
CN101931585A (zh) | 一种信元保序的方法及装置 | |
US6807171B1 (en) | Virtual path aggregation | |
CN103326962B (zh) | 多样化服务交换方法 | |
CN101014012B (zh) | Benes网络及其变长分组分发方法及设备 | |
CN100461759C (zh) | 一种支持均匀交换的路由器交换结构及服务质量保证方法 | |
CN106603145B (zh) | 一种考虑信道状态的geo卫星星载cicq结构交换机分组调度方法 | |
CN101964747A (zh) | 基于前置反馈的两级交换结构工作方法 | |
CN106453137B (zh) | 一种以缓解HOL Blocking为目标的动态组播入队方法 | |
Prasanth et al. | Prioritized queue with round robin scheduler for buffered crossbar switches | |
Gao et al. | SBF-GWF scheduling for combined input-crosspoint-queued (CICQ) switches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |