一种共享缓存交换机中的动态阈值管理方法及装置的制造方法_3

文档序号:8530322阅读:来源:国知局
:
[0091] S311、启动第二计数器,以使所述第二计数器计算队列的增长数;
[0092] S312、在所述第二计数器的值第一次改变时,启动第一计时器,以使所述第一计时 器从第一预设时长进行倒数计时;
[0093] S313、在检测到数据包丢失事件发生时,对所述第二计数器清零;
[0094] 相应地,步骤S32具体包括图1中未示出的步骤S321和S322 :
[0095] S321、在所述第一计时器倒数计时的时间段内,所述第二计数器的值达到第二预 设值时,判定所述事件发生的输出端口过载并重置所述第一计时器;
[0096] S322、在所述第一计时器倒数计时的时间段内,所述第二计数器的值没有达到第 二预设值时,重置所述第二计数器。
[0097] 如图2所示,本实施例公开一种共享缓存交换机中的动态阈值管理装置,该装置 包括:处理器以及与所述处理器分别连接的多个控制器,所述控制器的个数由所述交换机 的输出端口的个数确定,一个所述控制器连接一个所述输出端口;
[0098] 所述处理器,用于根据预设的动态阈值策略,限制交换机中每个输出端口占用缓 存的阈值;
[0099] 所述处理器,还用于在限制阈值之后,检测所述交换机的每个输出端口队列的数 据包入队事件、数据包出队事件和/或数据包丢失事件是否发生;
[0100] 所述控制器,用于在所述处理器检测到事件发生时,根据所述事件发生的输出端 口的队列长度的变化(简称队长的变化),判断所述事件发生的输出端口是否过载;
[0101] 所述处理器,还用于在所述控制器判断所述事件发生的输出端口过载时,限制所 述事件发生的输出端口占用缓存的阈值为所述交换机中共享缓存的总大小;
[0102] 所述控制器,还用于在所述处理器限制所述事件发生的输出端口占用缓存的阈值 后,监控所述事件发生的输出端口是否空载;
[0103] 所述处理器,还用于在所述控制器监控到所述事件发生的输出端口空载时,根据 所述预设的动态阈值策略,限制所述事件发生的输出端口占用缓存的阈值,并检测所述交 换机的每个输出端口队列的数据包入队事件、数据包出队事件和/或数据包丢失事件是否 发生,如果发生,则向发生事件的输出端口所对应的控制器发送一个脉冲信号,直至所述交 换机结束工作,所述脉冲信号可以为:数据包入队信号、数据包出队信号或数据包丢失信 号。
[0104] 如图3所示,本实施例公开一种控制器,该控制器可包括:时钟发生器 (Oscillator)、第一计数器(C1)、第二计数器(C2)、第一计时器(T1)及第二计时器(T2);
[0105] 其中,所述时钟发生器分别连接所述第一计时器的时钟端(elk)和第二计时器的 时钟端;
[0106] 所述第一计数器的重置端(reset)的输入信号为第一信号与数据包入队信号经 过逻辑或(图3中的逻辑或门)之后得到的信号,所述第一计数器的加1运算端(inc)的 输入信号为数据包出队信号;其中,所述第一信号为所述第一计时器的输出端(out)的输 出信号与所述第二计时器的输出信号经过逻辑或之后得到的信号;所述数据包入队信号 (enqueue)为所述处理器在检测到数据包入队事件发生时生成的信号;所述数据包出队信 号(dequeue)为所述处理器在检测到数据包出队事件发生时生成的信号;
[0107] 所述第二计数器的重置端的输入信号为所述第一计数器的输出信号、所述第一信 号与数据包丢失信号经过逻辑或之后得到的信号,所述第二计数器的加1运算端的输入信 号为数据包入队信号,所述第二计数器的减1运算端(dec)的输入信号为数据包出队信号; 其中,所述数据包丢失信号(drop)为所述处理器在检测到数据包丢失事件发生时生成的 信号;
[0108] 所述第一计时器的重置端的输入信号为所述第一信号;
[0109] 所述第二计时器的重置端的输入信号为所述第一计数器的输出信号,所述第二计 时器的触发端(trigger)的输入信号为所述第二计数器的输出信号;
[0110] 所述第二计时器的输出信号为所述处理器的输入信号。
[0111] 本实施例中的控制器的工作流程如下:
[0112] 当第一计数器的加1运算端收到一个脉冲信号时,第一计数器的值加1 ;当第一计 数器的重置端收到一个脉冲信号时,第一计数器的值重置为0。
[0113] 当第二计数器的加1运算端收到一个脉冲信号时,第二计数器的值加1 ;当第二计 数器的减1运算端收到一个脉冲信号时,如果第二计数器的值不为0,则第二计数器的值减 1,否则第二计数器的值不变;当第二计数器的重置端收到一个脉冲信号时,第二计数器的 值重置为0。
[0114] 当第一计时器的重置端收到一个脉冲信号时,第一计时器重新从第一预设时长开 始倒数计时;当第一计时器倒数计时完毕时,从输出端输出一个脉冲信号;第一计时器重 新从第一预设时长开始倒数计时。
[0115] 当第二计时器的触发端收到一个脉冲信号时,第二计时器从第二预设时长开始倒 数计时;当第二计时器的重置端收到一个脉冲信号时,第二计时器停止工作;当第二计时 器计时完毕时,第二计时器停止工作;当第二计时器工作时,输出信号为1;当第二计时器 停止工作时,输出信号为0。
[0116] 在图3中,整个电路的输出控制输出端口能占用缓存大小的阈值,当输出为1时, 阈值设为B,B为交换机共享缓存的总大小,否则阈值由动态阈值策略来确定。下面将一一 介绍各个部件的工作原理:
[0117] 与电路的输出信号直接相连的是第二计时器T2。1~2用于控制输出端口处于无控态 的时间。它有3个输入引脚:触发引脚(trigger)、时钟引脚(elk)以及重置引脚(reset)。 当触发引脚接收到一个脉冲时,T2开始倒数计时,直到倒数计时到0。当T2倒数计时到0 时,1停止工作。当T2在倒数计时时,其输出信号设为1 ;否则其输出设为0。T2的计时时 间由micro-burst的持续时间来决定。一般设为1~10ms。
[0118] 第二计数器C2用于检测输出端口是否处于过载状态。(:2的计数值代表的是该输 出端口的队列的增长值。当入队信号中收到一个脉冲时,C2的计数值会加1 ;当出队信号中 收到一个脉冲时,如果C2的计数值不为0,则C2的计数值会减1。当C2计数到一定的临界 值时,该策略就检测出输出端口已经处于过载状态;此时,它会发送一个脉冲信号给T2,使 输出端口转换到无控态,同时,将计数值清零。由于丢包(数据包丢失)意味着输出端口并 不是出于过载状态,因此一旦丢包信号收到一个脉冲信号,C2将会被重置。C2计数的临界值 〇12由如下方法决定:假设到达输出端口的流量的到达速度为R,链路容量为C。为了保证(:2 在达到临界值时,输出端口的队列并没有因为超过阈值而丢包,cn2必须满足如下条件:
[0119] Cn2^ (R-C) ?t!
[0120] 其中h为队列长度超过阈值所要的时间,如果假设已经处于过载状态的输出端口 数目为N,从空载状态转换为过载状态的输出端口数为M,那么
【主权项】
1. 一种共享缓存交换机中的动态阈值管理方法,其特征在于,包括: 根据预设的动态阈值策略,限制交换机中每个输出端口占用缓存的阈值; 在限制阈值之后,检测所述交换机的每个输出端口队列的数据包入队事件、数据包出 队事件和/或数据包
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1