Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, in a data processing system, for dynamically power capping one or more units, the method comprising; setting, by a power capping mechanism, a counter value corresponding to an initial enemy budget assigned to a unit for a given interval; responsive to the unit receiving an operation to perform during the given interval, decrementing, by the power capping mechanism, the counter value by a decrement value; and responsive to the given interval expiring: sending, by the power capping mechanism, the counter value to a power control loop in the data processing system; receiving, by the power capping mechanism, a new energy budget from the power control loop; and resetting, by the power capping mechanism, the Counter value to a new value corresponding to the new energy budget assigned to the unit for a next interval.
2. The method of claim 1 , further comprising: responsive to the counter value reaching zero or less than zero and the given interval failing to be expired, performing, by a governor in the power capping mechanism, an action to enforce the energy budget of the unit until the new energy budget is received; and queuing, by the governor, all new operations received for the unit until the new energy budget is received.
3. The method of claim 1 , wherein the action to enforce the energy budget of the unit is at least one of placing the unit into a safer operating range by shifting a voltage and/or a frequency of the unit to a known safe execution state or suspending the unit.
4. The method of claim 1 , wherein the power control loop determines the new energy budget by a method comprising: determining, by the power control loop, whether the counter value is greater than a positive predetermined value that is greater than zero, whether the counter value is between the positive predetermined value and a negative predetermined value that is less than zero, or whether the counter value is less than the negative predetermined value; responsive to the counter value being greater than the positive predetermined value, reducing, by the power control loop, the voltage and frequency of the unit thereby producing a reduced new energy budget to be used as the new energy budget; responsive to the counter value being between the positive predetermined value and the negative predetermined value, leaving, by the power control loop, the voltage and frequency of the unit the same thereby producing a similar energy budget that is similar to the initial energy budget to be used as the new energy budget; and responsive to the counter value being less than the negative predetermined value, increasing, by the power control loop, the voltage and frequency of the unit thereby producing an increased new energy budget to be used as the new energy budget.
5. The method of claim 1 , wherein the power control loop determines the new energy budget by a method comprising: determining, by the power control loop, a first new energy budget for a first unit; determining, by the power control loop, a second new energy budget for a second unit; responsive to the first new energy budget decreasing from a first previous setting and the second new energy budget increasing from a second previous setting, increasing, by the power control loop, a third new energy budget for a third unit; responsive to the first new energy budget increasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing, by the power control loop, the third new energy budget for the third unit; and responsive to the first new energy budget decreasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing, by the power control loop, the third new energy budget for the third unit.
6. The method of claim 1 , wherein the power control loop determines the initial energy budget for the unit based on the power cap of the data processing system and the initial voltage and frequency settings of the unit.
7. The method of claim 6 , wherein the initial energy budget determined by the power control loop includes an initial margin and wherein the initial margin is at least one of a safety margin or a margin to avoid unnecessary throttling.
8. The method of claim 1 , wherein the new value is at least one of a set predetermined value or a dependent value that is dependent on the operation that is to be executed by the unit.
9. The method of claim 8 , where determining the dependent value further comprises: storing, by a power proxy unit in the power capping mechanism, a weighted value for each operation in a plurality of operations in an assigned counter of a first set of counters thereby forming a set of stored values, wherein the weighted value comprises a count registered by an assigned counter multiplied by a first weight factor specific to the operation; grouping, by the power proxy unit, various operations in the set of operations into subsets; summing, by the power proxy unit, the stored values corresponding to each operation in each subset to reach a total value for each subset; multiplying, by the power proxy unit, for each subset, the total value of the subset by a second weight factor corresponding to the subset to form a sealed value for the subset; summing, by the power proxy unit, the scaled values for the subsets to form a master count value; and sending, by the power proxy unit, a power usage estimate value of the unit to the counter.
10. The method of claim 1 , wherein the new energy budget is based upon at least one of a power cap of the data processing system, measurements of a current frequency and voltage of the unit, the counter, or a priority of the unit.
11. A computer program product comprising a non-transitory computer readable medium having a computer readable program recorded thereon, wherein the computer readable program, when executed on a computing device, causes the computing device to: set a counter value corresponding to an initial energy budget assigned to a unit for a given interval; responsive to the unit receiving an operation to perform during the given interval, decrement the counter value by a decrement value; and responsive to the given interval expiring: send the counter value to a power control loop in the data processing system; receive a new energy budget from the power control loop; and reset the counter value to a new value corresponding to the new energy budget assigned to the unit for a next interval.
12. The computer program product of claim 11 , wherein the computer readable program further causes the computing device to: responsive to the counter value reaching zero or less than zero and the given interval failing to be expired, perform an action to enforce the energy budget of the unit until the new energy budget is received; and queue all new operations received for the unit until the new energy budget is received.
13. The computer program product of claim 11 , wherein the action to enforce the energy budget of the unit is at least one of placing the unit into a safer operating range by shifting a voltage and/or a frequency of the unit to a known safe execution state or suspending the unit.
14. The computer program product of claim 11 , wherein the computer readable program to determine the new energy budget further causes the computing device to: determine whether the counter value is greater than a positive predetermined value that is greater than zero, whether the counter value is between the positive predetermined value and a negative predetermined value that is less than zero, or whether the counter value is less than the negative predetermined value; responsive to the counter value being greater than the positive predetermined value, reduce the voltage and frequency of the unit thereby producing a reduced new energy budget to be used as the new energy budget; responsive to the counter value being between the positive predetermined value and the negative predetermined value, leave the voltage and frequency of the unit the same thereby producing a similar energy budget that is similar to the initial energy budget to be used as the new energy budget; and responsive to the counter value being less than the negative predetermined value, increase the voltage and frequency of the unit thereby producing an increased new energy budget to be used as the new energy budget.
15. The computer program product of claim 11 , wherein the computer readable program to determine the new energy budget further causes the computing device to: determine a first new energy budget for a first unit; determine a second new energy budget for a second unit; responsive to the first new energy budget decreasing from a first previous setting and the second new energy budget increasing from a second previous setting, increasing third new energy budget for a third unit; responsive to the first new energy budget increasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing the third new energy budget for the third unit; and responsive to the first new energy budget decreasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing the third new energy budget for the third unit.
16. An apparatus, comprising, a processor; and a memory coupled to the processor, wherein the memory comprises instructions which, when executed by the processor, cause the processor to: set a counter value corresponding to an initial energy budget assigned to a unit for a given interval; responsive to the unit receiving an operation to perform during the given interval, decrement the counter value by a decrement value; and responsive to the given interval expiring: send the counter value to a power control loop in the data processing system; receive a new energy budget from the power control loop; and reset the counter value to a new value corresponding to the new energy budget assigned to the unit for a next interval.
17. The apparatus of claim 16 , wherein, the instructions further cause the processor to: responsive to the counter value reaching zero or less than zero and the given interval failing to be expired, perform an action to enforce the energy budget of the unit until the new energy budget is received; and queue all new operations received for the unit until the new energy budget is received.
18. The apparatus of claim 16 , wherein the action to enforce the energy budget of the unit is at least one of placing the twit into a safer operating range by shifting a voltage and/or a frequency of the unit to a known safe execution state or suspending the unit.
19. The apparatus of claim 16 , wherein the instructions to determine the new energy budget further cause the processor to: determine whether the counter value is greater than a positive predetermined value that is greater than zero, whether the counter value is between the positive predetermined value and a negative predetermined value that is less than zero, or whether the counter value is less than the negative predetermined value; responsive to the counter value being greater than the positive predetermined value, reduce the voltage and frequency of the unit thereby producing a reduced new energy budget to be used as the new energy budget; responsive to the counter value being between the positive predetermined value and the negative predetermined value, leave the voltage and frequency of the unit the same thereby producing a similar energy budget that is similar to the initial energy budget to be used as the new energy budget; and responsive to the counter value being less than the negative predetermined value, increase the voltage and frequency of the unit thereby producing an increased new energy budget to be used as the new energy budget.
20. The apparatus of claim 16 , wherein the instructions to determine the new energy budget further cause the processor to: determine a first new energy budget for a first unit; determine a second new energy budget for a second unit; responsive to the first new energy budget decreasing from a first previous setting and the second new energy budget increasing from a second previous setting, increasing a third new energy budget for a third unit; responsive to the first new energy budget increasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing the third new energy budget for the third unit; and responsive to the first new energy budget decreasing from the first previous setting and the second new energy budget decreasing from the second previous setting, decreasing the third new energy budget for the third unit.
Unknown
April 23, 2013
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.