Patent ID: 8589556

Claim:
A method, in a data processing system, for allocating energy budgets to a plurality of logical partitions, the method comprising: determining, by a processor, an overall energy budget for the data processing system; determining, by the processor, a total of a set of requested initial energy budgets for the plurality of partitions; determining, by the processor, whether the total of the set of requested initial energy budgets for the plurality of partitions is greater than the overall energy budget for the data processing system; responsive to the total of the set of requested initial energy budgets for the plurality of partitions exceeding the overall energy budget of the data processing system, allocating, by the processor, an initial energy budget E budget (P j , T i ) to each partition in the plurality of partitions based on at least one of priority or proportionality of each partition in the plurality of partitions such that a total of the initial energy budgets for the plurality of partitions does not exceed the overall energy budget of the data processing system; at an end of each time interval T i , identifying, by the processor, an energy budget E max,i the data processing system; setting, by the processor, a usable energy budget of data processing system (E budget (M)) equal to E max,i minus a small deficit (D); obtaining, by the processor, an energy measurement associated with each partition E meas (P j , T i ) in the plurality of partitions; determining, by the processor, for each partition P j , a surplus and a deficit based on the measured energy E means (P j , T i ) versus a previously allocated energy budget E budget (P j , T i ); calculating, by the processor, a total surplus S or a total deficit D for the data processing system; determining, by the processor, whether the data processing system indicates a surplus and whether any partitions have a deficit; responsive to the data processing system indicating a surplus and no partitions having a deficit, reducing, by the processor, a surplus energy budget of each partition E budget (P j , T i+1 ) to reduce surpluses of each of the partitions; and allocating, by the processor, the surplus energy budget E budget (P j , T i+1 ) to each partition in the plurality of partitions.