SYSTEMS AND METHODS FOR ENERGY PROPORTIONAL SCHEDULING
First Claim
1. A method for optimizing energy consumption of a data processor while executing a program, the method comprising performing by a compilation processor the steps of:
- (a) generating within the program a first power-coherent region;
(b) computing using an energy model a plurality of estimated energy consumption values for the first power-coherent region, each value corresponding to a respective power setting;
(c) identifying an energy-minimizing power setting corresponding to a minimum of the plurality of the estimated energy consumption values; and
(d) inserting in the first power-coherent region a power setting operation setting at least one parameter of the data processor according to the energy-minimizing power setting.
5 Assignments
0 Petitions
Accused Products
Abstract
A compilation system using an energy model based on a set of generic and practical hardware and software parameters is presented. The model can represent the major trends in energy consumption spanning potential hardware configurations using only parameters available at compilation time. Experimental verification indicates that the model is nimble yet sufficiently precise, allowing efficient selection of one or more parameters of a target computing system so as to minimize power/energy consumption of a program while achieving other performance related goals. A voltage and/or frequency optimization and selection is presented which can determine an efficient dynamic hardware configuration schedule at compilation time. In various embodiments, the configuration schedule is chosen based on its predicted effect on energy consumption. A concurrency throttling technique based on the energy model can exploit the power-gating features exposed by the target computing system to increase the energy efficiency of programs.
12 Citations
22 Claims
-
1. A method for optimizing energy consumption of a data processor while executing a program, the method comprising performing by a compilation processor the steps of:
-
(a) generating within the program a first power-coherent region; (b) computing using an energy model a plurality of estimated energy consumption values for the first power-coherent region, each value corresponding to a respective power setting; (c) identifying an energy-minimizing power setting corresponding to a minimum of the plurality of the estimated energy consumption values; and (d) inserting in the first power-coherent region a power setting operation setting at least one parameter of the data processor according to the energy-minimizing power setting. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for optimizing energy consumption of a data processor comprising a plurality of processing units, the method comprising performing by a compilation processor the steps of:
-
computing for a particular operation frequency and a particular value of a parameter of a resource, a required single-unit resource capacity for executing a specified program using one unit of the plurality of processing units; computing using the single-unit resource capacity a maximum number of processing units Nmax, such that using more than Nmax processing units would exceed an available resource capacity at the particular operation frequency and the particular value of the resource parameter; for each value of a number of processing units N in a range from 1 up to Nmax, estimating an energy consumption for executing the specified program using N processing units; and determining an optimized number of processing units Nopt for which the estimated energy consumption is minimum. - View Dependent Claims (15, 16)
-
-
17. A method for optimizing energy consumption of a data processor comprising a plurality of processing units, the method comprising performing by a compilation processor the steps of:
-
computing for a particular operation frequency and a particular memory level, a required single-unit memory bandwidth for executing a specified program using one unit of the plurality of processing units; computing using the single-unit memory bandwidth a maximum number of processing units Nmax, such that using more than Nmax processing units would exceed an available memory bandwidth at the particular operation frequency and the particular memory level; for each value of a number of processing units N in a range from 1 up to Nmax, estimating using an energy model an energy consumption for executing the specified program using N processing units; and determining an optimized number of processing units Nopt for which the estimated energy consumption is minimum. - View Dependent Claims (18, 19, 20, 21)
-
-
22-42. -42. (canceled)
Specification