cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1925
Views
0
Helpful
0
Comments
narvenka
Cisco Employee
Cisco Employee

Monitoring NP load utilization

 

Many times you want to know the load of the npu and this functionality enables you to verify NP utilization or NP performance load. This helps you to perform load balancing based on NP utilization. To address this a new CLI has been added into asr9k XR code from 6.5.1 release to calculate an approximate load. This takes a look at each stage of the microcode forwarding engines, and finds the percent utilization at each stage of potential bottleneck. The NP load percent (of 100%) comes from max of NP Parse load, NP Search load, NP Resolve load and NP Modify load. It is presented as the single unified NPU utilization in column 1 below (see "Load" utilization).

Parse is the first stage in the NPU pipeline. The flow is like below. ( Refer cisco live 2904)


monitor-np.png

 

Also, refer to feature order of operation

 

For example if the NP microcode engines for parse was 25% busy, Search is 15% busy, Resolve was 75% busy, and Modify was 12% busy- the max of all 4 (75%) would be presented as the NP's utilization.

The pps rate as seen by microcode parse is also presented in the output in column 2 (see below - 'Packet Load' in pps). Packets may be dropping, so this number (pps) is only a reflection of packets received into the first stage of microcode or Parse.

The sample time for calculating the load is 10ms. It is an instantaneous measurement at the moment the CLI is executed. This feature extended to support telemetry data also. This feature available from 6.5.1 release onwards.

 

 

RSP syntax: show controllers np load 

 

(Note: The numbers given below are for illustration purpose only. This varies based on feature enablement and the load)

 

Usage:

 

CLI

RSP# show controllers np load

Thu Nov 16 13:11:38.620 EST

 

                   Node: 0/5/CPU0:

----------------------------------------------------------------

           Load                Packet Load

  NP0:  0% utilization             692 pps

  NP1: 10% utilization         8310642 pps

  NP2:  0% utilization             596 pps

  NP3:  0% utilization             596 pps

 

 

Additional Example output from testing

 

Output with multiple traffic load is presented below as tested on A9K-8X100GE-L-SE with 1 port per NP traffic running.

 

Description of Traffic Load

Output

Bidirectional ipv4

Traffic between NP0 & NP1

HundredGig 

80 byte packet

at 100% line rate

Fri Oct 13 09:45:24.480 UTC

 NP Load:

 Tomahawk NP0:  99% utilization       221549744 pps

 Tomahawk NP1: 100% utilization       221611328 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             594 pps

80 byte packet size

at 75% line rate

Fri Oct 13 09:52:18.025 UTC

 NP Load:

 Tomahawk NP0:  87% utilization       186534320 pps

 Tomahawk NP1:  89% utilization       186561360 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             595 pps

80 byte packet size

at 50% line rate

Fri Oct 13 09:53:15.874 UTC

 NP Load:

 Tomahawk NP0:  57% utilization       124339944 pps

 Tomahawk NP1:  57% utilization       124370800 pps

 Tomahawk NP2:   0% utilization             693 pps

 Tomahawk NP3:   0% utilization             594 pps

80 byte packet size

at 25% line rate

Fri Oct 13 09:53:47.943 UTC

 NP Load:

 Tomahawk NP0:  26% utilization        62177012 pps

 Tomahawk NP1:  23% utilization        62176232 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             594 pps

 

 

 

 

IPv4 Traffic configured to drop everything due to: NOT_MY_MAC ( click for drop counter description)

Description of Traffic Load

Output

128 byte ipv4 traffic

 at 100% line rate

Fri Oct 13 09:08:54.535 UTC

 NP Load:

 Tomahawk NP0: 100% utilization        84445000 pps

 Tomahawk NP1: 100% utilization        84450952 pps

 Tomahawk NP2:   0% utilization            1089 pps

 Tomahawk NP3:   0% utilization             594 pps

128 byte ipv4 traffic

at 75% line rate

Fri Oct 13 09:09:43.421 UTC

 NP Load:

 Tomahawk NP0:  67% utilization        63333268 pps

 Tomahawk NP1:  67% utilization        63333796 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             594 pps

128 byte ipv4 traffic

at 50% line rate

Fri Oct 13 09:10:20.085 UTC

 NP Load:

 Tomahawk NP0:  45% utilization        42226704 pps

 Tomahawk NP1:  44% utilization        42227040 pps

 Tomahawk NP2:   0% utilization             595 pps

 Tomahawk NP3:   0% utilization             594 pps

128 byte ipv4 traffic

at 25% line rate

Fri Oct 13 09:11:09.386 UTC

 NP Load:

 Tomahawk NP0:  21% utilization        21113180 pps

 Tomahawk NP1:  22% utilization        21113618 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             594 pps

 

 

 

 

IPv4 Traffic configured to drop everything due to: NOT_MY_MAC

Description of Traffic Load

Sample Output

256 byte ipv4 traffic

at 100% line rate

Fri Oct 13 09:12:22.167 UTC

 NP Load:

 Tomahawk NP0:  48% utilization        45286380 pps

 Tomahawk NP1:  48% utilization        45283832 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization           12782 pps

