Patent · US2010332876A1 · A1 · US
Reducing power consumption of computing devices by forecasting computing performance needs
- (11) Publication number
- US2010332876A1
- (21) Application number
- 12/493,058
- (22) Filing date
- 2009-06-26
- (30) Priority date
- 2009-06-26
- (43) Publication date
- 2010-12-30
- (51) IPC
- G06F 1/32
- (52) CPC
- (73) Assignee
- Microsoft Corp
- (72) Inventors
- Mahlon David Fields, Jr.; Eric J. Horvitz
- (54) Title
- Reducing power consumption of computing devices by forecasting computing performance needs
- (57) Abstract
Techniques and systems are provided that work to minimize the energy usage of computing devices by building and using models that predict the future work required of one or more components of a computing system, based on observations, and using such forecasts in a decision analysis that weighs the costs and benefits of transitioning components to a lower power and performance state. Predictive models can be generated by machine learning methods from libraries of data collected about the future performance requirements on components, given current and recent observations. The models may be used to predict in an ongoing manner the future performance requirements of a computing device from cues. In various aspects, models that predict performance requirements that take into consideration the latency preferences and tolerances of users are used in cost-benefit analyses that guide powering decisions.
- Full text
- View on Google Patents
Claims (1)
- A method of reducing power consumption of a processor, the method comprising: analyzing workload of the processor to build a model that predicts from cues a probability of a forthcoming reduction of the workload and associated performance needs of the processor for a duration of time; monitoring ongoing computing workload to identify current or recent cues that are identical or substantially similar to the historical cues; generating a forecast of future performance requirements based on the current or recent cues, the forecast including a predicted length of the forthcoming reduction of the workload; and transitioning to a reduced performance state for a period of time when the predicted length of the reduction in workload is long enough such that a cost-benefit analysis shows a net power savings when taking into consideration the power required to transition back to a higher performance state to handle an increase in forthcoming workload. 2. The method as recited in claim 1, wherein the transitioning to a reduced performance state includes adjusting at least one of the P-state or the C-state to a lower power consumption state. 3. The method as recited in claim 1, further comprising deferring the scheduling of low priority tasks to allow an extended idle state. 4. The method as recited in claim 1, further comprising: determining a latency threshold; predicting a user-perceived latency of the reduced performance state of a low power segment; and adjusting the reduced performance state to reduce the user-perceived latency below the latency threshold when the user-perceived latency is greater than the latency threshold. 5. The method as recited in claim 4, wherein the latency threshold is determined by monitoring user behavior using machine learning while a user interacts with a computer device having the processor, the machine learning to generate a statistical model to predict probability distributions over future workload from current or recent observations. 6. The method as recited in claim 1, wherein the historical cues include at least one of application state, command sets, and sequences of application launches; and wherein the low power consumption occurrences include at least one of machine idle time, user idle time, timers duration, or device data delays. 7. The method as recited in claim 4, wherein the CPU is a multi-core CPU, and the method further comprises allocating workload of the forecast between two or more cores to create the low power segment. 8. One or more computer-readable media storing computer-executable instructions that, when executed on one or more processors, causes the one or more processors to performs acts comprising: forecasting performance requirements of a computing resource based on historical computing activities to generate a speculative performance curve that includes a low performance segment over an approaching time period; and reducing a power state of a computing resource for the low performance segment when a forecasted duration of time for the low performance segment enables realization of power savings that are greater than a power debit associated with the reducing. 9. The one or more computer-readable media as recited in claim 8, wherein the acts further comprise: determining a latency threshold as a maximum allowable latency for powering up the computing resource; and modifying the reducing the power state to reduce a user-perceived latency below the latency threshold when a power up phase of the computer resource includes user-perceived latency that is greater than the latency threshold. 10. The one or more computer-readable media as recited in claim 8, wherein the computing resource is a multi-core processor. 11. The one or more computer-readable media as recited in claim 10, wherein the acts further comprise: reallocating workload between cores of the multi-core processor to create the low performance segment; and balancing the workload of the cores when the low performance segment fails to enable realization of power savings that are greater than the power debit. 12. The one or more computer-readable media as recited in claim 8, wherein the historical computing activities are associated with historical cues, and wherein the speculative performance curve is generated after detection of an active cue that is substantially similar to a historical cue. 13. The one or more computer-readable media as recited in claim 8, further comprising allocating low priority tasks during the low performance segment when the low performance segment fails to enable realization of power savings that are greater than the power debit. 14. The one or more computer-readable media as recited in claim 13, wherein the low priority tasks are background computing tasks that are used to raise the a processor utilization to full utilization. 15. The one or more computer-readable media as recited in claim 12, wherein the speculative performance curve is generated at least in part by a machine learning model that generates a statistical model to predict a probability distribution over future workload from current or recent observations. 16. A system, comprising: one or more processors; and memory to store instructions executable by the one or more processors, that when executed, cause the one or more processors to: analyzing workload of the computing device to determine historical cues that correlate to low performance occurrences of the computing device; generating a forecast of future performance requirements based on monitored cues that are associated with historical cues, the forecast including a duration of time of a low performance segment in the forecast; and transitioning to a reduced power state when the duration of time of the low performance segment enables a power savings that is greater than a power debit associated with the transitioning to the reduced power state. 17. The system as recited in claim 16, wherein the historical cues include at least one of application state, sequences of application launches, and command sets. 18. The system as recited in claim 16, further comprising scheduling low priority tasks when the duration of time of the low performance segment fails to enable the power savings that is greater than the power debit. 19. The system as recited in claim 16, wherein the computing device is a multi-core processor, and wherein transitioning to the reduced power state further includes reallocating workload between two or more cores to create the low performance segment. 20. The system as recited in claim 16, wherein the computing resource is at least one of an input device, removable storage, a communication connection, non-removable storage, or an output device.
Description
Computing devices are using increasing percentages of total generated electric power. Power consumption management of computing devices provides an opportunity for making more ideal use of resources and for reducing the carbon footprint of computing devices. Beyond fiscal and environmental benefits, power management can also prolong device operation when a portable device is constrained to use limited battery resources. By employing careful management of power consumption, mobile computing devices may perform additional work by leveraging power conserved from each charge of a battery that may have otherwise been needlessly used by powering underutilized resources, allowing longer usage as well as for enhanced experiences such as usage for enhanced displays.
Traditional power conservation techniques often rely on user adjustments to power usage by allowing users to specify and choose relatively static policies for allocating power to devices. For example, a user may adjust a power setting to control processor speed, dim/brighten a display, or enable/disable a device. In addition, processors often include power management features that enable the processor to operate at various power consumption modes or states, such as an active state, a low power state, an idle state, or a sleep state. Some policies allow for the changing of resource usage via measures of sensed idle times, such as dimming a display when user activity is not observed for some specified amount of time.
Citations (16)
- US5339445A
- US5996084A
- US5781783A
- US20030204759A1
- US7028200B2
- US7224563B2
- US7379884B2
- US20060184287A1
- US7386747B2
- US20070049133A1
- US20090013201A1
- US7797563B1
- US20090049312A1
- US20100037038A1
- US8015423B1
- US20100218005A1
Record as JSON
{
"publication_number": "US2010332876A1",
"country": "US",
"kind": "A1",
"title": "Reducing power consumption of computing devices by forecasting computing performance needs",
"abstract": "Techniques and systems are provided that work to minimize the energy usage of computing devices by building and using models that predict the future work required of one or more components of a computing system, based on observations, and using such forecasts in a decision analysis that weighs the costs and benefits of transitioning components to a lower power and performance state. Predictive models can be generated by machine learning methods from libraries of data collected about the future performance requirements on components, given current and recent observations. The models may be used to predict in an ongoing manner the future performance requirements of a computing device from cues. In various aspects, models that predict performance requirements that take into consideration the latency preferences and tolerances of users are used in cost-benefit analyses that guide powering decisions.",
"claims": [
"1. A method of reducing power consumption of a processor, the method comprising: analyzing workload of the processor to build a model that predicts from cues a probability of a forthcoming reduction of the workload and associated performance needs of the processor for a duration of time; monitoring ongoing computing workload to identify current or recent cues that are identical or substantially similar to the historical cues; generating a forecast of future performance requirements based on the current or recent cues, the forecast including a predicted length of the forthcoming reduction of the workload; and transitioning to a reduced performance state for a period of time when the predicted length of the reduction in workload is long enough such that a cost-benefit analysis shows a net power savings when taking into consideration the power required to transition back to a higher performance state to handle an increase in forthcoming workload. 2. The method as recited in claim 1, wherein the transitioning to a reduced performance state includes adjusting at least one of the P-state or the C-state to a lower power consumption state. 3. The method as recited in claim 1, further comprising deferring the scheduling of low priority tasks to allow an extended idle state. 4. The method as recited in claim 1, further comprising: determining a latency threshold; predicting a user-perceived latency of the reduced performance state of a low power segment; and adjusting the reduced performance state to reduce the user-perceived latency below the latency threshold when the user-perceived latency is greater than the latency threshold. 5. The method as recited in claim 4, wherein the latency threshold is determined by monitoring user behavior using machine learning while a user interacts with a computer device having the processor, the machine learning to generate a statistical model to predict probability distributions over future workload from current or recent observations. 6. The method as recited in claim 1, wherein the historical cues include at least one of application state, command sets, and sequences of application launches; and wherein the low power consumption occurrences include at least one of machine idle time, user idle time, timers duration, or device data delays. 7. The method as recited in claim 4, wherein the CPU is a multi-core CPU, and the method further comprises allocating workload of the forecast between two or more cores to create the low power segment. 8. One or more computer-readable media storing computer-executable instructions that, when executed on one or more processors, causes the one or more processors to performs acts comprising: forecasting performance requirements of a computing resource based on historical computing activities to generate a speculative performance curve that includes a low performance segment over an approaching time period; and reducing a power state of a computing resource for the low performance segment when a forecasted duration of time for the low performance segment enables realization of power savings that are greater than a power debit associated with the reducing. 9. The one or more computer-readable media as recited in claim 8, wherein the acts further comprise: determining a latency threshold as a maximum allowable latency for powering up the computing resource; and modifying the reducing the power state to reduce a user-perceived latency below the latency threshold when a power up phase of the computer resource includes user-perceived latency that is greater than the latency threshold. 10. The one or more computer-readable media as recited in claim 8, wherein the computing resource is a multi-core processor. 11. The one or more computer-readable media as recited in claim 10, wherein the acts further comprise: reallocating workload between cores of the multi-core processor to create the low performance segment; and balancing the workload of the cores when the low performance segment fails to enable realization of power savings that are greater than the power debit. 12. The one or more computer-readable media as recited in claim 8, wherein the historical computing activities are associated with historical cues, and wherein the speculative performance curve is generated after detection of an active cue that is substantially similar to a historical cue. 13. The one or more computer-readable media as recited in claim 8, further comprising allocating low priority tasks during the low performance segment when the low performance segment fails to enable realization of power savings that are greater than the power debit. 14. The one or more computer-readable media as recited in claim 13, wherein the low priority tasks are background computing tasks that are used to raise the a processor utilization to full utilization. 15. The one or more computer-readable media as recited in claim 12, wherein the speculative performance curve is generated at least in part by a machine learning model that generates a statistical model to predict a probability distribution over future workload from current or recent observations. 16. A system, comprising: one or more processors; and memory to store instructions executable by the one or more processors, that when executed, cause the one or more processors to: analyzing workload of the computing device to determine historical cues that correlate to low performance occurrences of the computing device; generating a forecast of future performance requirements based on monitored cues that are associated with historical cues, the forecast including a duration of time of a low performance segment in the forecast; and transitioning to a reduced power state when the duration of time of the low performance segment enables a power savings that is greater than a power debit associated with the transitioning to the reduced power state. 17. The system as recited in claim 16, wherein the historical cues include at least one of application state, sequences of application launches, and command sets. 18. The system as recited in claim 16, further comprising scheduling low priority tasks when the duration of time of the low performance segment fails to enable the power savings that is greater than the power debit. 19. The system as recited in claim 16, wherein the computing device is a multi-core processor, and wherein transitioning to the reduced power state further includes reallocating workload between two or more cores to create the low performance segment. 20. The system as recited in claim 16, wherein the computing resource is at least one of an input device, removable storage, a communication connection, non-removable storage, or an output device."
],
"description_excerpt": "Computing devices are using increasing percentages of total generated electric power. Power consumption management of computing devices provides an opportunity for making more ideal use of resources and for reducing the carbon footprint of computing devices. Beyond fiscal and environmental benefits, power management can also prolong device operation when a portable device is constrained to use limited battery resources. By employing careful management of power consumption, mobile computing devices may perform additional work by leveraging power conserved from each charge of a battery that may have otherwise been needlessly used by powering underutilized resources, allowing longer usage as well as for enhanced experiences such as usage for enhanced displays.\n\nTraditional power conservation techniques often rely on user adjustments to power usage by allowing users to specify and choose relatively static policies for allocating power to devices. For example, a user may adjust a power setting to control processor speed, dim/brighten a display, or enable/disable a device. In addition, processors often include power management features that enable the processor to operate at various power consumption modes or states, such as an active state, a low power state, an idle state, or a sleep state. Some policies allow for the changing of resource usage via measures of sensed idle times, such as dimming a display when user activity is not observed for some specified amount of time.",
"cpc": [
"G06F 1/3203",
"G06F 9/5094",
"Y02D 10/00"
],
"ipc": [
"G06F 1/32"
],
"assignees": [
"Microsoft Corp"
],
"inventors": [
"Mahlon David Fields, Jr.",
"Eric J. Horvitz"
],
"filing_date": "2009-06-26",
"publication_date": "2010-12-30",
"priority_date": "2009-06-26",
"application_number": "US-49305809-A",
"family_id": "43382088",
"cited_by_count": 156,
"citations": [
"US5339445A",
"US5996084A",
"US5781783A",
"US20030204759A1",
"US7028200B2",
"US7224563B2",
"US7379884B2",
"US20060184287A1",
"US7386747B2",
"US20070049133A1",
"US20090013201A1",
"US7797563B1",
"US20090049312A1",
"US20100037038A1",
"US8015423B1",
"US20100218005A1"
]
}
Record 5,415 of 8,000 in Patents full text (MLC-0201). Request the full dataset.