Variable Relinquishing of CPU Cycles

Table 1. Feature History
Feature Name

Release Information

Description

Power Management using VRCC

2024.04.0

The Variable Relinquishing of CPU Cycles (VRCC) feature in 5G UPF introduces a dynamic CPU management system to reduce power consumption in packet processing systems based on traffic demands. This feature allows the CPU to reduce its clock frequency during low traffic periods and engage the power saving mode.

This feature requires a valid license and is supported on VPP instances of VPC-SI for 5G UPF only.

Command Introduced: require power-saving vpp in Global Configuration mode

Default Setting: Disabled – Configuration Required to Enable

VRCC Overview

About VPP

The 5G UPF network function utilizes a third-party Vector Packet Processing (VPP) system to process packets in batches called vectors. Using VPP, UPF achieves ultra-fast packet forwarding and integration with IP services and third-party applications for compatibility with all user plane functionality.

About VRCC

The Variable Relinquishing of CPU Cycles (VRCC) feature in 5G UPF allows the system to relinquish unused processing power during low-traffic periods. This feature allows UPF to dynamically manage CPU cycles based on packet arrival rates​. It ensures optimal resource utilization and power efficency without impacting traffic processing or user experience.

Supported Platforms for VRCC

The VRCC feature runs on VPP instances of VPC-SI for 5G UPF only.

License Requirements for VRCC

You need a license to enable or disable the VRCC feature.

Contact your Cisco account representative for more information.

Benefits of VRCC

The VRCC feature provides these benefits:

  • Energy Efficiency—Reduces power consumption during low traffic periods with measurable energy savings.

  • Environmental Impact—Reduces the carbon footprint for network operations.

  • Cost Savings—Decreases costs associated with power and cooling.

  • Dynamic Adjustment—Adjusts CPU performance automatically based on real-time traffic demands.

How VRCC Works

VRCC is self-contained within each VPP worker thread and integrates with the packet processing engine’s scheduler. VPP runs poll mode drivers (PMD) to fully uitilize the CPU regardless of the interface load.

VRCC computes a moving average of VPP utilization to gauge the traffic load and periodically relinquishes CPU cycles for short periods. This mechanism enables the system to balance throughput, latency response, system stability, and power management.

Detect High and Low Traffic

The main loop scheduler of each VPP thread computes a sleep length. The sleep length is inversely proportional to a moving average of the incoming vector size. The vector size indicates the high and low traffic to detect the system performance.

  • High Traffic—The moving average is large with short or no sleep periods. This state keeps the CPU active.

  • Low Traffic—The moving average is large with longer sleep periods. This state reduces CPU activity.

Engage Power Saving Mode

VRCC applies short sleep periods within the VPP's processing loop. The CPU pauses processing temporarily during these periods. By applying a voluntary short sleep, the VPP worker threads allow the CPU to change its clock frequency dynamically in real-time. It triggers the CPU hardware indirectly to engage the power saving modes in response to short bursts of sleep.

Configure VRCC

Use this task to engage the CPU hardware in VPP power savings mode.

Before you begin

  • Ensure that you are running the correct call model based on your deployment.

  • You require a valid license to enable the VRCC feature.

Procedure


Step 1

Enable the power savings mode using the require power-saving vpp CLI command. This command is enforced during runtime and does not require reload.

Example:

[local]host_name# configure 
[local]host_name(config)# require power-saving vpp 
[local]host_name(config)# exit 

Use the no require power-saving vpp CLI command to disable the power savings mode.

Step 2

Verify whether VRCC is enabled using the show npumgr vpp vrcc command.

Note

 

You can configure the show npumgr vpp vrcc CLI only after entering the hidden mode.

Example:

[local]host_name# show npumgr vpp vrcc
VPP VRCC : Enabled 

Step 3

On your host CIMC, check the Power Management or Power Monitoring tab to view the graph for power measurement. See the component CPU in the graph to view the CPU power domain details.

You can access power monitoring from the CIMC CLI with the following commands:

Example:

[server]# scope chassis 
[server]# show power-monitoring detail 

Step 4

Check the system KPIs and monitor the system for any crash or abnormal behaviour. Also, perform your regular resiliency or redundancy tasks.