CN1254053C - 一种使信元流量实现最小抖动的加权轮询方法 - Google Patents

一种使信元流量实现最小抖动的加权轮询方法 Download PDF

Info

Publication number
CN1254053C
CN1254053C CN 02155335 CN02155335A CN1254053C CN 1254053 C CN1254053 C CN 1254053C CN 02155335 CN02155335 CN 02155335 CN 02155335 A CN02155335 A CN 02155335A CN 1254053 C CN1254053 C CN 1254053C
Authority
CN
China
Prior art keywords
formation
cbr
cell
look
numbering
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
Application number
CN 02155335
Other languages
English (en)
Other versions
CN1507212A (zh
Inventor
胡正超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 02155335 priority Critical patent/CN1254053C/zh
Publication of CN1507212A publication Critical patent/CN1507212A/zh
Application granted granted Critical
Publication of CN1254053C publication Critical patent/CN1254053C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种使信元流量实现最小抖动的加权轮询方法,该方法是先对各个信元队列进行编号,再配置一个将各个队列的编号均匀分布的查找表,并按照查找表的顺序发送各个队列的信元,从而实现队列的流量调度。本发明的优点是实现简单,解决了传统加权轮询算法的缺陷,在实现时,无须比较各个队列的时标寄存器,可以大大减小实现加权轮询算法的难度和复杂度,在使用ASIC或FPGA实现本发明的时候,极大地减小了逻辑器件实现的规模和难度;同时极大地减小了传统加权轮询算法引起的短时流量的抖动,使短时抖动减小到最低程度。另外,由于本发明只进行查表,如果使用CPU进行计算,其速度很快,远远高于现有的加权轮询算法的速度。

Description

一种使信元流量实现最小抖动的加权轮询方法
技术领域
本发明涉及一种使信元流量实现最小抖动的加权轮询方法,确切地说,涉及一种在使用传统加权轮询算法时,信元在短时间上的抖动过大,以及在使用专用集成电路ASIC或现场可编程门阵列FPGA器件实现时,逻辑规模太大的问题得到较好解决的加权轮询方法,属于异步转移模式和其他业务的恒定比特率CBR业务的信元流量调度控制技术领域。
背景技术
加权轮询(WRR)算法主要应用在ATM和其他业务的CBR业务的流量调度上。现在,对于控制信元流量的传统加权轮询算法一般采用下述实现方法:
为了计算和比较时标,每条队列分配一个16位的时标计数器,初始值为0x0000,这里确定时标为16位是为了减少寄存器的数量,加快比较速度;另一个关键参数-16位的发送时间间隔参数则存储在寄存器参数表中,该参数是根据队列的预约带宽和权值计算得到的,队列的权值和信元时间间隔参数需要CPU进行配置,在执行配置时写入寄存器。采用16位的时间间隔参数,分辨率为:622M/64K=9.8K;权值的计算公式为:WEIGHT=|R/9.8K|,式中R为每条队列的预约速率。
每次通过轮询选取队列,找到一个队列后,先检查该队列时标计数器的值是否符合发送条件:队列[n]Counter<队列[m]Counter?如果符合条件,就发送该队列的一个信元,并把该队列的计数器加上本队列的时间间隔值,再轮询进行下一次运算。否则,就发送另一个队列的信元,并使其队列的计数器加上本队列的时间间隔值。如果一条队列的计数值到达最大值0xFFFF,就等待另一队列的计算。如果所有计数器都到达或接近最大值0xFFFF时,同时把所有的计数器清零,重新进行计算。
参见图1,该图描述了两个队列CBR_A和CBR_B分别使用权值为7和4、信元间隔参数为4和7进行上述传统加权轮询算法的简化调度示意。在这种传统加权轮询算法中,对于两个队列需要比较该两个时标寄存器的大小,还需要判断这两个寄存器是否接近于0xFFFF,以便对它们重新进行清零处理。对于多个队列,就需要找出各个队列时标寄存器的最小值来判断哪个队列满足发送条件。
这种传统加权轮询算法能够保证在较长的周期中各个队列的带宽是均匀的。但是,在有多个队列、且各个队列的带宽相差较大时,传统加权轮询算法所得到的结果在短时上的抖动比较大。对于仅有两个队列的情况,各个队列短时流量的抖动看起来还不太明显。如果队列数量较多,短时抖动就非常明显了。
下面例举一个简化的有16个队列的情况:假设总带宽为48M,总共有16个队列业务(队列序号小的优先级高),各个队列中需要的最小带宽为1M。该简化的16个队列所需要的带宽分配如下表所示:
  队列业务编号   配置的带宽   队列业务编号   配置的带宽
  CBR_0   21M   CBR_8   1M
  CBR_1   13M   CBR_9   1M
  CBR_2   1M   CBR_10   1M
  CBR_3   1M   CBR_11   1M
  CBR_4   1M   CBR_12   1M
  CBR_5   1M   CBR_13   1M
  CBR_6   1M   CBR_14   1M
  CBR_7   1M   CBR_15   1M
如果采用传统加权算法进行队列调度,得到的48个调度的顺序如下表所示:
  序号   队列编号   序号   队列编号   序号   队列编号   序号   队列编号
  1   CBR_0   13   CBR_12   25   CBR_1   37   CBR_0
  2   CBR_1   14   CBR_12   26   CBR_0   38   CBR_1
  3   CBR_2   15   CBR_14   27   CBR_0   39   CBR_0
  4   CBR_3   16   CBR_15   28   CBR_1   40   CBR_0
  5   CBR_4   17   CBR_0   29   CBR_0   41   CBR_1
  6   CBR_5   18   CBR_1   30   CBR_0   42   CBR_0
  7   CBR_6   19   CBR_0   31   CBR_1   43   CBR_0
  8   CBR_7   20   CBR_0   32   CBR_0   44   CBR_1
  9   CBR_8   21   CBR_1   33   CBR_1   45   CBR_0
  序号   队列编号   序号   队列编号   序号   队列编号   序号   队列编号
  10   CBR_9   22   CBR_0   34   CBR_0   46   CBR_1
  11   CBR_10   23   CBR_1   35   CBR_0   47   CBR_0
  12   CBR_11   24   CBR_0   36   CBR_1   48   CBR_0
参见图2所示的其中编号为CBR_0和CBR_1的队列发送时隙在时间轴上的一段局部分布状况,从图2可以清楚地看出:编号为CBR_0和CBR_1的队列速率在短时上的抖动相当大。
因此,传统加权轮询算法的缺点主要是流量的短时抖动比较大,对于有一些对短时抖动要求较高的应用就不甚合适。同时使用这种传统技术实现时,需要通过多次比较才能得到一个最小值结果。在使用逻辑器件实现的时候,需要的资源很大;如果使用CPU进行计算,则速度很慢。
发明内容
本发明的目的是提供一种使信元流量实现最小抖动的加权轮询方法,以解决现有技术存在的短时抖动过大,以及在使用ASIC或FPGA器件实现时逻辑规模太大的问题。
本发明的目的是这样实现的:一种使信元流量实现最小抖动的加权轮询方法,其特征在于:该方法包括下列三个步骤:
A、对各个信元队列进行编号;
B、将各个信元队列的编号均匀分布配置为一个查找表;
C、按照查找表内配置的信元队列编号顺序发送各个队列的信元,实现队列的流量调度。
所述的步骤A中,对各个信元队列进行编号之前,进一步包括下列步骤:
A1、确定需要实现的各个队列的最小流量;
A2、确定传输信道上可供使用的总带宽;
A3、根据上述最小流量和传输信道上可供使用的总带宽,得到所需要的查找表的长度L:L=总带宽/最小流量。
所述的步骤A3中,所需要的查找表是存储所述配置的各个信元队列编号的RAM存储器。
所述的查找表的长度是RAM存储器的存储深度,即存储器的存储空间。
所述的步骤A3中,根据计算公式L=总带宽/最小流量得到的所需要的查找表的长度L可以只取整数部分,以使该查找表的长度最短;也可以对查找表的长度L的计算结果精确到小数点后的若干位,即加大查找表的长度,使各个队列的流量得到更精确的控制。
所述的步骤B中,配置一个将各个队列的编号均匀分布的查找表是采用伪随机交织的方法。
所述的步骤B中,在查找表中均匀分布配置各个队列的编号时,其配置结果应该满足下述三个条件:各个队列编号出现的次数与其配置的带宽成正比,表示各个队列的编号均匀分布在RAM存储器空间上,以及如果将生成的查找表展开,在整个查找表中的任何一个节距上,各个队列编号出现的次数与其在查找表内相应位置的个数的误差不超过1个。
所述的步骤C中,按照查找表的顺序发送各个队列的信元,进一步包括下列步骤:
C1、根据上述配置的查找表顺序,确定发送的队列编号,同时发送该队列的一个信元;
C2、在每次发送一个信元之后,将查找表的地址加1,再读出查找表内该新地址的数据,即确定下一个发送的队列编号,接着发送该队列的一个信元;
C3、循环进行上述步骤C2的操作,直至所有队列的信元全部发送完毕。
对于同步数字系列SDH/同步光网络SONET承载包或基于SDH/SONET的包封装POS/***包接口SPI上的变长报文,先将其切割成定长的信元,再执行所述的各个步骤,可实现变长报文的流量调度。
本发明是一种使信元流量实现最小抖动的加权轮询方法,该方法的技术关键是采用一个将各个队列的编号均匀分布的查找表,来实现队列的流量调度。本发明的优点是实现简单,解决了传统加权轮询算法的缺陷,在实现时,无须比较各个队列的时标寄存器,可以大大减小实现加权轮询算法的难度和复杂度,在使用ASIC或FPGA实现本发明的时候,极大地减小了逻辑器件实现的规模和难度;同时极大地减小了传统加权轮询算法引起的短时流量的抖动,使短时抖动减小到最低程度。另外,由于本发明只进行查表,如果使用CPU进行计算,其速度很快,远远高于现有的加权轮询算法的速度。本发明还可以在SDH/SONET承载包或***包(POS/SPI,Packet Over SDH/SONET/System PacketInterface)接口上实现变长报文的流量调度,即先将变长报文切割成定长的信元,然后应用本发明方法进行调度。
附图说明
图1是传统加权轮询算法的简化调度示意图。
图2是用图1所示的传统加权轮询算法的实施例中编号为CBR_0和CBR_1的队列速率在短时上抖动很大的情况示意图。
图3是本发明使信元流量实现最小抖动的加权轮询方法的流程图。
图4是采用本发明的实施例中编号为CBR_0和CBR_1的两个队列在短时上的速率抖动明显减少的情况示意图。
具体实施方式
本发明是一种使信元流量实现最小抖动的加权轮询方法,该方法是先对各个信元队列进行编号,再配置一个将各个队列的编号均匀分布的查找表,并按照查找表的顺序发送各个队列的信元,从而实现队列的流量调度。
参见图3,该方法包括下列具体步骤:
(1)确定需要实现的各个队列的最小流量或流量控制的最小步进(Bwsmin);例如64K。
(2)确定传输信道上可供使用的总带宽(Bwtmax);例如一条光纤的带宽,或者是***分配的一条传输信道的带宽:622M。
(3)根据上述最小流量和传输信道上可供使用的总带宽,得到所需要的查找表的长度L:L=总带宽(Bwtmax)/最小流量(Bwsmin),也就是RAM存储器的深度(即地址空间)为622M/64K=9800,为了减小RAM空间,可以对其结果L只取整数部分。
(4)将各个恒定比特率CBR业务逐一编号,假如有4096个队列,则可将队列编号为0~4095;再采用伪随机交织的方法在可供使用的总带宽空间里均匀分布配置编号的各个队列,即将各个队列编号0~4095在9800地址空间内均匀分布配置,并将这些配置数据存入查找表中;且配置结果应该符合下列条件:A、各个队列编号出现的次数与其配置的带宽成正比。如配置第0个CBR业务地带宽为128K,那么队列0在查找表(即RAM)中出现的次数应为2次。B、表示各个队列的编号应在RAM空间上均匀分配。C、在整个查找表9800地址中的任何一个节距上,各个队列编号出现的次数与其在查找表内相应位置的个数一致,其误差不超过1个。
(5)根据上述配置的查找表顺序,确定发送的队列编号,同时发送该队列的一个信元;
(6)在每次发送一个信元之后,将查找表的地址加1,再读出查找表内该新地址的数据,即确定下一个发送的队列编号,接着发送该队列的一个信元;
(7)循环进行上述步骤(6)的操作,直至所有队列的信元全部发送完毕。
下面采用背景技术中的同一个实施例进一步具体说明之。假设总带宽为48M,总共有16个队列业务(队列序号小的优先级高),各个队列中需要的最小带宽为1M。该简化的16个队列所需要的带宽分配如下表所示:
  队列业务编号   配置的带宽   队列业务编号   配置的带宽
  CBR_0   21M   CBR_8   1M
  CBR_1   13M   CBR_9   1M
  CBR_2   1M   CBR_10   1M
  CBR_3   1M   CBR_11   1M
  CBR_4   1M   CBR_12   1M
  CBR_5   1M   CBR_13   1M
  CBR_6   1M   CBR_14   1M
  队列业务编号   配置的带宽   队列业务编号   配置的带宽
  CBR_7   1M   CBR_15   1M
采用本发明所述步骤中(1)~(5)的办法得到用于队列调度的查找表,它是一个4×48的RAM,RAM内的数据见下表:
表地址   队列编号 表地址   队列编号 表地址   队列编号 表地址   队列编号
  0   CBR_15   12   CBR_11   24   CBR_1   36   CBR_0
  1   CBR_14   13   CBR_0   25   CBR_0   37   CBR_4
  2   CBR_0   14   CBR_1   26   CBR_7   38   CBR_0
  3   CBR_1   15   CBR_0   27   CBR_0   39   CBR_1
  4   CBR_0   16   CBR_10   28   CBR_1   40   CBR_3
  5   CBR_13   17   CBR_1   29   CBR_0   41   CBR_0
  6   CBR_0   18   CBR_0   30   CBR_6   42   CBR_1
  7   CBR_1   19   CBR_9   31   CBR_0   43   CBR_0
  8   CBR_12   20   CBR_0   32   CBR_1   44   CBR_2
  9   CBR_0   21   CBR_1   33   CBR_5   45   CBR_0
  10   CBR_1   22   CBR_0   34   CBR_0   46   CBR_1
  11   CBR_0   23   CBR_8   35   CBR_1   47   CBR_0
这个查找表与队列调度的顺序是一致的,也就是说,应该按照该查找表的顺序发送队列。
根据上述查找表,对于编号为CBR_0和CBR_1的队列发送时隙在时间轴上的分布则如图4所示。从图4中可以明显看到,采用本发明后,CBR_0和CBRCBR_1队列在短时上的速率抖动显著减小,各个队列的信元均匀发送的好处是显而易见的。同时本发明是采用查表的办法省略了比较时标的程序,大大减少了用ASIC和FPGA器件实现的难度和规模。
本发明的方法已经在申请人研制的设备上进行试验实施,实施的结果是成功的,实现了发明目的。

Claims (8)

1、一种使信元流量实现最小抖动的加权轮询方法,其特征在于:该方法包括下列三个步骤:
A、对各个信元队列进行编号;
B、将各个信元队列的编号均匀分布配置为一个查找表;
C、按照查找表内配置的信元队列编号顺序发送各个队列的信元,实现队列的流量调度。
2、根据权利要求1所述的加权轮询方法,其特征在于:所述的步骤A中,对各个信元队列进行编号之前,进一步包括下列步骤:
A1、确定需要实现的各个队列的最小流量;
A2、确定传输信道上可供使用的总带宽;
A3、根据上述最小流量和传输信道上可供使用的总带宽,得到所需要的查找表的长度L:L=总带宽/最小流量。
3、根据权利要求1或2所述的加权轮询方法,其特征在于:所述的步骤A3中,所需要的查找表是存储所述配置的各个信元队列编号的RAM存储器。
4、根据权利要求2所述的加权轮询方法,其特征在于:所述的查找表的长度是RAM存储器的存储深度,即存储器的存储空间。
5、根据权利要求2所述的加权轮询方法,其特征在于:所述的步骤A3中,根据计算公式L=总带宽/最小流量得到的所需要的查找表的长度L可以只取整数部分,以使该查找表的长度最短;也可以对查找表的长度L的计算结果精确到小数点后的若干位,即加大查找表的长度,使各个队列的流量得到更精确的控制。
6、根据权利要求1所述的加权轮询方法,其特征在于:所述的步骤B中,配置一个将各个队列的编号均匀分布的查找表是采用伪随机交织的方法。
7、根据权利要求1所述的加权轮询方法,其特征在于:所述的步骤C中,按照查找表的顺序发送各个队列的信元,进一步包括下列步骤:
C1、根据上述配置的查找表顺序,确定发送的队列编号,同时发送该队列的一个信元;
C2、在每次发送一个信元之后,将查找表的地址加1,再读出查找表内该新地址的数据,即确定下一个发送的队列编号,接着发送该队列的一个信元;
C3、循环进行上述步骤C2的操作,直至所有队列的信元全部发送完毕。
8、根据权利要求1或2所述的加权轮询方法,其特征在于:对于同步数字系列SDH/同步光网络SONET承载包或基于SDH/SONET的包封装POS/***包接口SPI上的变长报文,先将其切割成定长的信元,再执行所述的各个步骤,可实现变长报文的流量调度。
CN 02155335 2002-12-10 2002-12-10 一种使信元流量实现最小抖动的加权轮询方法 Expired - Fee Related CN1254053C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 02155335 CN1254053C (zh) 2002-12-10 2002-12-10 一种使信元流量实现最小抖动的加权轮询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 02155335 CN1254053C (zh) 2002-12-10 2002-12-10 一种使信元流量实现最小抖动的加权轮询方法

Publications (2)

Publication Number Publication Date
CN1507212A CN1507212A (zh) 2004-06-23
CN1254053C true CN1254053C (zh) 2006-04-26

Family

ID=34235854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 02155335 Expired - Fee Related CN1254053C (zh) 2002-12-10 2002-12-10 一种使信元流量实现最小抖动的加权轮询方法

Country Status (1)

Country Link
CN (1) CN1254053C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359863C (zh) * 2004-12-31 2008-01-02 中兴通讯股份有限公司 一种利用伪随机序列实现加权轮询调度的方法及装置
CN101971578B (zh) * 2007-12-28 2014-07-30 茨特里克斯***公司 Tcp分组间距
CN102684983B (zh) * 2011-03-15 2016-08-03 中兴通讯股份有限公司 一种信元调度方法和装置
CN103338159B (zh) * 2013-06-19 2016-08-10 华为技术有限公司 轮询调度实现方法和装置
CN110995598B (zh) * 2019-11-12 2022-03-04 芯创智(北京)微电子有限公司 一种变长报文数据处理方法和调度装置

Also Published As

Publication number Publication date
CN1507212A (zh) 2004-06-23

Similar Documents

Publication Publication Date Title
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
JP5671150B2 (ja) 電気通信ネットワーク・アプリケーションのためのロックレス・バッファ管理スキーム
US6356951B1 (en) System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US7366865B2 (en) Enqueueing entries in a packet queue referencing packets
US6661774B1 (en) System and method for traffic shaping packet-based signals
US6829678B1 (en) System for determining the order and frequency in which space is allocated on individual storage devices
CN1881937A (zh) 将存储空间动态分配给多个队列的方法及设备
CN1097913C (zh) Atm流量调节
US20040128463A1 (en) Apparatus and method for controlling memory allocation for variable size packets
US20050268037A1 (en) Cache hit ratio estimating apparatus, cache hit ratio estimating method, program, and recording medium
CN103560980B (zh) 用于内部/外部存储器分组和字节计数的方法和装置
CN1643499A (zh) 在多线程网络处理器中的线程信令
JP2006500830A5 (zh)
CN1254053C (zh) 一种使信元流量实现最小抖动的加权轮询方法
US20110016284A1 (en) Memory Management in Network Processors
CN1925455A (zh) 一种基于令牌桶的报文限速方法
CN1577253A (zh) 改进的最早时限第一的调度方法
CN1565143A (zh) 通信网络中业务流的分配传输
CN1949695A (zh) 一种帧数据传输中错帧丢弃的方法和***
CN1826768A (zh) 利用动态资源分配进行的大规模排队的可扩展方法
CN1359067A (zh) 使循环缓冲器中的数据有效的方法
CN111881165B (zh) 一种数据聚合方法、装置和计算机可读存储介质
CN1669276A (zh) 控制带宽分配的方法和***
US20060245443A1 (en) Systems and methods for rate-limited weighted best effort scheduling
CN100344103C (zh) 物理层的数据发送时隙在整个时域上均匀分布的方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060426

Termination date: 20111210