首页 > 解决方案 > 队列为空后的加权循环

问题描述

在数据包的加权循环实现中,当队列为空时我该怎么办?示例:假设 4 个队列的权重分别为 10%、30%、20%、40%。现在假设 30% 的队列是空的 - 我应该将权重重新分配给其他队列吗?如果是,那么它应该如何重新分配给其他数据包?

(我需要一个以前在加权循环调度中在 linux 内核或其他平台中完成的实现)

标签: networkinglinux-kernelschedulingpacketsround-robin

解决方案


如果队列为空,重新分配权重的一种方法是在繁忙队列中保持公平。只需按照权重的比例将额外的带宽分配给其他队列。

示例:如果 30 为空,其他可以大致调整如下:

10 -> 14.3

20 -> 28.6

40 -> 57.1


推荐阅读