DOCSIS Predictive Scheduler

This chapter describes how to configure the DOCSIS Predictive Scheduler (DPS) on the Cisco cBR Series Converged Broadband Router.

Information about DOCSIS Predictive Scheduler

DOCSIS Predictive Scheduler (DPS) is a scheduling technique to reduce the DOCSIS upstream latency by predictively allocating unsolicited grants to active service flows.

When enabled, DPS provides benefits to bonded service flows with scheduling service of type Real-Time Polling Service (rtPS), Non-Real-Time Polling Service (nrtPS), and Best Effort (BE).

DPS automatically identifies:

  • service flows to which to issue predictive grants

  • size of the grants to send

  • when to send the grants

Predictive grants are sent after honoring all bandwidth requests received by the CMTS. DPS relies on unallocated MAP capacity to issue predictive grants. Therefore, the less upstream capacity is utilized, the more predictive grants that DPS can issue, and vice-versa.

The upstream latency improvements depend on several factors, such as the difference between the service flow's upstream bitrate and its max-rate, the congestion in the upstream channels, and the predictability of the traffic. In the best-case scenario, latency reductions of 66% are achievable due to a reduction of the request-grant delay from approximately three times the one-way propagation delay to one times the one-way propagation delay. Reductions on the upstream latency translate into upper layer performance improvements depending on the upper layer protocols. For example, reducing the upstream latency in the DOCSIS link may improve the TCP upstream and downstream throughput.

DPS is enabled on per MAC domain basis, and should be configured to issue predictive grants only on the SCQAM channels.

Configuring DPS on Cable Interface

Use the following steps to configure DPS on a MAC domain:

enable 
configure terminal 
interface cable slot/subslot/interface 
cable upstream dps scqam-only  

DPS configuration is also supported within a MAC domain profile. If you want to configure the number of reserved minislots for contention, use the cable upstream min-bwreq-ops command on a per MAC domain basis.

This is a configuration example:

Router> enable
Router# configure terminal
Router(config)# interface Cable 7/0/1
Router(config-if)# cable upstream dps scqam-only
Router(config-if)# cable upstream min-bwreq-ops scqam 5 0

Displaying DPS Grants on Upstream Channel

To view the number of bytes granted by DPS on an upstream channel, use the show controller cable slot/subslot/interface upstream upstream command as shown in the following example:

Router# show controller Cable 1/0/5 upstream 0 | include DPS
DPS Bytes Granted = 27595485909

Note

DPS related counters are only displayed when DPS is configured.


Displaying DPS Grants for Cable Modem

DPS grants are issued on a per service flow basis. While a service flow may be allocated with more than one SID, DPS always grants on the SID from the first SID cluster. To determine the service flows and the corresponding SIDs for a given CM, use the show cable modem mac-address qos command as shown in the following example:

Router# show cable modem 0000.0020.01c0 qos
Sfid  Dir Curr  Sid   Sched  Prio MaxSusRate  MaxBrst     MinRsvRate  Throughput
          State       Type
173   US  act   89    BE     6    64000       3044        0           0
2538  US  act   1447  BE     1    120000000   50000       0           0
2539  US  act   1449  BE     1    2200000     50000       0           0
174   DS  act   N/A   N/A    6    64000       96000       0           0
2540  DS  act   N/A   N/A    1    0           65536       0           0
2541  DS  act   N/A   N/A    1    99000000    10000000    0           0
2542  DS  act   N/A   N/A    1    17600000    65536       0           0

To display the number of grants and granted bytes on a per service flow basis, use the show interface cable slot/subslot/interface sid sid counter verbose command as shown in the following example (for SFID 173):

Router# show interface cable 1/0/5 sid 89 counter verbose
Sid                            : 89
Request polls issued           : 0
BWReqs {Cont,Pigg,RPoll,Other} : 523, 10, 0, 0
Grants issued                  : 533
Packets received               : 1066
Bytes received                 : 180576
Queue-indicator bit statistics : 0 set, 0 granted
Total Codewords rx             : 2073
Good Codewords rx              : 2073
Corrected Codewords rx         : 0
Uncorrectable Codewords rx     : 0
Concatenated headers received  : 0
Fragmentation headers received : 0
Fragmentation headers discarded: 0

DPS grants                     : 0
DPS bytes granted              : 0

Note

Two DPS related counters are only displayed when DPS is configured.


