IP Library Granted Patent US 8,589,709
Granted Patent B2
US 8,589,709 · App. 12/841,636 · Granted Nov 19, 2013

Systems and methods for managing power consumption and performance of a processor

Inventors: Mor Harchol-Balter (Pittsburgh, PA); Anshul Gandhi (Pittsburgh, PA)
Assignee: Carnegie Mellon University
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,709
App. No.
12/841,636
Granted
Nov 19, 2013
Kind
B2
Abstract

Processor-management techniques that purposely alternate a processor between an operating state and a non-operating state while the processor is executing the workload. The techniques leverage the “ultra-low-power” non-operating states of many processors to provide predictable power and/or frequency control of the processor. These techniques can provide better performance than known clock-throttling and dynamic voltage and frequency scaling schemes for controlling processors.

Claims (44)

1. A method of controlling power consumption of a computing system that includes a processor having an operating state in which the processor is powered to execute workload instructions, a non-operating state in which the processor is not powered to execute the workload instructions, and an idle state in which no workload for the processor is present, the method comprising:

receiving a workload-power-state setting for controlling functioning of the processor; and

controlling the processor as a function of the workload-power-state setting, wherein said controlling includes alternating the processor between the operating state and the non-operating state while the processor is not in the idle state.

2. A method according to claim 1 , wherein said alternating the processor between the operating state and the non-operating state includes operating the processor for a fraction r of an alternation period in the operating state and setting the processor into the non-operating state for a fraction (1−r) of the alternation period.

3. A method according to claim 2 , wherein the processor has an operating frequency, f oper , in the operating state and said receiving the workload-power-state setting includes receiving a desired frequency, f WPS , the method further comprising calculating the fraction r from the equation:

r=f WPS /f oper .

4. A method according to claim 2 , wherein the processor has a power consumption, P oper , in the operating state, the processor has a power consumption P C during the non-operating state, and said receiving the workload-power-state setting includes receiving a desired power cap, P WPS , the method further comprising calculating the fraction r from the equation:

r =( P WPS −P C )/( P oper −P C ).

5. A method according to claim 1 , wherein the processor has a minimum operating frequency and a corresponding minimum-operating power consumption and said alternating the processor between the operating state and the non-operating state includes alternating the processor between the operating state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

6. A method according to claim 5 , wherein the processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said alternating the processor between the operating state and the non-operating state includes alternating the processor between the normal-maximum-operating-frequency state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

7. A method according to claim 1 , wherein the processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said alternating the processor between the operating state and the non-operating state includes alternating the processor between the normal-maximum-operating-frequency state and the non-operating state.

8. A method according to claim 1 , wherein said receiving the workload-power-state setting includes receiving the workload-power-state setting via a user interface.

9. A method according to claim 1 , wherein said receiving the workload-power-setting includes receiving the workload-power-state setting from an application that generates the workload.

10. A method according to claim 1 , wherein said receiving the workload-power-setting includes receiving the workload-power-state setting via an input to the computing system from a source external to the computing system.

11. A method according to claim 1 , wherein the processor has a zero-frequency extrapolated power consumption, P 0 , extrapolated from a power-consumption-to-frequency curve for the processor and said alternating the processor between the operating state and the non-operating state includes alternating the processor between the operating state and a non-operating state having a power consumption, P C , that is lower than P 0 .

12. A machine-readable medium containing non-transitory machine-executable instructions for performing a method of controlling power consumption of a computing system that includes a processor having an operating state in which the processor is powered to execute workload instructions, a non-operating state in which the processor is not powered to execute the workload instructions, and an idle state in which no workload for the processor is present, said non-transitory machine-executable instructions comprising:

a first set of machine-executable instructions for receiving a workload-power-state setting for controlling functioning of the processor; and

a second set of machine-executable instructions for controlling the processor as a function of the workload-power-state setting, wherein said second set of machine-executable instructions includes a third set of machine-executable instructions for alternating the processor between the operating state and the non-operating state while the processor is not in the idle state.

13. A machine-readable medium according to claim 12 , wherein said third set of machine-executable instructions includes machine-executable instructions for operating the processor for a fraction r of an alternation period in the operating state and for setting the processor into the non-operating state for a fraction (1−r) of the alternation period.

14. A machine-readable medium according to claim 13 , wherein the processor has an operating frequency, f oper , in the operating state and said first set of machine-executable instructions includes machine-executable instructions for receiving a desired frequency, f WPS , said non-transitory machine-executable instructions further comprising machine-executable instructions for calculating the fraction r from the equation: r=f WPS /f oper .

15. A machine-readable medium according to claim 13 , wherein the processor has a power consumption, P oper , in the operating state, the processor has a power consumption P C during the non-operating state, and said first set of machine-executable instructions includes machine-executable instructions for receiving a desired power cap, P WPS , said non-transitory machine-executable instructions further comprising machine-executable instructions for calculating the fraction r from the equation: r=(P WPS −P C )/(P oper −P C ).

