Energy Proportional Scheduling Compiler Power Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing compilation systems do not effectively optimize energy and power consumption during the execution of software programs on data processing hardware platforms, despite offering improvements in locality, parallelization, and data communication.

Innovation Solution

The implementation of Energy Proportional Scheduling (EPS) in a polyhedral model-based compiler, which generates energy windows and inserts power control operations to manage voltage and frequency settings, optimizing energy consumption by creating regions of code where components can be disabled to reduce energy usage without performance impact.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing compilation systems optimize locality, parallelization, and data communication, then program execution efficiency is improved, but energy and power consumption are not effectively optimized

Engineering Contradiction:
Improveprogram execution efficiencyVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The compilation system segments the program into energy windows with distinct power optimization characteristics. Each energy window represents a contiguous sequence of iterations that can be executed with uniform power settings, allowing the system to apply targeted power optimization strategies to specific program portions rather than using a blanket approach throughout the entire execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts power settings (voltage and frequency) based on the characteristics of each energy window. By analyzing the computational intensity, memory access patterns, and parallelization opportunities in different program regions, the compiler generates runtime code that adapts power consumption levels to match the actual workload requirements of each segment.

Inventive Principle:
Principle #15Dynamics

2Loss of energy

If power control operations are inserted to reduce energy consumption, then power savings are achieved, but system performance may be impacted

Engineering Contradiction:
Improvepower savingsVSAvoidsystem performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system changes operational parameters (voltage and frequency) based on the identified energy window characteristics. For compute-intensive windows, higher voltage and frequency settings maintain performance while reducing unnecessary power consumption during memory-bound or idle periods. The compiler transforms the program to include power control instructions that adjust these parameters at runtime according to the current execution phase.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The compilation system incorporates feedback mechanisms where runtime information about actual execution characteristics (memory access patterns, computational intensity, parallelization effectiveness) is used to adjust power settings. The generated code includes monitoring and adaptation logic that responds to actual workload conditions, ensuring performance requirements are met while optimizing power consumption.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10180828B2Systems and methods for power optimization of processors
Publication Date: 2019.01.15 QUALCOMM INC
  • US10180828B2 patent drawing
  • US10180828B2 patent drawing
  • US10180828B2 patent drawing

AI summary

A compilation system generates one or more energy windows in a program to be executed on a data processors such that power/energy consumption of the data processor can be adjusted in which window, so as to minimize the overall power/energy consumption of the data processor during the execution of the program. The size(s) of the energy window(s) and/or power option(s) in each window can be determined according to one or more parameters of the data processor and/or one or more characteristics of the energy window(s).