Dynamic CPU Affinity Redistribution for Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multiprocessor systems face challenges in managing power consumption and processor performance, especially when executing both legacy and power-aware applications, leading to increased operational costs and heat generation.

Innovation Solution

The system manages CPU affinity by redistributing processes across processors in response to external signals, allowing for dynamic provisioning and power management, including shutting down or powering on processors based on licensing, HVAC, and testing requirements, thereby optimizing power consumption and compliance with processor limitations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple processors are utilized to complete tasks, then processing performance is improved, but power consumption and heat generation increase

Engineering Contradiction:
Improveprocessing performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts processor affinity for executing applications by receiving external signals and redistributing processes across processors. This allows the system to adapt processor allocation to actual workload demands, activating additional processors only when needed and consolidating workloads onto fewer processors during low-demand periods, thereby resolving the contradiction between maintaining high processing performance and reducing power consumption.

Inventive Principle:
Principle #15Dynamics

2Temperature

If cooling systems are increased to maintain optimal temperature, then temperature control is improved, but power consumption increases

Engineering Contradiction:
Improvetemperature controlVSAvoidcooling system power consumption
Core Design Contradiction:
TemperatureVSUse of energy by moving object

Solution Approach 1:

The system incorporates external monitoring that provides feedback signals about system state (such as temperature, workload, or power conditions) and uses this feedback to dynamically adjust processor affinity. This feedback mechanism enables the system to respond to thermal conditions by redistributing workloads to reduce heat generation from specific processors, thereby maintaining temperature control while minimizing the power consumption of cooling systems.

Inventive Principle:
Principle #23Feedback

3Use of energy by moving object

If processor frequency or voltage is reduced to save power, then power consumption is reduced, but processing performance decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidprocessing performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system changes the parameter of processor affinity assignment based on external signals and system conditions. By dynamically reassigning which processors execute which applications, the system can optimize the match between workload requirements and processor capabilities, allowing processors to operate at appropriate frequency and voltage levels for their actual workload, thus reducing power consumption without sacrificing necessary processing performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9069618B1Updating kernal affinity for applications executing in a multiprocessor system
Publication Date: 2015.06.30 T MOBILE INNOVATIONS LLC
  • US9069618B1 patent drawing
  • US9069618B1 patent drawing
  • US9069618B1 patent drawing

AI summary

A multiprocessor system dynamically updates CPU affinities for processes executing on processors of the multiprocessor system based on an external signal. The external signal is generated by a monitor device. The external signal identifies the processors and the processes that require updating. In response to the external signal, the multiprocessor system redistributes the processes identified in the external signal and powers on or off one or more processors based on a processor threshold associated with the multiprocessor system.