16. A machine-readable medium according to claim 12 , wherein the processor has a minimum operating frequency and a corresponding minimum-operating power consumption and said third set of machine-executable instructions includes machine-executable instructions for alternating the processor between the operating state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

17. A machine-readable medium according to claim 16 , wherein the processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said third set of machine-executable instructions includes machine-executable instructions for alternating the processor between the normal-maximum-operating-frequency state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

18. A machine-readable medium according to claim 12 , wherein the processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said third set of machine-executable instructions includes machine-executable instructions for alternating the processor between the normal-maximum-operating-frequency state and the non-operating state.

19. A machine-readable medium according to claim 12 , wherein said first set of machine-executable instructions includes machine-executable instructions for receiving the workload-power-state setting via a user interface.

20. A machine-readable medium according to claim 12 , wherein said first set of machine-executable instructions includes machine-executable instructions for receiving the workload-power-state setting from an application that generates the workload.

21. A machine-readable medium according to claim 12 , wherein said first set of machine-executable instructions includes machine-executable instructions for receiving the workload-power-state setting via an input to the computing system from a source external to the computing system.

22. A machine-readable medium according to claim 12 , wherein the processor has a zero-frequency extrapolated power consumption, P 0 , extrapolated from a power-consumption-to-frequency curve for the processor and said third set of machine-executable instructions includes machine-executable instructions for alternating the processor between the operating state and a non-operating state having a power consumption, P C , that is lower than P 0 .

23. A computing system, comprising:

a processor having an operating state in which said processor is powerable to execute workload instructions, a non-operating state in which said processor is not powered to execute the workload instructions, and an idle state in which no workload for the processor is present;

a memory; and

a workload-power-state manager stored in said memory and operatively configured to, when the computing system is operating:

receive a workload-power-state setting for controlling functioning of said processor; and

control said processor as a function of the workload-power-state setting, wherein said control includes alternating said processor between the operating state and the non-operating state while said processor is not in the idle state.

24. A computing system according to claim 23 , wherein said workload-power-state manager is configured to operate said processor for a fraction r of an alternation period in the operating state and set said processor into the non-operating state for a fraction (1−r) of the alternation period.

25. A computing system according to claim 24 , wherein said processor has an operating frequency, f oper , in the operating state and said workload-power-state manager is configured to receive a desired frequency, f WPS , and to calculate the fraction r from the equation: r=f WPS /f oper .

26. A computing system according to claim 24 , wherein said processor has a power consumption, P oper , in the operating state, said processor has a power consumption P C during the non-operating state, and said workload-power-state manager is configured to receive a desired power cap, P WPS , and to calculate the fraction r from the equation: r=(P WPS −P C )/(P oper −P C ).

27. A computing system according to claim 23 , wherein said processor has a minimum operating frequency and a corresponding minimum-operating power consumption and said workload-power-state manager is configured to alternate said processor between the operating state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

28. A computing system according to claim 27 , wherein the at least one processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said workload-power-state manager is configured to alternate said processor between the normal-maximum-operating-frequency state and a non-operating state having a power consumption lower than the minimum-operating power consumption.

29. A computing system according to claim 23 , wherein the processor has a normal-maximum-operating-frequency state and a corresponding normal-maximum power consumption and said workload-power-state manager is configured to alternate said processor between the normal-maximum-operating-frequency state and the non-operating state.

30. A computing system according to claim 23 , further comprising a user interface, wherein said workload-power-state manager is configured to receive the workload-power-state setting via said user interface.

31. A computing system according to claim 23 , wherein the computing system is configured to execute a workload generated by an application, wherein said workload-power-state manager is configured to receive the workload-power-state setting from the application.

32. A computing system according to claim 23 , further comprising an input from a source external to the computing system, wherein said workload-power-state manager is configured to receive the workload-power-state setting via said input.

33. A computing system according to claim 23 , wherein said processor has a zero-frequency extrapolated power consumption, P 0 , extrapolated from a power-consumption-to-frequency curve for the processor and said workload-power-state manager is configured to alternate said processor between the operating state and a non-operating state having a power consumption, P C , that is lower than P 0 .

Assignments (3)
CONFIRMATORY LICENSE Recorded Jul 25, 2014
From: CARNEGIE-MELLON UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 033418/0301 →
CONFIRMATORY LICENSE Recorded Aug 12, 2011
From: CARNEGIE MELLON UNIVERSITY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 026743/0164 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2010
From: HARCHOL-BALTER, MOR; GANDHI, ANSHUL
To: CARNEGIE MELLON UNIVERSITY
Reel/Frame 024727/0577 →
Continuity (2)
Provisional Application 61271621 · Jul 23, 2009
Related Publication 20110022868A1 · Jan 27, 2011