CN101695051A - 一种用于缓冲Crossbar的队列长度均衡调度方法 - Google Patents
一种用于缓冲Crossbar的队列长度均衡调度方法 Download PDFInfo
- Publication number
- CN101695051A CN101695051A CN200910233915A CN200910233915A CN101695051A CN 101695051 A CN101695051 A CN 101695051A CN 200910233915 A CN200910233915 A CN 200910233915A CN 200910233915 A CN200910233915 A CN 200910233915A CN 101695051 A CN101695051 A CN 101695051A
- Authority
- CN
- China
- Prior art keywords
- voq
- input
- crossbar
- scheduling
- cell
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及了一种用于缓冲Crossbar的队列长度均衡调度方法。本发明属于宽带网络交换技术领域。本发明包括Crossbar输入端和输出端调度方法,其方法是,分组只在输入端队列和Crossbar交叉点缓冲存储;每个输入/输出端都有一个调度器,调度方法由这些调度器协同执行;输入端调度器负责将分组从输入端队列调度到相应交叉点缓冲,执行时从本输入端选择长度最长的队列进行调度,输出端调度器负责将分组从交叉点缓冲调度到输出链路上,执行时选择自身队列长度与对应的输入队列长度之和最大的交叉点进行调度;该调度方法给较长的队列更多的被服务机会,能够自适应均匀和非均匀等各种流量,使各个输入端队列长度尽量均衡,具有良好的稳定性、吞吐量和时延性能,适用于高速路由器/交换机。
Description
技术领域本发明涉及一种用于缓冲Crossbar的队列长度均衡调度方法,它以缓冲Crossbar交换结构为背景,在输入/输出端调度时充分利用了输入队列和交叉点缓冲长度信息,从而使输入端最长的队列在输入端和输出端均能优先调度,使得整个队列系统保持均衡与稳定,从而获得更优的性能,本发明主要适用于高速路由器/交换机。
背景技术当前Internet的规模和业务量增长迅速,作为网络核心节点的路由器/交换机逐渐成为限制网络速率和容量的瓶颈。高性能的交换结构是路由器的核心部件,其性能却要受到调度算法的制约。调度算法主要是解决数据输入/输出竞争,避免发送冲突,达到合理利用交换结构资源,提高吞吐量和减少时延的目的。可以说,交换结构及其调度算法的优劣直接影响整个路由器的端口速率、容量和时延等性能。
传统的中、低速路由器大多采用输出排队的交换网络(包括共享缓存),它们虽然具有良好的吞吐量和时延性能,但是要求交换结构的速率是链路速率的N(N指输入端口数目)倍,而在因特网干线中链路速率往往很高(如OC-192、10GE),交换网络难以达到数十Gbps的速率,造成系统可扩展性差,已无法满足Internet日益发展的需求。
基于输入排队的Crossbar是一种快速的定长交换网络,只要求交换网络的速率与链路速率相同,并且Crossbar具有简单易实现、无阻塞等优点,被广泛应用于高速路由器/交换机的设计中。在这种交换结构中,分组只在输入端存储,经过调度通过crossbar输出。输入队列为了避免由于HOL阻塞(head of line blocking)而带来的交换网络吞吐量下降的问题,一般采用虚拟输出排队技术(VOQ:virtual output queueing)来消除HOL阻塞,即每个输入端为每一个输出端维护一个单独的FIFO(first in first out)队列,我们统称之为VOQ队列。然而Crossbar需要集中控制,当端口数目增加时,调度算法可扩展性仍然受到很大地限制。
为解决可扩展性问题,近年来,缓冲Crossbar交换结构因其良好的分布并行调度特性,逐渐成为交换领域的研究热点。所谓缓冲Crossbar,就是在Crossbar的交叉点植入少量缓冲,这样能够将输入端与输出端的数据传输竞争隔离开来,调度算法可以在输入/输出端独立并行工作,不需要集中控制。依据目前的技术条件,交叉点缓存容量比较小,仍然需要与输入排队结合使用,输入队列仍然采用VOQ排队技术。与纯Crossbar的高速交换结构相比,缓冲Crossbar交换结构具有分布式调度、易扩展的良好特性,是高速、大容量路由器的理想选择。
为了实现高速交换和控制上的方便,缓冲Crossbar处理的数据单元为固定长度的信元,一个信元通常取64字节长度,传输一个信元的时间间隔称为一个时隙。缓冲Crossbar交换结构中输入端调度算法负责调度本输入端VOQ队列中的信元,保证在一个时隙内每个输入端至多发送一个信元,被调度的信元被发送到对应的交叉点缓冲中;输出端调度算法负责调度交叉点缓冲中的信元,保证在一个时隙内每个输出端至多发送一个信元,被调度的信元被发送到输出链路上。
近年来,在缓冲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的输入端调度器执行过程完全相同,即选择一个输入端中队长最长的VOQ优先调度;输出端调度时,一个输出端对应的所有交叉点并非拥有相同的优先级,而是优先调度自身队列长度与对应的VOQ长度之和最大的交叉点。算法每个时隙调度一次,调度结果配置Crossbar,并进行相关信元传输。
本发明解决其技术问题所采用的技术方案是:
(1)分组分段和重组:不同长度的IP分组在调度前划分成固定长度的“信元”,在输出端重组后再发送到链路上去。
(2)信元排队:信元到达过程是一个离散时间随机过程,每个输入端每个时隙至多到达一个信元。输入队列采用VOQ排队技术,若输入端i到达一个目的端为j的信元,那么该信元被放入VOQij队列中;若VOQij队列被调度,队头信元将被存入交叉点缓冲CBij中。VOQij在t时隙的队列长度表示为L(VOQij,t);CBij在t时隙的队列长度表示为L(CBij,t);其中1≤i,j≤N。
(3)符号与定义:一个交叉点缓存的最大容量用C表示;t时隙时,若L(VOQij,t)>O且L(CBij,t)<C,称VOQij在t时隙为EVOQ(Eligible VOQ);t时隙时,若L(CBij,t)>0,称CBij为ECB(Eligible Crosspoint Buffer);其中1≤i,j≤N。
(4)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)。如果找不到,指针保持不变。
附图说明下面结合附图和实施例对本发明进一步说明。
图1是缓冲Crossbar交换结构的组成图;
图2是输入端排队方法示意图;
图3是本发明方法一实施例的执行过程。
具体实施方式参考图1,缓冲Crossbar交换结构主要由输入队列(VOQ)、缓冲Crossbar、输入端调度器和输出端调度器组成。输入队列和交叉点缓冲用于存储暂时得不到调度输出的信元;Crossbar用于建立输入/输出端的连接,传输信元;输入/输出端调度器共同完成MUIQF调度算法。当输入端有分组到达时,首先进行一系列的分组处理,包括查表、报头更新、分类、分段,然后在输入队列中缓冲,等待输入端调度。为解决输入/输出端的竞争,每一个输入/输出端都设有一个调度器。在每个时隙,MUIQF算法根据VOQ和交叉点缓冲长度信息,每个输入调度器从其输入端口的N个VOQ队列中选出一个队头信元送往相应的交叉点;每个输出调度器从对应的N个交叉点缓存中选出一个输出。输入和输出端调度器之间不需信息的交互,分别独立执行。
图2所示为输入端排队策略,采用了VOQ排队机制,主要是为了避免单个FIFO带来的HOL阻塞问题,输入端为每个输出端维护一个单独的FIFO的队列。在具体实现时,这些队列可以用一个单独的物理存储器,通过简单的存储器管理,划分成多个逻辑独立的队列。对于一个NxN的缓冲Crossbar,每个输入端总共有N个独立的FIFO,信元经过查表、分类存于不同的FIFO队列。
图3所示为本发明方法一实施例的执行过程。本实施例展示了在一个交叉点缓冲容量C为1的4x4缓冲Crossbar中MUIQF算法一次迭代的过程,图中VOQ队列和交叉点缓冲中的一个黑点代表一个信元。初始时(t时隙)时输入/输出调度器指针、队列长度状态如图3(a)所示,调度之后(t+1时隙)状态如图3(b)所示。以输入端1和输出端1调度器执行情况为例说明。输入端调度器指针I1初始值为2,由于VOQ13和VOQ14是EVOQ,并且L(VOQ14,t)>L(VOQ13,t),所以选择VOQ14调度,指针更新为I1更新为(4+1)(模4)=1;同样,输入端2、3、4也各自选择VOQ24、VOQ31、VOQ41调度,指针分别更新为1、2、2。输出端1对应的交叉点都有信元等待发送,则指针O1开始按照轮转规则,选择交叉点缓冲和对应输入队列长度之和最大的交叉点进行调度,即交叉点CB11,之后将O1更新为(1+1)(模4)=2;同样输出端2、4选择CB12、CB44调度,指针分别更新为2、1,输出端3没有信元调度,指针不变。
本领域人员在本发明方案基础上,以选取不同参数(信元大小、C、N等)或用于其它交换结构而做出的其它方案,亦在本发明保护的范围之内。
Claims (5)
1.一种用于缓冲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),指向当前优先选择服务的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.如权利要求1所述的缓冲Crossbar调度方法,其特征在于:Crossbar交换的信元大小为64字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910233915A CN101695051A (zh) | 2009-10-21 | 2009-10-21 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910233915A CN101695051A (zh) | 2009-10-21 | 2009-10-21 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101695051A true CN101695051A (zh) | 2010-04-14 |
Family
ID=42093993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910233915A Pending CN101695051A (zh) | 2009-10-21 | 2009-10-21 | 一种用于缓冲Crossbar的队列长度均衡调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101695051A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166863A (zh) * | 2012-12-20 | 2013-06-19 | 上海大学 | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 |
CN105306552A (zh) * | 2015-09-30 | 2016-02-03 | 中国科学院计算技术研究所 | 一种基于消息队列的消费均衡方法及系统 |
CN105429898A (zh) * | 2015-11-02 | 2016-03-23 | 北京航空航天大学 | 一种cicq结构交叉缓存队列均衡的分组调度算法 |
CN105721215A (zh) * | 2016-02-25 | 2016-06-29 | 电子科技大学 | 一种基于汇聚过程的网络数据流生成方法与装置 |
CN106357555A (zh) * | 2016-09-26 | 2017-01-25 | 北京航空航天大学 | 一种基于业务均衡的cicq结构分组调度算法 |
CN107329814A (zh) * | 2017-06-16 | 2017-11-07 | 电子科技大学 | 一种基于rdma的分布式内存数据库查询引擎系统 |
CN107360107A (zh) * | 2017-08-25 | 2017-11-17 | 东南大学 | 一种适用于片上网络中低延时的交叉开关调度方法 |
CN108768887A (zh) * | 2018-05-31 | 2018-11-06 | 江汉大学 | 一种基于cicq的调度方法、装置及电子设备 |
CN109815035A (zh) * | 2019-02-27 | 2019-05-28 | 深信服科技股份有限公司 | 一种消息队列的消息传递方法及相关装置 |
CN112073336A (zh) * | 2020-08-21 | 2020-12-11 | 西安电子科技大学 | 基于AXI4 Stream接口协议的高性能数据交换系统及方法 |
-
2009
- 2009-10-21 CN CN200910233915A patent/CN101695051A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166863B (zh) * | 2012-12-20 | 2015-10-07 | 上海大学 | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 |
CN103166863A (zh) * | 2012-12-20 | 2013-06-19 | 上海大学 | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 |
CN105306552A (zh) * | 2015-09-30 | 2016-02-03 | 中国科学院计算技术研究所 | 一种基于消息队列的消费均衡方法及系统 |
CN105429898B (zh) * | 2015-11-02 | 2018-04-06 | 北京航空航天大学 | 一种cicq结构交叉缓存队列均衡的分组调度算法 |
CN105429898A (zh) * | 2015-11-02 | 2016-03-23 | 北京航空航天大学 | 一种cicq结构交叉缓存队列均衡的分组调度算法 |
CN105721215A (zh) * | 2016-02-25 | 2016-06-29 | 电子科技大学 | 一种基于汇聚过程的网络数据流生成方法与装置 |
CN105721215B (zh) * | 2016-02-25 | 2020-06-16 | 电子科技大学 | 一种基于汇聚过程的网络数据流生成方法与装置 |
CN106357555A (zh) * | 2016-09-26 | 2017-01-25 | 北京航空航天大学 | 一种基于业务均衡的cicq结构分组调度算法 |
CN107329814A (zh) * | 2017-06-16 | 2017-11-07 | 电子科技大学 | 一种基于rdma的分布式内存数据库查询引擎系统 |
CN107329814B (zh) * | 2017-06-16 | 2020-05-26 | 电子科技大学 | 一种基于rdma的分布式内存数据库查询引擎系统 |
CN107360107A (zh) * | 2017-08-25 | 2017-11-17 | 东南大学 | 一种适用于片上网络中低延时的交叉开关调度方法 |
CN108768887A (zh) * | 2018-05-31 | 2018-11-06 | 江汉大学 | 一种基于cicq的调度方法、装置及电子设备 |
CN108768887B (zh) * | 2018-05-31 | 2021-09-28 | 江汉大学 | 一种基于cicq的调度方法、装置及电子设备 |
CN109815035A (zh) * | 2019-02-27 | 2019-05-28 | 深信服科技股份有限公司 | 一种消息队列的消息传递方法及相关装置 |
CN112073336A (zh) * | 2020-08-21 | 2020-12-11 | 西安电子科技大学 | 基于AXI4 Stream接口协议的高性能数据交换系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101695051A (zh) | 一种用于缓冲Crossbar的队列长度均衡调度方法 | |
Iyer et al. | Analysis of the parallel packet switch architecture | |
Chuang et al. | Practical algorithms for performance guarantees in buffered crossbars | |
Nong et al. | On the provision of quality-of-service guarantees for input queued switches | |
CN100420241C (zh) | 实现信息交换的系统及方法和调度算法 | |
US20060285548A1 (en) | Matching process | |
Shen et al. | Byte-focal: A practical load balanced switch | |
WO2011006398A1 (zh) | 一种数据交换方法及数据交换结构 | |
CN100490383C (zh) | 一种支持多优先级的高速Crossbar调度方法 | |
US7203202B2 (en) | Arbitration using dual round robin matching with exhaustive service of winning virtual output queue | |
US20060146706A1 (en) | Method and apparatus for scheduling packets and/or cells | |
CN100421420C (zh) | 一种调度纵横式交换矩阵中变长数据包队列的方法 | |
CN101695052B (zh) | 一种交叉点小缓存的高性能crossbar调度方法 | |
Sun et al. | Multicast scheduling in buffered crossbar switches with multiple input queues | |
Shen et al. | Design and performance analysis of a practical load-balanced switch | |
CN103685078A (zh) | 基于光纤延时线的全光共享缓存路由器及其工作方法 | |
Benet et al. | Providing in-network support to coflow scheduling | |
CN103731359A (zh) | 基于光纤延时线的fifo共享缓存路由器及其工作方法 | |
Xiuqin et al. | A in-order queuing parallel packet switch solution based on CICQ | |
Pan et al. | Providing flow based performance guarantees for buffered crossbar switches | |
Guo et al. | Packet switch with internally buffered crossbars | |
Mhamdi | A Partially Buffered Crossbar packet switching architecture and its scheduling | |
Xiuqin et al. | A diffserv supporting and distributed dynamic dual round robin scheduling algorithm on ds-cicq | |
Yan et al. | Approaching Work-Conserving Scheduling Algorithm for Mixed Unicast and Multicast in Combined Input and Crosspoint Queued Switch | |
Durković et al. | Packet Switch Architecture For Efficient Unicast and Multicast Traffic Switching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100414 |