Approximate computation in digital systems using bit partitioning
US-11914447-B1 · Feb 27, 2024 · US
US9632566B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9632566-B2 |
| Application number | US-201213629365-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 27, 2012 |
| Priority date | Sep 27, 2012 |
| Publication date | Apr 25, 2017 |
| Grant date | Apr 25, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
Cross-Sectional Technologies · mapped topic
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.