Excess Rate and Excess Priority Configuration Examples

 

To configure the excess rate for nonqueuing Packet Forwarding Engines, include the excess-rate statement at the [edit class-of-service schedulers scheduler-name] hierarchy level.

To configure the excess priority for nonqueuing Packet Forwarding Engines, include the excess-priority statement at the [edit class-of-service schedulers scheduler-name] hierarchy level.

The relationship between the configured guaranteed rate, excess rate, guaranteed priority, excess priority, and offered load is not always obvious. The following tables show the expected throughput of a Gigabit Ethernet port with various bandwidth-sharing parameters configured on the queues.

The default behavior of a nonqueuing Gigabit Ethernet interface with multiple priority levels is shown in Table 1. All queues in the table get their guaranteed rate. The excess bandwidth is first offered to the excess high-priority queues. Because these use all available bandwidth, these is no remaining excess bandwidth for the low-priority queues.

Table 1: Current Behavior with Multiple Priority Levels

Queue

Guaranteed (Transmit) Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

high

high

600 Mbps

200 + 366.67 = 566.67 Mbps

Q1

10%

high

high

500 Mbps

100 + 183.33 = 283.33 Mbps

Q2

10%

low

low

500 Mbps

100 + 0 = 100 Mbps

Q3

5%

low

low

500 Mbps

50 + 0 = 50 Mbps

The default behavior of a nonqueuing Gigabit Ethernet interface with the same priority levels is shown in Table 2. All queues in the table get their guaranteed rate. Because all queues have the same excess priority, they share the excess bandwidth and each queue gets excess bandwidth in proportion to the transmit rate.

Table 2: Current Behavior with Same Priority Levels

Queue

Guaranteed (Transmit) Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

high

high

500 Mbps

200 + 244.44 = 444.44 Mbps

Q1

10%

high

high

500 Mbps

100 + 122.22 = 222.22 Mbps

Q2

10%

high

high

500 Mbps

100 + 122.22 = 222.22 Mbps

Q3

5%

high

high

500 Mbps

50 + 61.11= 111.11 Mbps

The default behavior of a nonqueuing Gigabit Ethernet interface with the at least one strict-high priority level is shown in Table 3. First the high priority and strict-high are serviced in a weighted round-robin fashion. The high priority queue gets its guaranteed bandwidth and the strict-high queue gets what remains. The high excess priority queue gets all the excess bandwidth.

Table 3: Current Behavior with Strict-High Priority

Queue

Guaranteed (Transmit) Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

strict-high

X

500 Mbps

500 Mbps

Q1

10%

high

high

500 Mbps

100 + 250 = 350 Mbps

Q2

10%

low

low

500 Mbps

100 + 0 = 100 Mbps

Q3

5%

low

low

500 Mbps

50 + 0= 50 Mbps

The default behavior of a nonqueuing Gigabit Ethernet interface with the at least one strict-high priority level and a higher offered load on Q0 is shown in Table 4. First the high priority and strict-high are serviced in a weighted round-robin fashion. The high priority queue gets its guaranteed bandwidth and the strict-high queue gets what remains. (The high priority queue receives its guaranteed bandwidth unless a strict-high queue is configured, which in certain conditions might starve the high priority queue. To guarantee the configured transmit rate on high-priority queues, apply the rate-limit option to the transmit rate of the strict-high priority queue.) There is no excess bandwidth.

Table 4: Strict-High Priority with Higher Load

Queue

Guaranteed (Transmit) Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

strict-high

X

1 Gbps

900 Mbps

Q1

10%

high

high

500 Mbps

100 + 0 = 100 Mbps

Q2

10%

low

low

500 Mbps

0 + 0 = 0 Mbps

Q3

5%

low

low

500 Mbps

0 + 0= 0 Mbps

Now consider the behavior of the queues with configured excess rates and excess priorities.

