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

文档序号:8530322阅读:672来源:国知局
一种共享缓存交换机中的动态阈值管理方法及装置的制造方法
【技术领域】
[0001] 本发明涉及共享缓存交换机技术领域,具体涉及一种共享缓存交换机中的动态阈 值管理方法及装置。
【背景技术】
[0002] 在交换机中,当多个输入端口要同时向一个输出端口发送数据包时,并且多个输 入端口总的发送速率大于输出端口的最大数据传输速率时,需要将数据包缓存在交换机内 部。然而,交换机芯片上(on-chip)的缓存成本极高,而片下(off-chip)的缓存速度又很 慢。
[0003] 为了提高交换机缓存的利用率,同时保证存取的速度,现有的高速交换机往往利 用统计复用的特点,让所有的输出端口都共享同一块缓存,即共享缓存结构。然而,当某一 个输出端口负载量很大时,会占用大部分的共享缓存,使其它输出端口无法获取缓存,造成 公平性问题。
[0004] 为了解决公平性问题,必须对交换机的共享缓存进行管理。在历史上,曾经提出过 诸多缓存管理策略。AKChoudhury等人提出的动态阈值(DynamicThreshold,DT)策略就 是其中之一,并且已经得到广泛地应用。
[0005] 动态阈值策略与其它的缓存管理策略相比,具有结构简单(易于实现),适应性高 的特点。动态阈值策略使用阈值来限制每一个输出端口能占用缓存的量。当过载的端口 数目很少时,能让每一个端口能占用很大的缓存,以保证缓存利用率;当过载的端口数目很 多时,又能保证每一个端口占用的缓存大小相同,以保证公平性,即阈值是动态可调节的阈 值。
[0006] 在数据中心网络中,micro-burst流量是一种常见的突发流量,其特点是持续时间 短,现有共享缓存控制方法在遇到micro-burst流量时,易发生大量丢包现象,无法很好的 吸收micro-burst流量。

【发明内容】

[0007] 本发明所要解决的技术问题是在数据中心网络中,micro-burst流量是一种常见 的突发流量,其特点是持续时间短,现有共享缓存控制方法在遇到micro-burst流量时,易 发生大量丢包现象,无法很好的吸收micro-burst流量的问题。
[0008] 为此目的,第一方面,本发明提出一种共享缓存交换机中的动态阈值管理方法,包 括:
[0009] 根据预设的动态阈值策略,限制交换机中每个输出端口占用缓存的阈值;
[0010] 在限制阈值之后,检测所述交换机的每个输出端口队列的数据包入队事件、数据 包出队事件和/或数据包丢失事件是否发生;
[0011] 若检测到事件发生,则根据所述事件发生的输出端口的队列长度的变化,判断所 述事件发生的输出端口是否过载;
[0012] 若判断所述事件发生的输出端口过载,则限制所述事件发生的输出端口占用缓存 的阈值为所述交换机中共享缓存的总大小;
[0013] 在限制所述事件发生的输出端口占用缓存的阈值后,监控所述事件发生的输出端 口是否空载;
[0014] 若监控到所述事件发生的输出端口空载,则根据所述预设的动态阈值策略,限制 所述事件发生的输出端口占用缓存的阈值,并执行所述检测所述交换机的每个输出端口队 列的数据包入队事件、数据包出队事件和/或数据包丢失事件是否发生的步骤,直至所述 交换机结束工作。
[0015] 可选的,所述监控所述事件发生的输出端口是否空载,具体包括:
[0016] 监控所述数据包出队事件是否连续发生以及所述数据包入队事件是否发生;
[0017] 若所述数据包出队事件连续发生且所述数据包入队事件未发生,则判定所述事件 发生的输出端口空载。
[0018] 可选的,所述监控所述数据包出队事件是否连续发生以及所述数据包入队事件是 否发生,具体包括:
[0019] 启动第一计数器,以使所述第一计数器计算所述数据包出队事件连续发生的次 数;
[0020] 在监控到所述数据包出队事件发生时,使所述第一计数器的值加1,在监控到所述 数据包入队事件发生时,重置所述第一计数器;
[0021] 相应地,所述若所述数据包出队事件连续发生且所述数据包入队事件未发生,则 判定所述事件发生的输出端口空载,包括:
[0022] 若所述第一计数器的值达到第一预设值时,则判定所述事件发生的输出端口空 载。
[0023] 可选的,在所述限制所述事件发生的输出端口占用缓存的阈值为所述交换机中共 享缓存的总大小的步骤之后,所述方法还包括:
[0024] 启动第二计时器,以使所述第二计时器从第二预设时长进行倒数计时;
[0025] 相应地,所述监控所述事件发生的输出端口是否空载,具体包括:
[0026] 在所述第二计时器倒数计时的时间段内,监控所述事件发生的输出端口是否空 载。
[0027] 可选的,在所述第二计时器倒数计时的时间段内,监控所述事件发生的输出端口 是否空载的步骤之后,所述方法还包括:
[0028] 若监控到所述事件发生的输出端口空载,重置所述第二计时器。
[0029] 可选的,在所述第二计时器倒数计时的时间段内,监控所述事件发生的输出端口 是否空载的步骤之后,所述方法还包括:
[0030] 若在所述第二计时器超时,没有监控到所述事件发生的输出端口空载,则重置所 述第二计时器。
[0031] 可选的,所述根据所述事件发生的输出端口的队列长度,判断所述事件发生的输 出端口是否发生过载,具体包括:
[0032] 判断所述事件发生的输出端口的队列长度是否持续增长以及数据包丢失事件是 否发生;
[0033] 若所述事件发生的输出端口的队列长度持续增长以及数据包丢失事件发生,则判 定所述事件发生的输出端口过载。
[0034] 可选的,所述判断所述事件发生的输出端口的队列长度是否持续增长以及数据包 丢失事件是否发生,具体包括:
[0035]启动第二计数器,以使所述第二计数器计算队列的增长数;
[0036] 在所述第二计数器的值第一次改变时,启动第一计时器,以使所述第一计时器从 第一预设时长进行倒数计时;
[0037] 在检测到数据包丢失事件发生时,对所述第二计数器清零;
[0038] 相应地,所述判定所述事件发生的输出端口过载,具体包括:
[0039] 在所述第一计时器倒数计时的时间段内,所述第二计数器的值达到第二预设值 时,判定所述事件发生的输出端口过载并重置所述第一计时器;
[0040] 在所述第一计时器倒数计时的时间段内,所述第二计数器的值没有达到第二预设 值时,重置所述第二计数器。
[0041] 第二方面,本发明还提出一种共享缓存交换机中的动态阈值管理装置,包括:处理 器以及与所述处理器分别连接的多个控制器,所述控制器的个数由所述交换机的输出端口 的个数确定,一个所述控制器连接一个所述输出端口;
[0042] 所述处理器,用于根据预设的动态阈值策略,限制交换机中每个输出端口占用缓 存的阈值;
[0043] 所述处理器,还用于在限制阈值之后,检测所述交换机的每个输出端口队列的数 据包入队事件、数据包出队事件和/或数据包丢失事件是否发生;
[0044] 所述控制器,用于在所述处理器检测到事件发生时,根据所述事件发生的输出端 口的队列长度的变化,判断所述事件发生的输出端口是否过
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1