层次化 CoS 队列的抖动减少
队列抖动与最大队列数有关
模块化接口卡 (MIC) 或模块化端口集中器 (MPC) 上的每个队列芯片在内部托管一个 速率轮线程 ,该线程将 整形器积分 更新到每个计划层次结构级别可用的 整形器 中。在每个层级,更新期的时长决定了调度的两个关键特征:
队列不丢弃数据包所需的最小缓冲区。
队列中遇到的 抖动 程度。
在每个层级,速率轮更新期的长度取决于为该节点级别启用的实体数量。由于流量在第 5 级(队列)排队并向上计划到第 1 级(端口),因此在级别 5 启用的实体(队列)数量决定了在调度层次结构的其他级别启用的实体(逻辑接口、接口集或端口)的数量。通过扩展,为给定计划程序节点层次结构启用的队列数决定了所有层级的更新期长度。因此,限制分层队列 MIC 或 MPC 支持的最大队列数可以降低队列中的抖动。要配置每个分层队列 MIC 或 MPC 允许的最大队列数,请在 max-queues
层级添加语句 [edit chassis fpc slot-number]
。
分层排队 MIC 和 MPC 的默认最大队列
MIC 或 MPC 上的 QX 芯片由两个对称的一半组成,每个半部分最多支持 64 个 K 队列(每个 QX 芯片 128 个 K 队列)。带有 XFP 和MPC1_Q线卡的 2 端口和 4 端口 10 千兆以太网 MIC 采用一个芯片组,最多可支持 128 K 个队列,分布在单个 QX 芯片的两个分区中。MPC2 Q 和 MPC2 EQ 线卡具有两个芯片组,可支持最多 256 个 K 队列,分布在两个 QX 芯片的四个分区中。
表 1 列出了默认情况下支持的最大队列数以及每个分层排队 MIC 或 MPC 的相应速率轮更新周期。
路由器型号 |
分层排队 MIC 或 MPC |
最大队列数 |
速率轮更新期 |
---|---|---|---|
MX5、 MX10、 MX40 和 MX80 模块化 |
2 端口 10 千兆以太网 MIC(带 XFP) 机箱基础板托管一个基于芯片组的数据包转发引擎进程,该进程在独立模式下运行。单个 QX 芯片由两个分区组成,每个分区都支持 64 个 K 队列的出口端口。 |
128 K |
1.6 毫秒 |
MX240、 MX480、 MX960、 MX2010 和 MX2020 |
MPC1 Q MPC1 Q 线卡托管一个基于芯片组的数据包转发引擎进程,该进程在交换矩阵模式下运行。单个 QX 芯片由两个分区组成,每个分区都支持 64 个 K 队列的出口端口。 |
128 K |
1.6 毫秒 |
MPC2 Q MPC2 Q 线卡托管两个基于芯片组的数据包转发引擎进程,这些进程在交换矩阵模式下运行。这两个 QX 芯片由四个分区组成,每个分区都支持 64 个 K 队列的出口端口。 |
256 K |
1.6 毫秒 |
|
MPC2 EQ MPC2 EQ 线卡托管两个基于芯片组的数据包转发引擎进程,这些进程在交换矩阵模式下运行。这两个 QX 芯片由四个分区组成,每个分区都支持 64 个 K 队列的出口端口。 |
256 K |
2.6 毫秒 |
您可以配置分层排队 MIC 和 MPC 以支持减少的最大队列数。这样做可缩短 QX 芯片使用的速率轮更新周期,从而减少线卡上托管的出口接口队列中的抖动。
将速率细粒度整形作为速率轮更新周期的一个功能
缩短 QX 芯片速率轮更新周期的长度,除了减少分层调度队列中的抖动外,还间接提高了整形粒度。
对于给定的端口线速和计划层次结构级别,整形粒度是最小整形程序信用大小和实际速率轮更新期的函数,这与线卡支持的队列数有关。
shaping granularity = minimum shaper credit size / rate wheel update period
表 2 显示了如何使用最小整形器信用大小和速率轮更新期的默认值计算非增强的排队 MIC 和 MPC 线卡的整形粒度。
端口类型 |
层次结构级别 |
非增强型排队 MIC 或 MPC 默认 |
细粒度计算 |
|
---|---|---|---|---|
最低积分 |
更新期限 |
|||
1 Gbps 队列 |
级别 1(端口)、级别 4(队列) |
|
|
|
级别 2、级别 3 |
|
|
|
|
10 Gbps 队列 |
级别 1(端口)、级别 4(队列) |
|
|
|
级别 2、级别 3 |
|
|
|