Displaying Upstream Utilization

There are three utilization metrics that can be used to assess the behavior of DPS:

  • %data bytes (upstream capacity utilization by traffic): If t1 bytes were sent in the upstream, and the upstream channel capacity was c1 bytes, then this term refers to t1/c1.

  • %dps grants (upstream grants scheduled by dps): If g1 total grant opportunities exist within a map interval, and d1 grants are issued by DPS, then this term refers to d1/g1.

  • %data grants (total upstream grants scheduled): If g1 total grant opportunities exist within a map interval, d1 grants are issued by DPS and b1 grants are issued due to bandwidth requests, then this term refers to (d1 + b1)/g1.

To display the utilization rates on a per upstream channel basis for all three metrics above, use the show interface cable slot/subslot/interface mac-scheduler command as shown in the following example.

Router# show interface cable 1/0/2 mac-scheduler 
     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U0 : rate 30720000
     wfq:None 
     us_balance:OFF 
     dps:ON - SCQAM only
     dpon_mode:OFF 
     fairness:OFF 
     Queue[Rng Polls] flows 0
     Queue[CIR Grants] flows 0
<snip>
     Adv Phy Short Grant Slots 128066, Adv Phy Long Grant Slots 29214
     Adv Phy UGS Grant Slots 0
     Avg upstream channel utilization(%data bytes)  : 0%
     Avg upstream channel utilization(%dps grants) : 46%
     Avg upstream channel utilization(%data grants) : 46%
     Avg upstream channel utilization in 30 sec : 0%
     Avg percent contention slots : 53%
     Avg percent initial ranging slots : 1%
     Avg percent minislots lost on late MAPs : 0%
     Avg percent guardband slots : 0%
<snip>

     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U1 : rate 30720000
     wfq:None 
     us_balance:OFF 
     dps:ON - SCQAM only
     dpon_mode:OFF 
     fairness:OFF 
     Queue[Rng Polls] flows 0
     Queue[CIR Grants] flows 0
<snip>
     Short Grant Slots 0, Long Grant Slots 0
     Adv Phy Short Grant Slots 121745, Adv Phy Long Grant Slots 28446
     Adv Phy UGS Grant Slots 0
     Avg upstream channel utilization(%data bytes)  : 0%
     Avg upstream channel utilization(%dps grants) : 40%
     Avg upstream channel utilization(%data grants) : 40%
     Avg upstream channel utilization in 30 sec : 0%
     Avg percent contention slots : 58%
     Avg percent initial ranging slots : 1%
     Avg percent minislots lost on late MAPs : 0%
     Avg percent guardband slots : 0%
Ruoter#show interface cable 1/0/2 mac-scheduler | incl utilization|rate
     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U0 : rate 30720000
     Avg upstream channel utilization(%data bytes)  : 0%
     Avg upstream channel utilization(%dps grants) : 95%
     Avg upstream channel utilization(%data grants) : 95%
     Avg upstream channel utilization in 30 sec : 93%
     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U1 : rate 30720000
     Avg upstream channel utilization(%data bytes)  : 75%
     Avg upstream channel utilization(%dps grants) : 95%
     Avg upstream channel utilization(%data grants) : 95%
     Avg upstream channel utilization in 30 sec : 93%
     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U6 : rate 195592784
     IUC: 5 	rate: 195592784
     IUC: 6 	rate: 175962768
     IUC: 9 	rate: 156332752
     IUC: 10 	rate: 136702736
     IUC: 11 	rate: 117072712
     IUC: 12 	rate: 97442704
     IUC: 13 	rate: 77989528
     Avg upstream channel utilization(%data bytes)  : 0%
     Avg upstream channel utilization(%dps grants) : 0%
     Avg upstream channel utilization(%data grants) : 1%
     Avg upstream channel utilization in 30 sec : 0%
     DOCSIS 1.1 MAC scheduler for Cable1/0/2/U7 : rate 219982848
     IUC: 5 	rate: 0
     IUC: 6 	rate: 0
     IUC: 9 	rate: 0
     IUC: 10 	rate: 219982848
     IUC: 11 	rate: 202211312
     IUC: 12 	rate: 179636656
     IUC: 13 	rate: 135928256
     Avg upstream channel utilization(%data bytes)  : 0%
     Avg upstream channel utilization(%dps grants) : 0%
     Avg upstream channel utilization(%data grants) : 0%
     Avg upstream channel utilization in 30 sec : 0%

