An Optimal Buffer Management Scheme with Dynamic Thresholds论文总结

在本节中,我们提出了一种新颖的动态队列阈值方案。 我们假设交换模块有 K 个端口和一个 B 信元缓冲区,由相应的 K 个端口队列共享。 令 Qk(t) 表示端口队列 k 在时间 t 的队列长度,k = 1,2,...,K。 Qk(t) 可能随着端口 k 的传入流量负载和分配给端口 k 的服务带宽随时间变化而波动。 如果我们将 K 个端口队列同等对待,为了确保缓冲区空间 B 的公平共享,每个队列在过载时应该能够访问至少 B/K 个缓冲区(公平共享)。 另一方面,为了有效利用缓冲区,即实现最大的分流共享,当其他队列不使用此类缓冲区时,重载队列必须能够使用任何可用的缓冲区内存。
上述双重目标是通过为所有 K 个队列动态设置一个公共阈值 T(t) 来实现的。 在我们的方案中,T(t) 由以下算法动态确定:
当目的地为端口 k 的信元在时间 t 到达时,

其中,表示时间t的总队列长度,0 < a < 1。Tm,表示为每个队列静态设置的最小缓存阈值。默认情况下,Tm = 0。因此,如果 Qk(t) < Tnew(t) 且 Q(t) < B,则在时间 t 接受到达端口 k 的信元;否则,单元格被阻塞。在任何一种情况下,公共阈值 Told 的值都会更新为 Tnew(t) 的值。
请注意,在 Eq.(1) 中,参数 a 控制要共享的缓存。对于完整的缓存共享,a 设置为 1,因此当队列过载时,可以实现 100% 的缓冲区利用率,同时在不同队列之间公平共享内存。在实践中,通过调整等式(1)中的参数a和Tm,可以专门为控制和管理分组、消息结束信元等留出少量缓冲区。

 在Eq.(1)中,当Q(t) > a * B时,公式Tnew(t) = max(Told - 1, Tm)可以推广为Tnew(t) = max(Told - c, Tm),其中 c > 0,尽管我们在本文中选择了 c = 1。参数 c 与信元到达率一起控制队列阈值的变化率。
我们在 Eq.(1) 中将 Q0 = a * B 定义为队列过载时要使用的目标缓存量。Eq(1)意味着:当总队列长度 Q(t) 等于或高于目标内存使用量 Qo 时,动态队列阈值 T 以等于总信元到达率的速率减小;每当总队列长度 Q(t) 小于 Q0 时,到达的信元总是被接受到其各自的队列中,并且动态阈值 T 被更新为新的队列长度(例如,包括接受的到达)或其当前的值阈值,以较大者为准。因此,式(1)也可以写成 

其中 Qk(t) 表示接受到达信元后的新队列长度。
方程(1)和方程(2)中的方案在稳态队列长度阈值方面是等价的。对于阈值 T 的瞬态行为,两种方案对于流动交通模型是等价的,即信元到达率、服务率和队列长度都是时间上的连续变量。事实上,等式(2)中的表示更直观。然而,方程(1)中的表示更容易在实际系统中实现。对于 DT 方案,在稳态下,公共阈值由 (3) 给出,

 其中 ka, 1<= ka <= K, 是过载端口队列的数量.

 

在图 1 中,我们使用离散时间模拟的说明性示例来展示动态阈值方案如何通过适应不断变化的流量负载来工作。模拟系统是一个 6 x 6 交换,总缓存大小 B = 120 cell。时间以slot为单位。6个端口队列中的每一个都由具有确定性 ON 和 OFF 周期的 ON/OFF 源馈送。处于ON状态时,各源以大于端口服务速率的速率生成信元,使队列超载;当它处于 OFF 状态时,不会产生任何单元格。我们为每个源设置 ON/OFF 周期,使得在不同的时间间隔内,过载队列的数量从 1 到 6 不等。六个源的 ON/OFF 周期是 {(on, off)} = ((12000, 6000), (5000, 1000), (4000,3000), (3000,5000), (2000,7000), ( 1000,9000))。最初,所有源都处于 ON 状态。在本例中我们选择 a = 1 时,目标缓存使用量 Q0 = 120。最初所有 6 个队列都超载,根据 (1) 中的算法,公共动态阈值为 20 个信元。如图 1 所示,每个单独的队列长度约为 20 个单元。此后,每 1000 个时隙,直到 t = 5000,其中一个源进入OFF状态,过载队列的数量从 6 减少到 1。DT 方案在稳态下的阈值为 24、30、40、60 和120(cell),分别根据(1)中的算法。图 1 中显示的各个队列长度接近动态阈值。从 t = 6000 开始,每经过 1000 个时隙,直到 1 = 10000,其中一个源打开,过载队列的数量从 1 增加到 6。DT 方案的阈值为 60、40、30、24 和20,另外地,单队列长度也表现出类似的行为。单个队列长度行为在 t = 10000 之后进一步显示,具有不同数量的过载端口队列。请注意,在 t = 18000 时,三个源(#1、#2、#5)打开,一个源(#4)进入关闭状态。超载队列的数量从 2 跳到 4。
从这个例子我们可以看出,(1)描述的DT方案动态地适应系统中的流量负载。它最大化缓冲区使用率,即缓冲区占用率始终是目标值 120 个单元格,存在任何过载队列,同时确保每个单独的过载队列的公平份额(如 (3) 所示)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值