Scheduling

Each port scheduler can be viewed as six separate schedulers, one for each scheduling class. At the port level, there are six strict priorities serviced exhaustively (priority level six is highest).

Scheduling classes at the port level and queues at the SPI level can be mapped to WRR groups. Within the WRR group, each WRR group member (a queue or a scheduling class) is assigned a weight that is used for relative scheduling importance of the queue or scheduler class to other active queues or scheduler classes at the same scheduling service level.

Scheduling opportunity at each tier within the scheduling class is governed by a weighted mechanism. By default, primary shaper members in secondary shaper lists and secondary shaper members in port scheduling class lists use a dynamic weighting function that increases a member’s weight based on the amount of pending work associated with that member. This allows a primary shaper with 10,000 active queue sets (SPIs) to receive proportionately more scheduling opportunities at the secondary shaper level than another primary shaper with only 100 active queue sets (SPIs). The dynamic weight is based on actual activity and not simply based on number of potential (provisioned) membership.

A complete scheduling hierarchy must be maintained between each attached queue at the SPI level and its port priority. In other words, the HSQ has no provision to bypass the primary and secondary shaping and scheduling levels. Entities at the SPI level must be associated with a primary shaper and each primary shaper must be associated with a secondary shaper. All queues in the same queue set are mapped to the same primary shaper. All scheduling classes in the same primary shaper are mapped to the same secondary shaper. A default secondary shaper context is created for each port scheduler and a default primary shaper (this is called a managed bypass primary shaper) context is created for each secondary shaper context. Through normal provisioning events, other non-default secondary shapers and primary shapers can also be created.