Understanding CoS Priority Group and Queue Guaranteed Minimum Bandwidth
You can set a guaranteed minimum bandwidth for individual forwarding classes (queues) and for groups of forwarding classes called forwarding class sets (priority groups). Setting a minimum guaranteed bandwidth ensures that priority groups and queues receive the bandwidth required to support the expected traffic.
This topic covers:
Guaranteeing Bandwidth Using Hierarchical Scheduling
The guaranteed-rate value for the priority group (configured in a traffic control profile) defines the minimum amount of bandwidth allocated to a forwarding class set on a port, whereas the transmit-rate value of the queue (configured in a scheduler) defines the minimum amount of bandwidth allocated to a particular queue in a priority group. The queue bandwidth is a portion of the priority group bandwidth.
You cannot configure a minimum guaranteed bandwidth (transmit rate) for a forwarding class that is mapped to a strict-high priority queue, and you cannot configure a minimum guaranteed bandwidth (guaranteed rate) for a priority group that includes strict-high priority queues.
Figure 1 shows how the total port bandwidth is allocated to priority groups (forwarding class sets) based on the guaranteed rate of each priority group. It also shows how the guaranteed bandwidth of each priority group is allocated to the queues in the priority group based on the transmit rate of each queue.
The sum of the priority group guaranteed rates cannot exceed the total port bandwidth. If you configure guaranteed rates whose sum exceeds the port bandwidth, the system sends a syslog message to notify you that the configuration is not valid. However, the system does not perform a commit check. If you commit a configuration in which the sum of the guaranteed rates exceeds the port bandwidth, the hierarchical scheduler behaves unpredictably.
The sum of the queue transmit rates cannot exceed the total guaranteed rate of the priority group to which the queues belong. If you configure transmit rates whose sum exceeds the priority group guaranteed rate, the commit check fails and the system rejects the configuration.
You must set both the priority group guaranteed-rate value and the queue transmit-rate value in order to configure the minimum bandwidth for individual queues. If you set the transmit-rate value but do not set the guaranteed-rate value, the configuration fails.
You can set the guaranteed-rate value for a priority group without setting the transmit-rate value for individual queues in the priority group. However, queues that do not have a configured transmit-rate value can become starved for bandwidth if other higher-priority queues need the priority group’s bandwidth. To avoid starving a queue, it is a good practice to configure a transmit-rate value for most queues.
If you configure the guaranteed rate of a priority group as a percentage, configure all of the transmit rates associated with that priority group as percentages. In this case, if any of the transmit rates are configured as absolute values instead of percentages, the configuration is not valid and the system sends a syslog message.
Priority Group Guaranteed Rate (Guaranteed Minimum Bandwidth)
Setting a priority group (forwarding class set) guaranteed-rate enables you to reserve a portion of the port bandwidth for the forwarding classes (queues) in that forwarding class set. The minimum bandwidth (guaranteed-rate) that you configure for a priority group sets the minimum bandwidth available to all of the forwarding classes in the forwarding class set.
The combined guaranteed-rate value of all of the forwarding class sets associated with an interface cannot exceed the amount of bandwidth available on that interface.
You configure the priority group guaranteed-rate in the traffic control profile. You cannot apply a traffic control profile that has a guaranteed rate to a priority group that includes a strict-high priority queue.
Queue Transmit Rate (Guaranteed Minimum Bandwidth)
Setting a queue (forwarding class) transmit-rate enables you to reserve a portion of the priority group bandwidth for the individual queue. For example, a queue that handles Fibre Channel over Ethernet (FCoE) traffic might require a minimum rate of 4 Gbps to ensure the class of service that storage area network (SAN) traffic requires.
The priority group guaranteed-rate sets the aggregate minimum amount of bandwidth available to the queues that belong to the priority group. The cumulative total minimum bandwidth the queues consume cannot exceed the minimum bandwidth allocated to the priority group to which they belong. (The combined transmit rates of the queues in a priority group cannot exceed the priority group’s guaranteed rate.)
You must configure the guaranteed-rate value of the priority group in order to set a transmit-rate value for individual queues that belong to the priority group. The reason is that if there is no guaranteed bandwidth for a priority group, there is no way to guarantee bandwidth for queues in that priority group.
You configure the queue transmit-rate in the scheduler configuration. You cannot configure a transmit rate for a strict-high priority queue.