CPU Frequency Optimization via Execution Time and Energy Modeling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining the optimal execution frequency of software applications on computing farms fail to effectively balance execution time and energy consumption, as increasing frequency reduces time but increases energy usage, leading to inefficient and costly testing processes.

Innovation Solution

A method involving two executions of the software application at a determined frequency, with measurements of execution time and energy consumption using profiling tools, to establish laws for execution time and energy consumption as functions of frequency, and determining an optimal frequency that minimizes a combined criterion of these factors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of moving object

If the CPU frequency is increased to reduce execution time, then the execution time decreases, but the energy consumption increases

Engineering Contradiction:
Improveexecution timeVSAvoidenergy consumption
Core Design Contradiction:
Duration of action of moving objectVSUse of energy by moving object

Solution Approach 1:

The patent changes the operational parameters of the CPU by executing the application at multiple different frequencies and measuring the corresponding execution times and energy consumptions. This allows establishing mathematical models (laws) that describe how execution time and energy consumption vary with frequency, enabling optimization without exhaustive testing at all possible frequencies.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If test applications are run at many different frequencies to find optimal settings, then measurement precision improves, but the cost in terms of execution time and energy consumption increases

Engineering Contradiction:
Improvefrequency optimization accuracyVSAvoidtesting execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by selecting and testing only a limited number of representative frequency values rather than exhaustively testing all possible frequencies. The measured data from these partial tests is then used to establish mathematical models that can predict optimal settings, thereby achieving sufficient measurement precision without the excessive time and energy costs of comprehensive testing.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the CPU frequency is increased to improve productivity, then the execution speed increases, but the power consumption increases

Engineering Contradiction:
Improveexecution speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent implements feedback by measuring the actual execution time and energy consumption at different frequencies, using these measurements to determine mathematical models, and then applying these models to select the optimal frequency that balances productivity and power consumption. This closed-loop approach ensures that the chosen frequency truly optimizes the trade-off between execution speed and energy usage for the specific application.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3009934B1Method for determining an optimal CPU frequency for executing a software application
Publication Date: 2020.03.18 BULL SA
  • EP3009934B1 patent drawingFigure 1
  • EP3009934B1 patent drawing
  • EP3009934B1 patent drawing

AI summary

The invention relates to a method for determining an optimal frequency (fo) for the execution of a software application on an information processing system, comprising: - A first execution of the application at a determined frequency (fd), allowing the determination of an overall execution time (Tg) and an overall energy consumption (Eg), and a second execution at the same frequency using a measurement tool, allowing the determination of TMPI*TIO*Tg* measurements on this execution; - A step of determining a first law providing an execution time (t(f)) as a function of the frequency (f), and a second law providing an energy consumption (E(f)) as a function of the frequency (f); - A step of determining the optimal frequency (fo) as the frequency optimizing a criterion (C(f)) combining the execution time and the energy consumption as a function of the frequency.