Proactive Work-Stealing via Thermal Priority Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional work-stealing techniques in multi-processor systems fail to effectively balance workloads due to reactive approaches that do not consider dynamic power and thermal states of processing units, leading to suboptimal performance and potential thermal issues.

Innovation Solution

A method that calculates priority values for processing units based on static and dynamic characteristics such as temperature, power consumption, and frequency, allowing for proactive workload balancing by transferring work items from a victim processor to a winning work-ready processor, using equations like Pi=αi*fi*Tempi+βi*gi*Poweri+γi*hi*Freqi to determine the most suitable processor for workload redistribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional reactive work-stealing techniques are used, then workload can be redistributed among processing units, but thermal issues and power consumption are not effectively managed

Engineering Contradiction:
Improveworkload distribution efficiencyVSAvoidthermal issues
Core Design Contradiction:
ProductivityVSTemperature

Solution Approach 1:

The system proactively monitors thermal states and power consumption metrics before critical thresholds are reached. By calculating priority values based on current thermal and power conditions, the system redistributes workloads in advance to prevent thermal issues and excessive power consumption, rather than reacting after problems occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors dynamic characteristics including thermal states, power consumption, and frequency of processing units. This feedback is used to recalculate priority values and dynamically adjust workload distribution, creating a closed-loop control system that adapts to changing thermal and power conditions.

Inventive Principle:
Principle #23Feedback

2Device complexity

If workloads are redistributed without considering dynamic characteristics, then redistribution is simpler, but system performance and efficiency are suboptimal

Engineering Contradiction:
Improveredistribution complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes the parameters used for workload distribution decisions by incorporating dynamic characteristics such as thermal states, power consumption, and frequency into priority calculations. This allows the system to optimize performance for current operating conditions while managing complexity through standardized parameter collection and processing.

Inventive Principle:
Principle #35Parameter changes

3Loss of energy

If proactive workload balancing based on multiple characteristics is implemented, then thermal and power issues are reduced, but calculation and data collection complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoiddata collection complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system uses a universal priority calculation framework that can accommodate multiple different characteristics (thermal state, power consumption, frequency, workload amount) through a single standardized formula. This multi-functional approach allows comprehensive energy management while maintaining relatively simple and consistent data collection and processing procedures.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10360063B2Proactive resource management for parallel work-stealing processing systems
Publication Date: 2019.07.23 QUALCOMM INC
  • US10360063B2 patent drawing
  • US10360063B2 patent drawing
  • US10360063B2 patent drawing

AI summary

Various embodiments proactively balance workloads between a plurality of processing units of a multi-processor computing device by making work-stealing determinations based on operating state data. An embodiment method includes obtaining static characteristics data associated with each of a victim processor and one or more of a plurality of processing units that are ready to steal work items from the victim processor (work-ready processors), obtaining dynamic characteristics data for each of the processors, calculating priority values for each of the processors based on the obtained data, and transferring a number of work items assigned to the victim processor to a winning work-ready processor based on the calculated priority values. In some embodiments, the method may include acquiring control over a probabilistic lock for a shared data structure and updating the shared data structure to indicate the number of work items transferred to the winning work-ready processor.