256 byte ipv4 traffic

at 75% line rate

Fri Oct 13 09:13:39.952 UTC

 NP Load:

 Tomahawk NP0:  36% utilization        33965536 pps

 Tomahawk NP1:  36% utilization        33963544 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             594 pps

256 byte ipv4 traffic

at 50% line rate

Fri Oct 13 09:14:26.093 UTC

 NP Load:

 Tomahawk NP0:  24% utilization        22642036 pps

 Tomahawk NP1:  24% utilization        22642908 pps

 Tomahawk NP2:   0% utilization             796 pps

 Tomahawk NP3:   0% utilization             594 pps

256 byte ipv4 traffic

at 25% line rate

Fri Oct 13 09:15:20.483 UTC

 NP Load:

 Tomahawk NP0:  12% utilization        11320538 pps

 Tomahawk NP1:  11% utilization        11320665 pps

 Tomahawk NP2:   0% utilization             594 pps

 Tomahawk NP3:   0% utilization             592 pps

 

 

Telemetry support for NP load utilization:

 Sensor path: Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization

 

 Sample configs to enable telemetry: (dial-in)

 

grpc

 port 57400

  !

 address-family ipv4

 max-request-total 256

 max-request-per-user 32

 

telemetry model-driven

!

sensor-group SGroup1

sensor-path Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization

 

subscription sub1

sensor-group-id SGroup1 strict-timer

sensor-group-id SGroup1 sample-interval 5000

 

 

Sample logs:
============

RP/0/RSP1/CPU0:ios#show telemetry model-driven subscription Sub1 
Sun Feb 4 04:35:09.098 UTC
Subscription: Sub1
-------------
State: Paused
Sensor groups:
Id: SGroup1
Sample Interval: 5000 ms
Sensor Path: Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization
Sensor Path State: Resolved

Destination Groups:
Group Id: DGroup1
Destination IP: 10.83.108.65
Destination Port: 5432
Encoding: self-describing-gpb
Transport: tcp
State: NA
No TLS

Collection Groups:
------------------
Id: 4
Sample Interval: 5000 ms
Encoding: self-describing-gpb
Num of collection: 52
Collection time: Min: 125 ms Max: 195 ms
Total time: Min: 131 ms Avg: 196 ms Max: 204 ms
Total Deferred: 0
Total Send Errors: 0
Total Send Drops: 0
Total Other Errors: 0
No data Instances: 0
Last Collection Start:2018-02-04 04:34:35.1987373367 +0000
Last Collection End: 2018-02-04 04:34:35.1987505347 +0000
Sensor Path: Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/


Data pushed to VM every 5s:

 

------- 2018-02-03 22:38:19.27092481 -0500 EST -------
Summary: GPB(common) Message [172.18.53.108:44096(ios)/Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization msg len: 467]
{
"Source": "172.18.53.108:44096",
"Telemetry": {
"node_id_str": "ios",
"subscription_id_str": "Sub1",
"encoding_path": "Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization",
"collection_id": 85,
"collection_start_time": 1517718237937,
"msg_timestamp": 1517718237937,
"collection_end_time": 1517718238138
},
"Rows": [
{
"Timestamp": 1517718238006,
"Keys": {
"node-name": "0/0/CPU0",
"np-name": "np0"
},
"Content": {
"packet-per-second-rate": 596,
"utilization": 0
}
},
{
"Timestamp": 1517718238071,
"Keys": {
"node-name": "0/0/CPU0",
"np-name": "np1"
},
"Content": {
"packet-per-second-rate": 596,
"utilization": 0
}
},
{
"Timestamp": 1517718238137,
"Keys": {
"node-name": "0/3/CPU0",
"np-name": "np0"
},
"Content": {
"packet-per-second-rate": 596,
"utilization": 0
}
}
]
}
------- 2018-02-03 22:38:24.473887665 -0500 EST -------
Summary: GPB(common) Message [172.18.53.108:44096(ios)/Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization msg len: 467]
{
"Source": "172.18.53.108:44096",
"Telemetry": {
"node_id_str": "ios",
"subscription_id_str": "Sub1",
"encoding_path": "Cisco-IOS-XR-asr9k-np-oper:hardware-module-np/nodes/node/nps/np/load-utilization",
"collection_id": 86,
"collection_start_time": 1517718243139,
"msg_timestamp": 1517718243139,
"collection_end_time": 1517718243341
},
"Rows": [
{
"Timestamp": 1517718243209,
"Keys": {
"node-name": "0/0/CPU0",
"np-name": "np0"
},
"Content": {
"packet-per-second-rate": 577,
"utilization": 0
}
},
{
"Timestamp": 1517718243273,
"Keys": {
"node-name": "0/0/CPU0",
"np-name": "np1"
},
"Content": {
"packet-per-second-rate": 596,
"utilization": 0
}
},
{
"Timestamp": 1517718243340,
"Keys": {
"node-name": "0/3/CPU0",
"np-name": "np0"
},
"Content": {
"packet-per-second-rate": 615,
"utilization": 0
}
}

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Quick Links