Network Packet Core Affinity for Low-Power Idle Residency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor core systems, processor cores often remain in a low-power idle state intermittently due to workload fluctuations, preventing them from maintaining a long-lasting low-power state and thus not fully reducing power consumption.

Innovation Solution

Dynamically adjusting core affinity settings for network packet processing based on the operating system's core parking status, where unused cores are put into a low-power idle state and only active cores handle network interrupts and packet processing, using a network interface controller that supports Receive-Side Scaling or Scalable I/O.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the operating system adjusts the number of processor cores used based on system utilization level and places unused cores in low-power idle state, then power consumption is reduced, but processor cores cannot maintain low-power state for long intervals due to intermittent workload

Engineering Contradiction:
Improvepower consumptionVSAvoidresidency time in low-power idle state
Core Design Contradiction:
Loss of energyVSDuration of action of stationary object

Solution Approach 1:

The system proactively parks processor cores into low-power idle state before workload arrives, and maintains this state by directing all network packet processing to already-active cores through modified RSS indirection tables. This preliminary action ensures cores remain in low-power state longer by preventing intermittent wakeups from brief workload bursts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a driver layer as an intermediary between the network interface controller and processor cores. This driver modifies the RSS indirection table to map all network packet processing to a subset of active cores, acting as a mediator that prevents workload from reaching parked cores and causing them to exit low-power state.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If all processor cores are used to handle high workload, then processing capacity is maximized, but power consumption increases when workload is low

Engineering Contradiction:
Improveworkload processing capacityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the mapping between network packet processing and processor cores based on current workload conditions. During high workload, all cores are utilized; during low workload, the RSS indirection table is modified to direct traffic only to active cores, creating a dynamic adaptation between processing capacity and power consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of core affinity mapping by modifying the RSS indirection table contents. This parameter change redirects network packet processing from a static all-cores approach to a dynamic subset-of-cores approach, enabling the system to adjust processing distribution according to workload demands and reduce power consumption during low-utilization periods.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If processor cores are woken up from low-power idle state to handle network packets, then packet processing is maintained, but the cores cannot stay in low-power state and energy savings are reduced

Engineering Contradiction:
Improvenetwork packet processingVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The driver layer acts as an intermediary that intercepts network packet processing before it reaches parked cores. By modifying the RSS indirection table, the intermediary ensures all packets are routed to active cores, preventing wakeups of parked cores while maintaining reliable packet processing throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts network packet processing functionality from parked cores and concentrates it entirely on active cores. By removing the possibility of packet processing on parked cores through indirection table modification, the system eliminates the wakeup problem while maintaining processing reliability on the subset of active cores.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8239699B2Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
Publication Date: 2012.08.07 INTEL CORP
  • US8239699B2 patent drawing
  • US8239699B2 patent drawing
  • US8239699B2 patent drawing

AI summary

A method and apparatus for managing core affinity for network packet processing is provided. Low-power idle state of a plurality of processing units in a system including the plurality of processing units is monitored. Network packet processing is dynamically reassigned to processing units that are in a non-low power idle state to increase the low-power idle state residency for processing units that are in a low-power idle state resulting in reduced energy consumption.