Energy Proportional Scheduling Compiler Power Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Loss of energy
If power control operations are inserted to reduce energy consumption, then power savings are achieved, but system performance may be impacted
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.
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.
Data Source
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).