Note

Data grants based utilization is calculated every 0.5 second, whereas the data bytes based utilization is calculated every 5 seconds for SCQAM channels and every 10 seconds for OFDMA channels.


Displaying Upstream Capacity Reserved for Contention Minislot

When DPS is enabled, some of the MAP capacity that was previously allocated for contention minislots is now used to issue predictive grants.

To display how much of the upstream capacity is reserved for contention minislots, use the show interface cable slot/subslot/interface mac-scheduler upstream map-stats | inc bwr command as shown in the following example:

Router#show interface cable 8/0/2 mac-schedulder 0 map-stats | inc bwr
     min_bwr_ops_pct 5.0, min_bwreq_mslot 8 sched min_bwreq_mslot 8

min_bwr_ops_pct represents the percent of the upstream capacity reserved for the contention minislots. min_bwreq_mslot represents the equivalent number of minislots reserved for the contention minislots.

DOCSIS Predictive Scheduler Best Practices

MIBs

The CMTS derives the following two MIBs from the data grants allocated in MAPs:

  • MIB docsIf31CmtsUsOfdmaChanUtilization: Recalculated every 5 seconds

  • MIB docsIfCmtsChannelUtUtilization: Recalculated every 5 seconds

Both MIBs include DPS related grants.

Load Balancing

Load balancing uses data grant-based average calculated over a 30-second interval. This average includes the DPS grants.

Contention Based Bandwidth Requests

Without DPS, as the CMTS adds more data grants in a MAP, the number of bandwidth request opportunities in a MAP decreases. During busy times, this reduction can lead to an increase in upstream latency, either due to collisions, a much larger back-off window (in time), or both.

DPS issues data grants in a MAP at the expense of bandwidth request opportunities. The worst case is when an upstream channel is at full data grants, at which point there is only a single bandwidth request per MAP. To avoid this situation’s potential negative effects, we recommend setting the minimum percentage of contention-based bandwidth request opportunities to a non-zero value, e.g., 5%. Tuning may still be needed.

This is a configuration example for SC-QAM:

Router> enable
Router# configure terminal
Router(config)# interface Cable 7/0/1
Router(config-if)# cable upstream min-bwreq-ops scqam 5 0

This is a configuration example for OFDMA:

Router> enable
Router# configure terminal
Router(config)# interface Cable 7/0/1
Router(config-if)# cable upstream min-bwreq-ops ofdma 5 0

MAP Advance Time

The use of DPS increases the MAP build time by up to 50 microseconds per MAP. This additional build time accumulates for each MAP in a MAC domain (a maximum of 16) such that the last MAP can be transmitted as much as 800 microseconds later (than without DPS). Thus, when using DPS, we recommend increasing the MAP Advance parameter. Otherwise, some CMs may transition into partial mode due to late MAPs at the CM, even though the same MAPs would arrive on time at the PHY.

When using dynamic MAP advance, increasing the safety factor from 1200 to 2000 microseconds and the maximum MAP advance from 2000 to 2800 microseconds mitigated the extra MAP build time. Tuning may still be needed.

This is a configuration example:

Router> enable
Router# configure terminal
Router(config)# interface Cable 7/0/1
Router(config-if)# cable map-advance dynamic 2000 2800

Cable Modem Interoperability

DOCSIS 3.0 and above CMs are candidates for DPS granting. Some DOCSIS 3.0 CMs do not take advantage of the DPS grants.

TaFDM

TaFDM and DPS are mutually exclusive and not supported together, since both of them strive to reuse unused upstream capacity on the allocated spectrum.

Feature Information for DOCSIS Predictive Scheduler

Use Cisco Feature Navigator to find information about the platform support and software image support. Cisco Feature Navigator enables you to determine which software images support a specific software release, feature set, or platform. To access Cisco Feature Navigator, go to the https://cfnng.cisco.com/ link. An account on the Cisco.com page is not required.


Note

The following table lists the software release in which a given feature is introduced. Unless noted otherwise, subsequent releases of that software release train also support that feature.


Table 1. Feature Information for DOCSIS Predictive Scheduler

Feature Name

Releases

Feature Information

DOCSIS Predictive Scheduler

Cisco IOS XE Amsterdam 17.3.1w

This feature was integrated on the Cisco cBR Series Converged Broadband Routers.