SYSTEM AND METHOD FOR CONTROLLING CENTRAL PROCESSING UNIT POWER WITH GUARANTEED TRANSIENT DEADLINES
First Claim
1. A method of improving performance on a computing device having multiple processors, the method comprising:
- determining a steady state workload of a first processor;
determining an amount of work required to perform the determined steady state workload on the first processor;
computing a performance guarantee value for a processing group that includes the first processor and a second processor;
transitioning the first processor from an idle state to a busy state;
performing dynamic clock and voltage scaling operations to scale a frequency of the first processor based on an actual workload of the first processor;
determining whether the first and second processors have remained in the busy state for a combined period greater than or equal to a sum of the determined amount of work and the performance guarantee value; and
increasing the frequency of one of the first and second processors when it is determined that the first and second processors have remained in the busy state for a combined period that is greater than or equal to a sum of the determined amount of work and the performance guarantee value.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems and devices that include a dynamic clock and voltage scaling (DCVS) solution configured to compute and enforce performance guarantees for a group of processors to ensure that the processors does not remain in a busy state (e.g., due to transient workloads) for a combined period that is more than a predetermined amount of time above that which is required for one of the processors to complete its pre-computed steady state workload. The DCVS may adjust the frequency and/or voltage of one or more of the processors based on a variable delay to ensure that the multiprocessor system only falls behind its steady state workload by, at most, a predefined maximum amount of work, irrespective of the operating frequency or voltage of the processors.
52 Citations
40 Claims
-
1. A method of improving performance on a computing device having multiple processors, the method comprising:
-
determining a steady state workload of a first processor; determining an amount of work required to perform the determined steady state workload on the first processor; computing a performance guarantee value for a processing group that includes the first processor and a second processor; transitioning the first processor from an idle state to a busy state; performing dynamic clock and voltage scaling operations to scale a frequency of the first processor based on an actual workload of the first processor; determining whether the first and second processors have remained in the busy state for a combined period greater than or equal to a sum of the determined amount of work and the performance guarantee value; and increasing the frequency of one of the first and second processors when it is determined that the first and second processors have remained in the busy state for a combined period that is greater than or equal to a sum of the determined amount of work and the performance guarantee value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing device, comprising:
-
a first processor; a second processor; means for determining a steady state workload of the first processor; means for determining an amount of work required to perform the determined steady state workload on the first processor; means for computing a performance guarantee value for a processing group that includes the first processor and the second processor; means for transitioning the first processor from an idle state to a busy state; means for performing dynamic clock and voltage scaling operations to scale a frequency of the first processor based on an actual workload of the first processor; means for determining whether the first and second processors have remained in the busy state for a combined period greater than or equal to a sum of the determined amount of work and the performance guarantee value; and means for increasing the frequency of one of the first and second processors when it is determined that the first and second processors have remained in the busy state for a combined period that is greater than or equal to a sum of the determined amount of work and the performance guarantee value. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computing device comprising:
-
a first processor; a second processor; and a primary processor configured with processor-executable instructions to perform operations comprising; determining a steady state workload of the first processor; determining an amount of work required to perform the determined steady state workload on the first processor; computing a performance guarantee value for a processing group that includes the first processor and the second processor; transitioning the first processor from an idle state to a busy state; performing dynamic clock and voltage scaling operations to scale a frequency of the first processor based on an actual workload of the first processor; determining whether the first and second processors have remained in the busy state for a combined period greater than or equal to a sum of the determined amount of work and the performance guarantee value; and increasing the frequency of one of the first and second processors when it is determined that the first and second processors have remained in the busy state for a combined period that is greater than or equal to a sum of the determined amount of work and the performance guarantee value. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a primary processor to perform operations comprising:
-
determining a steady state workload of a first processor; determining an amount of work required to perform the determined steady state workload on the first processor; computing a performance guarantee value for a processing group that includes the first processor and a second processor; transitioning the first processor from an idle state to a busy state; performing dynamic clock and voltage scaling operations to scale a frequency of the first processor based on an actual workload of the first processor; determining whether the first and second processors have remained in the busy state for a combined period greater than or equal to a sum of the determined amount of work and the performance guarantee value; and increasing the frequency of one of the first and second processors when it is determined that the first and second processors have remained in the busy state for a combined period that is greater than or equal to a sum of the determined amount of work and the performance guarantee value. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40)
-
Specification