14. Schedulers on 7210 SAS-Sx/S 1/10GE and 7210 SAS-Sx 10/100GE

This section describes the port scheduler and its behavior for 7210 SAS-Sx/S 1/10GE and 7210 SAS-Sx 10/100GE. The port scheduler on 7210 SAS-Sx/S 1/10GE and 7210 SAS-Sx 10/100GE is configured using the port scheduler policies.

14.1. Configuring scheduler policies

On 7210 SAS-Sx/S 1/10GE and 7210 SAS-Sx 10/100GE, there are 2 levels of egress schedulers – a port egress scheduler operating at line-rate or the configured port egress rate and a per FC egress scheduler which provides an option to the user to configure CIR and PIR rate. The FC egress scheduler is parented by the port egress scheduler. A port has a single port egress scheduler with a scheduling node for each FC, for a total of eight(8), as its children. Each FC egress scheduling node has 2 queues as it children, one for unicast traffic and one for multicast traffic (all BUM traffic):

  1. The rate parameter configured under a queue in the access-egress policy and network queue policy limits the amount of bandwidth that the FC will get. The queue ID in the policy maps one-to-one to an FC (with queue #8 mapping to FC nc, queue #7 to FC h2, and so on to queue #1 to FC be). The amount of bandwidth given to a FC is equally distributed among the unicast queue and multicast queue in a WDRR fashion (with equal weights assigned to the queues).

The port scheduler policy mode parameter determines the scheduling order of the FCs as follows:

  1. Mode = Strict (aka strict priority scheduling)
    The port egress scheduler operates in two loops – CIR loop and PIR loop. If configured in strict priority, FC nc is scheduled before FC ‘be’ in both CIR loop and PIR loop. Lower priority FC, will be allocated bandwidth only if the higher priority FC has no traffic to send in the given loop. In other words, in the CIR loop only after meeting the CIR rate of the higher priority FC, the scheduler schedules the lower priority FC, only if port bandwidth remains. After completing the CIR loop and satisfying the CIR rates configured for all the FCs, the scheduler starts the PIR loop (only if more port bandwidth remains). In the PIR loop too, bandwidth is first allocated to higher priority FC followed by lower priority FCs. It is recommended to configure the rates correctly for higher priority FC when using strict priority mode to avoid starvation of lower priority FC.
  2. Mode – weighted (WRR or WDRR)
    If configured for weighted mode (either WDRR or WRR), the weight configured determines the amount of bandwidth a FC gets when contending for traffic with other FCs in the PIR loop. The port scheduler operates in two loop – CIR loop and PIR loop. In CIR loop, the available bandwidth is distributed in round-robin order to all the FCs whose CIR rate is not met. Weight is not considered in the CIR loop. In the PIR loop, the port scheduler distributes the available bandwidth to all the FCs in proportion to the configured weight until their PIR is met. The accounting for amount of bandwidth distributed is in terms of packets which results in unfair advantage to FCs that receive more number of bigger packets.
  3. Mode – Round-Robin (RR)
    If configured for round-robin mode, the port scheduler operates in two loop – CIR loop and PIR loop. In CIR loop, the available bandwidth is distributed in round-robin fashion to all the FCs whose CIR rate is not met. Once the CIR is met for all FCs, in the PIR loop, the port scheduler distributes the available bandwidth to all the FCs until their PIR is met. The accounting for amount of bandwidth distributed is in terms of packets which results in unfair advantage to FCs that receive only larger size packets.
  4. Mode – Hybrid (Strict + WDRR or WRR)
    If the WRR/WDRR weight associated with a particular FC is set to strict, the FC is considered to be operating in a strict priority mode. The set of strict priority queues is serviced first in the order of their priority, with higher priority FC nc scheduled before FC be. In this mode, the scheduler services the strict FCs, followed by the FCs configured with weights in both the CIR and PIR loop. The scheduler ensures that it meets the CIR of all the FCs (both FCs configured as strict and FCs configured as weighted), before scheduling the FCs in the PIR loop (assuming sufficient port bandwidth is available). If multiple FCs are configured as strict, the higher-priority strict queues are serviced first before the lower priority strict queues in both the CIR and the PIR loop. The weights configured for the FCs are only considered during the PIR loop to distribute the available bandwidth in proportion to the weights. Care must be taken when configuring strict priority queues to avoid starvation of lower priority strict queues or weighted queues.