The behavior with multiple priority levels is shown in Table 5. All queues get the guaranteed rate. The excess bandwidth is first offered to the excess high priority queues and these consume all the bandwidth. There is no remaining excess bandwidth for low priority queues.

Table 5: Sharing with Multiple Priority Levels

Queue

Guaranteed (Transmit) Rate

Excess Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

10%

high

high

500 Mbps

200 + 275 = 475 Mbps

Q1

10%

20%

high

low

500 Mbps

100 + 0 = 100 Mbps

Q2

10%

10%

low

high

500 Mbps

100 + 275 = 275 Mbps

Q3

5%

20%

low

low

500 Mbps

50 + 0= 50 Mbps

The behavior with the same (high) priority levels is shown in Table 6. All queues get the guaranteed rate. Because all queues have the same excess priority, they share the excess bandwidth in proportion to their transmit rate.

Table 6: Sharing with the Same Priority Levels

Queue

Guaranteed (Transmit) Rate

Excess Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

10%

high

high

500 Mbps

200 + 91.67 = 291.67 Mbps

Q1

10%

20%

high

high

500 Mbps

100 + 183.33 = 283.33 Mbps

Q2

10%

10%

high

high

500 Mbps

100 + 91.67 = 191.67 Mbps

Q3

5%

20%

high

high

500 Mbps

50 + 183.33 = 233.33 Mbps

The behavior with at least one strict-high priority level is shown in Table 7. The high priority and strict-high queues are serviced in a weighted round-robin fashion. The high priority queue gets its guaranteed rate and the strict-high queue gets the rest. The excess high-priority queue get all the excess bandwidth.

Table 7: Sharing with at Least One Strict-High Priority

Queue

Guaranteed (Transmit) Rate

Excess Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

X

strict-high

X

500 Mbps

500 Mbps

Q1

10%

20%

high

low

500 Mbps

100 + 0 = 100 Mbps

Q2

10%

10%

low

high

500 Mbps

100 + 250 = 350 Mbps

Q3

5%

20%

low

low

500 Mbps

50 + 0 = 50 Mbps

The behavior with at least one strict-high priority level and a higher offered load is shown in Table 8. The high priority and strict-high queues are serviced in a weighted round-robin fashion. The high priority queue gets its guaranteed rate and the strict-high queue gets the rest. There is no excess bandwidth.

Table 8: Sharing with at Least One Strict-High Priority and Higher Load

Queue

Guaranteed (Transmit) Rate

Excess Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

X

strict-high

X

900 Mbps

900 Mbps

Q1

10%

20%

high

low

500 Mbps

100 + 0 = 100 Mbps

Q2

10%

10%

low

high

500 Mbps

0 + 0 = 0 Mbps

Q3

5%

20%

low

low

500 Mbps

0 + 0 = 0 Mbps

The behavior with at least one strict-high priority level and a rate limit is shown in Table 9. Queue 0 and Queue 2 are rate limited, so the maximum bandwidth they are offered is the transmit bandwidth and they will not be offered any excess bandwidth. All other queues are offered the guaranteed bandwidth and the excess is shared by the non-rate-limited queues.

Table 9: Sharing with at Least One Strict-High Priority and Rate Limit

Queue

Guaranteed (Transmit) Rate

Rate Limit

Excess Rate

Guaranteed Priority

Excess Priority

Offered Load

Expected Throughput

Q0

20%

Yes

X

strict-high

X

500 Mbps

200 + 0 = 200 Mbps

Q1

10%

No

20%

high

low

500 Mbps

100 + 275 = 375 Mbps

Q2

10%

Yes

10%

low

high

500 Mbps

100 + 0 = 100 Mbps

Q3

5%

No

20%

low

low

500 Mbps

50 + 275 = 325 Mbps

Configuring the Schedulers

The following example configures schedulers, forwarding classes, and a scheduler map for an interface with excess rates and excess priorities.

Configuring the Forwarding Classes

Configuring the Scheduler Map

Applying the Scheduler Map to the Interface