Dynamically controlling power based on work-loop performance

US9632566B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632566-B2
Application numberUS-201213629365-A
CountryUS
Kind codeB2
Filing dateSep 27, 2012
Priority dateSep 27, 2012
Publication dateApr 25, 2017
Grant dateApr 25, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present embodiments provide a system that dynamically controls power consumption in a computing device. During operation, the system measures the performance of the computing device while executing a work-loop. Next, the system determines a derived completion time for the work-loop based on the measured performance. (For example, the derived completion time can be an expected completion time, a maximum completion time, or more generally a completion time distribution.) The system then determines a deadline-proximity for the work-loop based on a comparison between the derived completion time and a deadline for the work-loop. (For example, the deadline-proximity can be an expected deadline-proximity, a minimum deadline-proximity, or more generally a deadline-proximity distribution.) Finally, the system controls the power consumption of the computing device based on the determined deadline-proximity for the work-loop.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for dynamically controlling power consumption of a computing system, comprising: obtaining a first set of indications, each indication acquired through an application program interface (API) and signaling a start of a work-loop being performed by a computing system; obtaining a second set of indications, each indication acquired through the API and signaling an end of the corresponding work-loop performed by the computing system; determining a statistical distribution for completion times for the work-loop based on the first set and second set of indications; determining a derived completion time for the work-loop based on the statistical distribution; determining a deadline-proximity for the work-loop based on a comparison between the derived completion time and a deadline for completion of the work-loop; and controlling a power consumption of the computing system based on the determined deadline-proximity for the work-loop. 2. The method of claim 1 , wherein the computing system includes a plurality of processors, and wherein the work-loop is performed by two or more processors of the plurality of processors. 3. The method of claim 1 , further comprising: determining the deadline for completion of the work-loop based on obtaining the deadline from an application associated with the work-loop. 4. The method of claim 1 , further comprising: determining the deadline for completion of the work-loop based on a comparison between a frequency at which the work-loop is started and the determined completion. 5. The method of claim 1 , wherein: acquiring each of the first set of indications comprises making a call to one or more performance-measurement functions through the API during performance of the work-loop, and acquiring each of the second set of indications comprises making a call to the one or more performance-measurement functions through the API during the corresponding performance of the work-loop. 6. The method of claim 5 , wherein each of the calls for the first set and second set of indications is made using an identifier associated with the work-loop. 7. The method of claim 5 , wherein determining the statistical distribution for the completion times for the work-loop comprises: determining multiple measurements of the completion time for the work-loop by the one or more performance-measurement functions based on the first set and second set of indications, and using the multiple measurements to determine the statistical distribution for the completion times for the work-loop. 8. The method of claim 1 , wherein the derived completion time is: an expected completion time; a maximum completion time; or a completion time distribution. 9. The method of claim 1 , wherein the deadline-proximity is: an expected deadline-proximity; a minimum deadline-proximity; or a deadline-proximity distribution. 10. The method of claim, 1 wherein controlling the power consumption of the computing system based on the determined deadline-proximity for the work-loop includes: adjusting a power-performance state (P state) of a processor of the computing system, wherein the P state determines at least one of a clock speed of the processor and an operating voltage of the processor. 11. The method of claim 1 , wherein controlling the power consumption of the computing system based on the determined deadline-proximity for the work-loop includes: adjusting a CPU-power state (C state) for a processor of the computing system, wherein the C state determines whether the processor is in: an operating state, a halted state; or a sleep state. 12. The method of claim 1 , wherein controlling the power consumption of the computing system based on the determined deadline-proximity for the work-loop includes: scheduling multiple threads to run on one or more processors of the computing system. 13. The method of claim 10 , wherein scheduling the multiple threads involves: scheduling the multiple threads to run in parallel on the same processor; scheduling the multiple threads to run serially on the same processor; or scheduling the multiple threads to run in parallel on different processors. 14. The method of claim 1 , wherein the work-loop is executed in sequence on multiple processors of the computing system. 15. The method of claim 14 , wherein the work-loop includes at least one of: a process executed on at least one of the multiple processors; and a thread executed on at least one of the multiple processors. 16. The method of claim 1 , wherein the computing system includes multiple hardware devices, wherein controlling the power consumption of the computing system based on the determined deadline-proximity for the work-loop includes selectively adjusting power consumption of one of the multiple hardware devices, and wherein the one of the multiple hardware devices is at least one of the following: a hardware device that is capable of performing smaller performance adjustments than all other ones of the multiple hardware devices; a hardware device that is more idle than all other ones of the multiple hardware devices as measured with respect to the deadline-proximity; and a hardware device that provides a larger power savings for a given amount of performance loss than all other ones of the multiple hardware devices. 17. An apparatus including one or more integrated circuits that dynamically controls power consumption of a computing system, comprising: a measurement mechanism embodied in the one or more integrated circuits, the measurement mechanism configured to: obtain a first set of indications, each indication acquired through an application programming interface (API) and signaling a start of a work-loop being performed by a computing system, and obtain a second set of indications, each indication acquired through the API and signaling an end of the corresponding work-loop performed by the computing system; a computation mechanism embodied in the one or more integrated circuits, the computation mechanism configured to: determine a statistical distribution for completion times for the work-loop based on the first set and second set of indications; determine a derived completion time for the work-loop based on the statistical distribution; and determine a deadline-proximity for the work-loop based on a comparison between the derived completion time and a deadline for completion of the work-loop; and a power-controlling mechanism embodied in the one or more integrated circuits, the power-controlling mechanism configured to: control a power consumption of the computing system based the determined deadline-proximity for the work-loop. 18. The apparatus of claim 17 , wherein the computing system includes a plurality of processors, and wherein the work-loop is performed by two or more processors of the plurality of processors. 19. The apparatus of claim 17 , wherein the apparatus is further configured to determine the deadline for completion of the work-loop based on obtaining the deadline from an application associated with the work-loop. 20. The apparatus of claim 17 , wherein the apparatus is further configured to determine the deadline for completion of the work-loop based on a comparison between a frequency at which the work-loop is started and the determined completion time. 21. The apparatus of claim 17 , wherein acquiring each of the first set of indications comprises making a call to one or more performance-measurement func

Assignees

Inventors

Classifications

  • Cross-Sectional Technologies · mapped topic

  • G06F1/329Primary

    by task scheduling · CPC title

  • taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9632566B2 cover?
The present embodiments provide a system that dynamically controls power consumption in a computing device. During operation, the system measures the performance of the computing device while executing a work-loop. Next, the system determines a derived completion time for the work-loop based on the measured performance. (For example, the derived completion time can be an expected completion tim…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/329. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).