Network Packet Core Affinity for Low-Power Idle Residency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If all processor cores are used to handle high workload, then processing capacity is maximized, but power consumption increases when workload is low
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.
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.
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
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.
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.
Data Source
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.


