Thread Energy Attribution via Execution Time Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data processing systems lack accurate methods to attribute energy consumption to individual software threads in multitasking environments, making it difficult to focus energy conservation efforts on the most energy-intensive threads.

Innovation Solution

A data processing system that includes a processor executing multiple threads during different portions of a measurement interval, with an energy monitor measuring total energy consumption and energy attribution code estimating the energy consumption of each thread based on execution time, using maximum and minimum energy constraints to determine a range of possible energy values and selecting the midpoint as the estimate.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If hardware design is emphasized to reduce power consumption, then energy efficiency is improved, but the ability to identify and optimize individual thread energy consumption is worsened

Engineering Contradiction:
Improvepower consumptionVSAvoidthread-level energy measurement
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The patent segments the total energy consumption measurement into individual thread contributions by tracking execution time intervals for each thread and proportionally allocating energy based on these intervals. This segmentation enables identification of which specific threads consume the most energy, allowing targeted optimization rather than blanket hardware changes.

Inventive Principle:
Principle #1Segmentation

2Use of energy by stationary object

If total energy consumption is measured for the processor, then overall power usage is captured, but the ability to attribute energy to individual threads is lost

Engineering Contradiction:
Improveprocessor energy consumptionVSAvoidthread-specific energy information
Core Design Contradiction:
Use of energy by stationary objectVSLoss of information

Solution Approach 1:

The system implements feedback by continuously monitoring which thread is executing during specific time intervals and using this information to attribute energy consumption. The energy attribution code receives feedback from the thread switch detection mechanism and dynamically calculates energy distribution, enabling accurate tracking of individual thread energy usage while maintaining total energy measurement.

Inventive Principle:
Principle #23Feedback

3Productivity

If accurate thread-level energy attribution is implemented, then energy conservation targeting is improved, but system complexity increases

Engineering Contradiction:
Improveenergy conservation efficiencyVSAvoidenergy monitoring system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary energy attribution code that acts as a mediator between the hardware thread switching mechanism and the software optimization layer. This intermediary component processes thread execution information and energy measurements to produce attributed energy data, simplifying the overall system architecture while enabling sophisticated energy analysis without requiring complex modifications to existing hardware or software.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8015566B2Attributing energy consumption to individual code threads in a data processing system
Publication Date: 2011.09.06 LENOVO SWITZERLAND INTERNATIONAL GMBH
  • US8015566B2 patent drawing
  • US8015566B2 patent drawing
  • US8015566B2 patent drawing

AI summary

A data processing system attributes energy consumption to individual program segments or threads includes a processor that executes a first thread during a first portion of a measurement interval and a second thread during a second portion of the interval. An energy monitor measures the total energy during the interval. Energy attribution code attributes a first amount of the total energy to the first thread and a second amount to the second thread based in part on the execution times of the threads. The code may define a range of possible energy values by determining maximum and minimum energy constraints for the threads. The invention may also be extended to a multiprocessor environment and to a simultaneous multithreading (SMT) processor. In addition, the process may be expanded to determine energy consumed by various peripheral units such as hard disk controllers and the like.