CN101478483B - 交换设备内实现分组调度的方法及交换设备 - Google Patents
交换设备内实现分组调度的方法及交换设备 Download PDFInfo
- Publication number
- CN101478483B CN101478483B CN2009100006100A CN200910000610A CN101478483B CN 101478483 B CN101478483 B CN 101478483B CN 2009100006100 A CN2009100006100 A CN 2009100006100A CN 200910000610 A CN200910000610 A CN 200910000610A CN 101478483 B CN101478483 B CN 101478483B
- Authority
- CN
- China
- Prior art keywords
- packet
- queue
- message
- output
- urgency
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000000872 buffer Substances 0.000 claims abstract description 91
- 239000004744 fabric Substances 0.000 claims description 10
- 230000003139 buffering effect Effects 0.000 claims description 4
- 230000006735 deficit Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种交换设备内实现分组调度的方法及交换设备,所述方法包括:至少一个输入调度器接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;所述输出缓存器根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度。应用本发明实现分组交换调度,由于分组具有多个可选输出端口,并且在输入端充分考虑了虚拟输出队列的拥塞状态,从而减少了报文传输的拥塞,提高了传输效率,降低了传输时延,使得交换设备具有较高的吞吐量。
Description
技术领域
本发明涉及计算机通信技术领域,特别涉及交换设备内实现分组调度的方法及交换设备。
背景技术
交换设备作为互联网的主要节点设备,是网络中进行网间连接的关键,包括交换机和路由器等,目前的高性能交换设备多采用分布式体系结构。由于交叉(crossbar)是目前高性能交换设备中最简单常用的构件,因此大多数商用路由器采用crossbar来构建交换结构。常用的基于crossbar的交换结构依据排队机制可分为:OQ(Output Queued,输出排队),IQ(Intput Queued,输入排队)、CIOQ(Combined Input-Output-Queued,联合输入输出排队)和CIOQ(Combined Input-Crosspoint-Queued,联合输入交叉点排队)。
上述任意一种交换结构都是基于单一输出端口,其影响和制约了交换设备的网络性能,主要表现在:单一端口导致进入交换设备的分组仅有唯一输出端口,相同输出端口的争用极易引发交换拥塞,直接导致路由交换设备时延性能恶化,不利于支持实时业务;单一端口引发的交换拥塞不仅迫使交换设备采用内部加速机制或复杂的调度机制,而且需要配合以高速大容量缓存机制,这些机制已成为高速路由交换设备的实现瓶颈;单一端口的路由机制使得当前网络的抗毁性能较差,单个网络节点发生故障会对网络业务性能产生较大影响。
以一个4乘4交换结构为例,如图1所示,传统路由交换机制由于报文仅有唯一的输出端口,一旦四个输入端口到达业务均具有相同的输出端口时,仅有其中一个输入端口的报文可以获得调度输出,其余输入端口的报文被阻塞。由此可见,基于单一输出端口的交换机制在存在端口争用时的实时吞吐量很低,对于发生输出端口争用的重负载业务其拥塞程度还会不断加剧。由于拥塞直接导致了交换设备的时延、时延抖动以及丢包率等方面的性能恶化,不利于对实时多媒体业务提供良好的性能支持,而且拥塞导致路由交换设备需要设置大量的缓存资源,增加了设备的硬件成本和实现难度。
发明内容
本发明的目的在于提供交换设备内实现分组调度的方法及交换设备,以解决现有技术中交换设备转发报文的调度方式采用单一路径,容易导致拥塞的问题。
为解决上述技术问题,本发明提供如下技术方案:
一种交换设备内实现分组调度的方法,包括:
至少一个输入调度器接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;
按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;
所述输出缓存器根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度。
所述方法应用于包含N个输入调度器、N个分组缓存器、N个输出缓存器的交换结构,所述N为大于1的自然数;
每个所述分组缓存器包括N个虚拟输出队列、一个多播队列和N乘N个带缓存的交叉节点。
所述分组缓存器包括M个虚拟输出队列和一个多播队列,所述M为大于1的自然数,所述将分组报文输入分组缓存器内的分组队列包括:
判断所述分组报文的类型;
当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
所述将分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列包括:
获取所述分组报文的输出端口标签;
按照最短优先原则从所述输出端口中对应选择进入最短的虚拟输出队列的输出端口;
将所述分组报文输入所述选择的输出端口。
还包括M乘M个带缓存的交叉节点,
所述按照分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器包括:
分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度;
判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度;
将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存;
将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
所述输出缓存器根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度包括:
调用预先设置的差额轮询算法;
当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长;
当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
一种交换设备,包括:输入调度器、分组缓存器和输出缓存器,
所述输入调度器,用于接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;
所述分组缓存器,用于按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;
所述输出缓存器,用于根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度。
所述分组缓存器包括M个虚拟输出队列和一个多播队列,所述M为大于1的自然数,所述输入调度器包括:
类型判断单元,用于判断所述分组报文的类型;
报文输入单元,用于当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
所述分组缓存器包含M乘M个带缓存的交叉节点,还包括:
紧迫度定义单元,用于分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度;
紧迫度判断单元,用于判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度;
报文缓存单元,用于将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存;
报文输出单元,用于将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
所述输出缓存器包括:
算法调用单元,用于调用预先设置的差额轮询算法;
优先级判断单元,用于当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长;
输出执行单元,用于当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
由以上本发明提供的技术方案可见,本发明交换设备内的至少一个输入调度器接收分组报文后,将分组报文输入分组缓存器内的分组队列,按照分组队列的紧迫度从高到低的顺序,将分组队列输出至对应的输出缓存器,输出缓存器根据接收到的分组队列内的分组报文的优先级对分组报文进行调度。应用本发明实现分组交换调度,由于分组具有多个可选输出端口,并且在输入端充分考虑了虚拟输出队列的拥塞状态,从而减少了报文传输的拥塞,提高了传输效率,降低了传输时延,使得交换设备具有较高的吞吐量。
附图说明
图1为现有交换设备内的交换结构示意图;
图2为本发明实现分组调度的方法第一实施例流程图;
图3为本发明交换设备内的交换结构示意图;
图4为本发明中级调度的结构示意图;
图5为本发明后级调度的结构示意图;
图6为本发明实现分组调度的方法第二实施例流程图;
图7为本发明交换设备的实施例框图。
具体实施方式
本发明的核心是提供交换设备内实现分组调度的方法及交换设备,至少一个输入调度器接收分组报文后,将分组报文输入分组缓存器内的分组队列,按照分组队列的紧迫度从高到低的顺序,将分组队列输出至对应的输出缓存器,输出缓存器根据接收到的分组队列内的分组报文的优先级对分组报文进行调度。
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明报文分组调度的方法运行于交换机所在的交换网络,该交换网络可以将路由器中不同的转发板有效地连接起来,并采用可扩展性结构,确保满足路由器内部交换容量扩展的需求,充分利用到达交换时钟板的分组具有多个可选输出端口的特点,并结合CICQ交换结构的高效无阻塞调度的特色,实现分组的高效调度。CICQ交换结构无需复杂集中调度、额外加速和输出缓存,只需通过简单的输入和输出端口的分布式调度器即可实现。
本发明在交换机内实现报文分组调度的方法的第一实施例流程如图2所示:
步骤201:至少一个输入调度器接收分组报文后,将分组报文输入分组缓存器内的分组队列。
其中,分组缓存器包括M个虚拟输出队列和一个多播队列,所述M为大于1的自然数。具体的,判断所述分组报文的类型,当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
步骤202:按照分组队列的紧迫度从高到低的顺序,将分组队列输出至对应的输出缓存器。
其中,分组缓存器还包括M乘M个带缓存的交叉节点。具体的,分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度,判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度,将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存,将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
步骤203:输出缓存器根据接收到的分组队列内的分组报文的优先级对分组报文进行调度。
具体的,调用预先设置的差额轮询算法,当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长,当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
应用本发明分组调度方法的交换结构示意图如图3所示,该交换结构由N个输入调度器310、N个分组缓存器320、和N个输出缓存器330组成。其中,每个分组缓存器包括N个VOQ(Virtual Output Queue,虚拟输出队列)、1个MQ(Multicast Queue,多播队列)和NxN个带缓存的交叉开关321。
图3中,输入调度器310对到达该输入端口的分组进行调度,决定分组进入的VOQ,即确定其输出端口;VOQ分组缓存器320对到达某输入端口的具有相应输出端口的分组进行缓存,并调度分组离开,带缓存的交叉开关321对到达该交叉开关的分组进行缓存,并调度分组离开;输出缓存器330对到达该交叉开关的分组进行缓存,并调度分组离开。
本发明的整个调度过程可以分为前级调度、中级调度和后级调度,各级调度能够独立完成,下面分别对每一种调度过程进行描述:
其中,前级调度算法由输入调度器310实现。输入调度器310接收分组,判断到达的分组报文为组播报文还是单播报文,若为组播报文则直接调度进入组播虚拟队列MQ,若为单播报文则根据到达分组的可选输出端口标签,按照最短优先的原则从可选输出端口中选择调度进入最短的VOQ,该算法的复杂度为log2k,其中k为可选输出端口的个数,由上层路由协议确定。
中级调度算法由分组缓存器320实现,如图4所示,为本发明中级调度的结构示意图。图4以输入端口i为例示出了中级调度的示意图,其中带缓存的交叉开关321内部具有同一输出端口j的所有交叉节点缓存被抽象为一个逻辑队列410,用LQj标识。中级调度算法综合考虑分组缓存器320和带缓存的交叉开关321的状态,定义队列紧迫度为调度参数。队列紧迫度均是通过排队长度的静态映射将队列空间分段为若干个区间,在系统设计时可根据队列容量和紧迫度的取值范围确定队列空间分段区间的划分方案,然后在缓存队列设计时通过简单的编码电路即可产生紧迫度标识信号,其实现原理类似于FIFO队列的长度计数标识电路。其中,VOQ队列紧迫度用于描述虚拟输出队列输出分组需求的紧迫程度,它与VOQ的拥塞程度相对应,拥塞程度越高说明VOQ输出分组的需求越紧迫,MQ队列紧迫度用于描述多播队列输出分组需求的紧迫程度。逻辑队列紧迫度用于描述后级逻辑队列接收分组需求的紧迫程度,它与逻辑队列410的空闲程度相对应。由于逻辑队列410为空时,将导致对应输出端口带宽资源的浪费,因此逻辑队列410的空闲程度越高说明其接收分组的需求越紧迫。中级调度算法选择同一输出端口j下VOQ队列紧迫度或MQ队列紧迫度和逻辑队列紧迫度最大的分组缓存器320的VOQ队列或MQ队列和逻辑队列进行调度。
后级调度算法由输出缓存器330实现,具体采用支持优先级的层次化调度方案,执行WDDRR(Weighted Deficit Double Round Robin,加权差额双轮询)算法,如图5所示,为本发明后级调度的结构示意图。图5以输出端口j为例给出了交叉节点调度的排队机制以及WDDRR算法的示意图,为了在输出缓存器330针对不同应用需求提供区分优先级的服务,后级调度算法在输出缓存队列330采用了优先级排队机制。假定CICQ交换结构一共要支持P个优先级的服务,输出端口的每个输出缓存队列在逻辑上被拆分为P个虚拟优先级队列,用于将到达输出存储单元的cell根据其优先级标识进行区分优先级的排队。输出缓存队列OQjk中优先级为p的虚拟优先级队列510被标记为VPQjkp。CICQ每一输出端口的调度机520不仅要为不同优先级业务提供区分优先级的调度,同时还需要在具有相同优先级的K个缓存队列510中确定获得调度的缓存队列。输出端口的调度机520由简单轮询机521和优先级轮询机522构成。优先级轮询机522为每个优先级分配一个带宽计数器,通过优先级加权的带宽分配机制为不同优先级业务提供区分的服务,简单轮询机521在优先级轮询机522确定获得服务的优先级种类后,依据优先级选择获得服务的虚拟优先级队列。其中,WDDRR算法的具体实现描述如下:
起始状态将所有优先级业务的带宽计数器初始化为Cp=0(p=1,2...P);每次轮询到一个优先级p时,为对应储蓄计数器存入此种优先级业务该轮应该输出的字节数Np,Cp=Np+Cp;如果轮询到优先级p其对应计数器值Cp大于一个cell的包长l,且具有优先级p的所有VPQ存在非空队列,则采用简单轮询的次序在非空的VPQ中选取一个获得服务,并令Cp=Cp-l,直到该优先级对应的所有VPQ均为空或者计数器的值小于一个cell的包长,转到下一优先级业务;如果轮询到优先级p其对应计数器值Cp小于一个cell的包长l,则将该轮应发的字节数Np储蓄起来留到下一轮使用,并转到下一优先级业务;如果轮询到优先级p时,具有优先级p的所有VPQ均为空,则将计数器Cp清零,这一做法是为了不让Cp无限增大,防止突发造成对其他队列的影响。
本发明实现分组调度的方法的第二实施例流程图如图6所示,该实施例详细示出了分组调度的过程:
步骤601:相应输入调度器接收分组。
步骤602:判断分组的类型,若为单播包,则执行步骤603;若为组播包,则执行步骤611。
步骤603:将分组输入可选的多输出端口对应的最短VOQ队列。
步骤604:判断分组所在的VOQ或MQ的紧迫度以及对应逻辑队列的紧迫度是否最高,若是,则执行步骤605;否则,返回步骤604。
步骤605:判断VOQ对应的交叉节点的缓存是否未满,若是,则执行步骤606;否则,返回步骤604。
步骤606:将分组输入对应的交叉节点进行缓存。
步骤607:判断分组所在交叉节点的缓存紧迫度是否最高,若是,则执行步骤608;否则,返回步骤607。
步骤608:将分组输入对应虚拟优先级队列VPOQ。
步骤609:判断是否轮询到当前优先级P且对应存储计数器值Cp是否大于该分组的包长,若是,则执行步骤610;否则返回步骤609。
步骤610:输出该分组,结束当前流程。
步骤611:将分组输入MQ队列,返回步骤604。
上述实施例中,步骤601~603和611实现前级调度,步骤604~608实现中级调度,步骤609~610实现后级调度。
结合上述交换结构示意图和实施例流程描述一种单播分组报文的调度过程,假设单播分组报文1对应输入端口1,可选输出端口为1,2,3,优先级为1,其处理流程具体如下:分组1到达输入端口1,输入端口1的输入调度器210接收分组1;依据分组头部信息判断该分组报文为单播报文,根据分组1的可选输出端口标签(1,2,3),比较对应VOQ队列长度,按照最短优先的原则将分组调度进入最短的VOQ,设为VOQ11,则分组1进入VOQ11等待调度;假设判断VOQ11和LQ1具有最高紧迫度,并且判断VOQ11对应交叉节点缓存CB11未满,则分组1进入CB11等待调度;当判断CB11具有最高紧迫度,依据优先级,分组进入虚拟优先级队列VPQ,则分组1进入VPQ111;当判断当前轮训优先级分组所在优先级且对应优先级存储计数器值Cp大于分组长度,则输出分组1。
与本发明实现分组调度的方法相对应,本发明还提供了交换设备,该交换设备的实施例框图如图7所示,包括:输入调度器710、分组缓存器720和输出缓存器730。
其中,所述输入调度器710用于接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;所述分组缓存器720用于按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;所述输出缓存器730用于根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度。
具体的,当分组缓存器720包括M个虚拟输出队列和一个多播队列时,所述M为大于1的自然数,所述输入调度器710可以包括(图7中未示出):类型判断单元,用于判断所述分组报文的类型;报文输入单元,用于当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
具体的,当分组缓存器720还包含M乘M个带缓存的交叉节点,该分组缓存器720还包括(图7中未示出):紧迫度定义单元,用于分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度;紧迫度判断单元,用于判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度;报文缓存单元,用于将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存;报文输出单元,用于将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
具体的,输出缓存器730可以包括(图7中未示出):算法调用单元,用于调用预先设置的差额轮询算法;优先级判断单元,用于当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长;输出执行单元,用于当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
本发明交换设备的交换结构可以由N个输入调度器、N个分组缓存器、N个输出缓存器组成,所述N为大于1的自然数;其中,每个所述分组缓存器包括N个虚拟输出队列、一个多播队列和N乘N个带缓存的交叉节点。
由以上本发明实施例的描述可知,应用本发明实现分组交换调度,由于分组具有多个可选输出端口,并且在输入端充分考虑了虚拟输出队列的拥塞状态,从而减少了报文传输的拥塞,提高了传输效率,降低了传输时延,使得交换设备具有较高的吞吐量;本发明支持分组单组播的交换调度,在虚拟输出队列中加入了组播队列,中级调度时对组播队列的分组进行全输出端口的复制调度,避免了前级复制所造成的虚拟输出队列浪费;本发明支持分组优先级的交换调度。在后级调度输出队列中根据优先级的个数进行队列的逻辑划分,并通过层次化的后级调度方案,在保持相对公平性的基础上实现了分组的不同优先级的调度;并且本发明易于硬件电路的实现,前级的比较选择入队只需一个简单的比较器就可以实现,中间的带缓存的交叉开关可以直接用现有的成熟交换芯片实现,后级的层次化双轮询调度复杂度也较低。进一步,本发明方便级联与大容量的扩展,大容量交换网络的实现可以并行利用此交换技术,方便交换容量的扩展,适用于新一代大容量高速宽带网络核心交换。
本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种交换设备内实现分组调度的方法,其特征在于,包括:
至少一个输入调度器接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;
按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;
所述输出缓存器根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度;其中,
所述分组缓存器包括M个虚拟输出队列和一个多播队列,所述M为大于1的自然数,所述将分组报文输入分组缓存器内的分组队列包括:
判断所述分组报文的类型;
当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于包含N个输入调度器、N个分组缓存器、N个输出缓存器的交换结构,所述N为大于1的自然数;
每个所述分组缓存器包括N个虚拟输出队列、一个多播队列和N乘N个带缓存的交叉节点。
3.根据权利要求1所述的方法,其特征在于,所述将分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列包括:
获取所述分组报文的输出端口标签;
按照最短优先原则从所述输出端口中对应选择进入最短的虚拟输出队列的输出端口;
将所述分组报文输入所述选择的输出端口。
4.根据权利要求1所述的方法,其特征在于,还包括M乘M个带缓存的交叉节点,
所述按照分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器包括:
分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度;
判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度;
将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存;
将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
5.根据权利要求4所述的方法,其特征在于,所述输出缓存器根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度包括:
调用预先设置的差额轮询算法;
当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长;
当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
6.一种交换设备,其特征在于,包括:输入调度器、分组缓存器和输出缓存器,
所述输入调度器,用于接收分组报文后,将所述分组报文输入分组缓存器内的分组队列;
所述分组缓存器,用于按照所述分组队列的紧迫度从高到低的顺序,将所述分组队列输出至对应的输出缓存器;
所述输出缓存器,用于根据接收到的分组队列内的分组报文的优先级对所述分组报文进行调度;其中,
所述分组缓存器包括M个虚拟输出队列和一个多播队列,所述M为大于1的自然数,所述输入调度器包括:
类型判断单元,用于判断所述分组报文的类型;
报文输入单元,用于当所述分组报文为单播报文时,将所述分组报文输入所述M个虚拟输出队列中最短的虚拟输出队列,当所述分组报文为组播报文时,将所述分组报文输出至所述多播队列。
7.根据权利要求6所述的交换设备,其特征在于,所述分组缓存器包含M乘M个带缓存的交叉节点,还包括:
紧迫度定义单元,用于分别定义所述分组队列的紧迫度和根据所述分组队列映射的逻辑队列的紧迫度;
紧迫度判断单元,用于判断所述分组报文所在分组队列的紧迫度及所在逻辑队列的紧迫度;
报文缓存单元,用于将所述分组队列的紧迫度和逻辑队列的紧迫度最高的分组报文输入到对应的交叉节点进行缓存;
报文输出单元,用于将缓存紧迫度最高的交叉节点所缓存的分组报文传输到对应的输出缓存器。
8.根据权利要求7所述的交换设备,其特征在于,所述输出缓存器包括:
算法调用单元,用于调用预先设置的差额轮询算法;
优先级判断单元,用于当轮询到当前优先级时,判断预先为所述优先级分配的计数器的值是否大于所述分组队列的包长;
输出执行单元,用于当所述计数器的值大于所述分组队列的包长时,输出所述分组队列内的分组报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100006100A CN101478483B (zh) | 2009-01-08 | 2009-01-08 | 交换设备内实现分组调度的方法及交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100006100A CN101478483B (zh) | 2009-01-08 | 2009-01-08 | 交换设备内实现分组调度的方法及交换设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101478483A CN101478483A (zh) | 2009-07-08 |
CN101478483B true CN101478483B (zh) | 2011-09-07 |
Family
ID=40839118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100006100A Expired - Fee Related CN101478483B (zh) | 2009-01-08 | 2009-01-08 | 交换设备内实现分组调度的方法及交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101478483B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977158A (zh) * | 2010-11-22 | 2011-02-16 | 北京理工大学 | 一种在多源应用层组播中实现拥塞控制的方法 |
CN102427426B (zh) * | 2011-12-05 | 2015-06-03 | 西安电子科技大学 | 同时支持afdx与普通以太网交换的方法及装置 |
CN102497316B (zh) * | 2011-12-09 | 2015-01-28 | 西安电子科技大学 | Clos交换网络中基于信元的正交多子调度方法 |
CN103516621B (zh) * | 2012-06-29 | 2017-11-17 | 中兴通讯股份有限公司 | 队列调度的方法和装置 |
CN102970249A (zh) * | 2012-12-25 | 2013-03-13 | 武汉烽火网络有限责任公司 | 路由交换装置及方法 |
US9634953B2 (en) | 2013-04-26 | 2017-04-25 | Mediatek Inc. | Scheduler for deciding final output queue by selecting one of multiple candidate output queues and related method |
US9667561B2 (en) * | 2013-04-26 | 2017-05-30 | Mediatek Inc. | Packet output controller and method for dequeuing multiple packets from one scheduled output queue and/or using over-scheduling to schedule output queues |
CN103401806B (zh) * | 2013-08-08 | 2016-09-28 | 迈普通信技术股份有限公司 | 报文处理方法及装置 |
CN103581056A (zh) * | 2013-10-25 | 2014-02-12 | 盛科网络(苏州)有限公司 | 网络通信中通过分层队列调度实现拥塞管理的方法 |
CN103731238B (zh) * | 2013-12-11 | 2017-04-05 | 福建星网锐捷网络有限公司 | 数据发送方法及装置 |
CN104734873B (zh) * | 2013-12-20 | 2018-04-13 | 深圳市国微电子有限公司 | 一种交换系统及其交换设备中缓冲器的管理方法、系统 |
US9397938B2 (en) * | 2014-02-28 | 2016-07-19 | Cavium, Inc. | Packet scheduling in a network processor |
CN104333516A (zh) * | 2014-10-20 | 2015-02-04 | 东南大学成贤学院 | 用于组合输入交叉点缓存交换结构的旋转轮训调度方法 |
CN104618266A (zh) * | 2015-02-09 | 2015-05-13 | 浪潮集团有限公司 | 一种多端口间报文转发的方法和装置 |
CN106302239A (zh) * | 2015-05-25 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种单组播流量调度管理的方法及装置 |
CN106453137B (zh) * | 2016-09-20 | 2019-04-05 | 北京航空航天大学 | 一种以缓解HOL Blocking为目标的动态组播入队方法 |
CN106357555B (zh) * | 2016-09-26 | 2019-04-02 | 北京航空航天大学 | 一种基于业务均衡的cicq结构分组调度方法 |
CN106453134B (zh) * | 2016-10-31 | 2019-04-05 | 北京航空航天大学 | 一种基于虚拟队列长度协调单组播竞争的cicq结构交换机分组调度方法 |
CN106603145B (zh) * | 2016-12-30 | 2019-04-05 | 北京航空航天大学 | 一种考虑信道状态的geo卫星星载cicq结构交换机分组调度方法 |
CN107479828A (zh) * | 2017-07-31 | 2017-12-15 | 山东超越数控电子有限公司 | 一种提高固态硬盘吞吐量性能的方法 |
CN109379304B (zh) * | 2018-10-30 | 2022-05-06 | 中国电子科技集团公司第五十四研究所 | 一种用于降低低优先级包延迟的公平调度方法 |
CN110011934B (zh) * | 2019-03-15 | 2020-09-15 | 浙江大学 | 一种用于输入队列交换机的混合队列架构的混合调度方法 |
CN112243040B (zh) * | 2020-12-15 | 2021-03-30 | 广东睿江云计算股份有限公司 | 一种唯一标识符的生成方法及其系统 |
US11558775B2 (en) * | 2021-02-16 | 2023-01-17 | Juniper Networks, Inc. | Determining rate differential weighted fair output queue scheduling for a network device |
CN114039934B (zh) * | 2021-10-21 | 2024-02-13 | 杭州电子科技大学 | 一种基于双轮询机制的多业务共存tdm-pon系统的调度方法 |
CN114666285B (zh) * | 2022-02-28 | 2023-11-17 | 南京南瑞信息通信科技有限公司 | 以太网发送队列调度方法、系统、存储介质及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1464701A (zh) * | 2002-06-17 | 2003-12-31 | 智邦科技股份有限公司 | 具有多级缓冲器的负载平衡式交换装置及方法 |
CN1728682A (zh) * | 2004-07-29 | 2006-02-01 | 国家数字交换系统工程技术研究中心 | 基于变长包的交换系统及交换方法 |
CN1859279A (zh) * | 2005-08-02 | 2006-11-08 | 华为技术有限公司 | 一种调度纵横式交换矩阵中变长数据包队列的方法 |
-
2009
- 2009-01-08 CN CN2009100006100A patent/CN101478483B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1464701A (zh) * | 2002-06-17 | 2003-12-31 | 智邦科技股份有限公司 | 具有多级缓冲器的负载平衡式交换装置及方法 |
CN1728682A (zh) * | 2004-07-29 | 2006-02-01 | 国家数字交换系统工程技术研究中心 | 基于变长包的交换系统及交换方法 |
CN1859279A (zh) * | 2005-08-02 | 2006-11-08 | 华为技术有限公司 | 一种调度纵横式交换矩阵中变长数据包队列的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101478483A (zh) | 2009-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101478483B (zh) | 交换设备内实现分组调度的方法及交换设备 | |
EP1117213B1 (en) | Packet switch device and scheduling control method | |
Chuang et al. | Practical algorithms for performance guarantees in buffered crossbars | |
Iyer et al. | Analysis of the parallel packet switch architecture | |
US6351466B1 (en) | Switching systems and methods of operation of switching systems | |
CA2247447C (en) | Efficient output-request packet switch and method | |
CN101471854A (zh) | 一种转发报文的方法及装置 | |
US20030231588A1 (en) | Method and apparatus for multicast and unicast scheduling | |
CN100490383C (zh) | 一种支持多优先级的高速Crossbar调度方法 | |
CN101478486B (zh) | 一种交换网数据调度方法、设备和系统 | |
US20060120393A1 (en) | Apparatus and method for aggregating and switching traffic in subscriber network | |
US10581759B1 (en) | Sharing packet processing resources | |
Mhamdi et al. | Output queued switch emulation by a one-cell-internally buffered crossbar switch | |
Rojas-Cessa et al. | Load-balanced combined input-crosspoint buffered packet switches | |
US20040071144A1 (en) | Method and system for distributed single-stage scheduling | |
CN110430146A (zh) | 基于CrossBar交换的信元重组方法及交换结构 | |
Engbersen | Prizma switch technology | |
KR20060032103A (ko) | 크로스포인트 버퍼 스위치의 출력 스케줄링 방법 | |
US20240340250A1 (en) | Multi-stage scheduler | |
Huang et al. | Edge-buffered Contention-resolution Hybrid Optical/Electrical Switch for Data Center Networks | |
Kleban et al. | Packet dispatching algorithms with the static connection patterns scheme for three-stage buffered clos-network switches | |
KR100368439B1 (ko) | 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치 | |
Li | System architecture and hardware implementations for a reconfigurable MPLS router | |
Gong et al. | Performance evaluation of a parallel-poll virtual output queued switch with two priority levels | |
Guo et al. | Packet switch with internally buffered crossbars |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110907 Termination date: 20180108 |
|
CF01 | Termination of patent right due to non-payment of annual fee |