NON-FINAL REJECTION
DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1-5, 7-8, 11-15, 17-18, and 20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Chaouat et al. (US 2022/0413576).
Regarding claim 1, Chaouat et al. disclose:
A method comprising:
obtaining event statistical information of a processor core (FIG. 1 Processing Unit 105; [0019] Processor unit 105 includes any number of cores), wherein the event statistical information comprises a quantity and a type of at least one event that occurs during running of at least one application ([0019] Processing unit 105 also includes event counters 107, which are representative of any number and type of event counters for tracking the occurrence of different types of events that occur during the execution of one or more applications);
determining a service class corresponding to the event statistical information ([0019] one or more applications);
determining, based on the service class, at least one power consumption model corresponding to the service class ([0025] DPE 125 generates a power consumption estimate for processing unit 105 by multiplying coefficients 127 by counters 107. In one embodiment, there is a separate coefficient 127 for each counter 107. In one embodiment, DPE 125 calculates the sum of the products of each coefficient-counter pair. For example, if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C. In other embodiments, other numbers of counters 107 and coefficients 127 may be multiplied together to generate the sum. DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles); and
obtaining, using the at least one power consumption model, a first power consumption value of the at least one event ([0025] coefficient_A*counter_A).
Regarding claim 2, Chaouat et al. further disclose:
The method of claim 1, wherein obtaining the event statistical information comprises:
cyclically sampling (FIG. 2 Sum Every Clock Cycle 225) at least one event counter (FIG. 2 Counter 215A…N);
to obtain the event statistical information of the processor core in one sampling cycle ([0031] each weight 220A-N is multiplied by a corresponding counter 215A-N in each clock cycle), and wherein different event counters in the at least one event counter are configured to count different types of events ([0030] Examples of events tracked by counters 215A-N include, but are not limited to, instructions executed, cache requests, cache misses, memory requests, branch mispredictions, and so on. It is noted that counters 215A-N may also be referred to as “event counters”.)
Regarding claim 3, Chaouat et al. further disclose:
The method of claim 2, wherein the one sampling cycle is greater than or equal to a working cycle of the at least one power consumption model (FIG. 2 ‘n’ clock cycles; [0025] DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles).
Regarding claim 4, Chaouat et al. further disclose:
The method of claim 1, wherein each power consumption model in the at least one power consumption model comprises a weight coefficient corresponding to each event of the at least one event (FIG. 2 Weight 220A…N).
Regarding claim 5, Chaouat et al. further disclose:
The method of claim 4, wherein obtaining the first power consumption value ([0025] coefficient_A*counter_A) comprises:
obtaining, when the at least one power consumption model is only one power consumption model, the first power consumption value based on the event statistical information and the weight coefficient corresponding to each event of the at least one event (FIG. 2 Counter 215A/Weight 220A; [0025] coefficient_A*counter_A).
Regarding claim 7, Chaouat et al. further disclose:
The method of claim 1, further comprising performing power consumption adjustment on the processor core based on the first power consumption value (FIG. 5 step 515 Use the power consumption predictions to adjust the power-performance setting of the processor).
Regarding claim 8, Chaouat et al. further disclose:
The method of claim 7, wherein performing the power consumption adjustment based on the first power consumption value ([0025] coefficient_A*counter_A) comprises:
performing power consumption adjustment on the processor core (FIG. 5 step 515 Use the power consumption predictions to adjust the power-performance setting of the processor) based on a second power consumption value of the processor core ([0025] coefficient_A*counter_A+coefficient_B*counter_B), performance statistical information of the processor core ([0039] a method 600 for using a learning algorithm to adjust weights is shown. A learning algorithm receives an indication of an error between a power consumption estimate and a power consumption measurement (block 605)), and thermal sensor information corresponding to the processor core ([0037] If the difference between the prediction and the measurement of power consumption is less than a threshold (conditional block 415, “yes” leg), then the predictions by the dynamic power estimation unit are used by a power management unit (PMU) (e.g., PMU 130 of FIG. 1) to keep a processor (e.g., processor 105 of FIG. 1) within a thermal envelope (i.e., thermal design point) (block 420)).
Regarding claim 11, Chaouat et al. disclose:
A processor (FIG. 1 Processing Unit 105) comprising:
a service classifier processor (FIG. 1 Processing Unit 105) configured to:
obtain event statistical information of a processor core (FIG. 1 Processing Unit 105; [0019] Processor unit 105 includes any number of cores), wherein the event statistical information comprises a quantity and a type of at least one event that occurs during running of at least one application ([0019] Processing unit 105 also includes event counters 107, which are representative of any number and type of event counters for tracking the occurrence of different types of events that occur during the execution of one or more applications); and
determine a service class corresponding to the event statistical information ([0019] one or more applications); and
a power consumption calculator (FIG. 1 Processing Unit 105; [0025] DPE 125 may be implemented using any suitable combination of software and/or hardware. While DPE 125 is shown as a separate unit within computing system 100, it should be understood that in other embodiments, DPE 125 may be part of or combined with one or more other units of system 100) configured to:
determine, based on the service class, at least one power consumption model corresponding to the service class ([0025] DPE 125 generates a power consumption estimate for processing unit 105 by multiplying coefficients 127 by counters 107. In one embodiment, there is a separate coefficient 127 for each counter 107. In one embodiment, DPE 125 calculates the sum of the products of each coefficient-counter pair. For example, if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C. In other embodiments, other numbers of counters 107 and coefficients 127 may be multiplied together to generate the sum. DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles); and
obtain, using the at least one power consumption model, a first power consumption value of the at least one event ([0025] coefficient_A*counter_A).
Regarding claim 12, Chaouat et al. further disclose:
The processor of claim 11, wherein the service classifier is further configured to obtain the event statistical information by cyclically sampling (FIG. 2 Sum Every Clock Cycle 225) at least one event counter (FIG. 2 Counter 215A…N) to obtain the event statistical information in one sampling cycle ([0031] each weight 220A-N is multiplied by a corresponding counter 215A-N in each clock cycle), and wherein different event counters in the at least one event counter are configured to count different types of events ([0030] Examples of events tracked by counters 215A-N include, but are not limited to, instructions executed, cache requests, cache misses, memory requests, branch mispredictions, and so on. It is noted that counters 215A-N may also be referred to as “event counters”.)
Regarding claim 13, Chaouat et al. further disclose:
The processor of claim 12, wherein the one sampling cycle is greater than or equal to a working cycle of the at least one power consumption model (FIG. 2 ‘n’ clock cycles; [0024] DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles).
Regarding claim 14, Chaouat et al. further disclose:
The processor of claim 11, wherein each power consumption model in the at least one power consumption model comprises a weight coefficient corresponding to each event of the at least one event (FIG. 2 Weight 220A…N).
Regarding claim 15, Chaouat et al. further disclose:
The processor of claim 14, wherein the power consumption calculator is further configured to:
obtain, when the at least one power consumption model is one power consumption model, the first power consumption value based on the event statistical information and the weight coefficient corresponding to each event of the at least one event (FIG. 2 Counter 215A/Weight 220A; [0025] coefficient_A*counter_A).
Regarding claim 17, Chaouat et al. further disclose:
The processor of claim 11, wherein the processor further comprises a power consumption manager configured to perform power consumption adjustment on the processor core based on the first power consumption value (FIG. 5 step 515 Use the power consumption predictions to adjust the power-performance setting of the processor).
Regarding claim 18, Chaouat et al. further disclose:
The processor of claim 17, wherein the power consumption manager is further configured to:
perform the power consumption adjustment based on a second power consumption value of the processor core ([0025] coefficient_A*counter_A+coefficient_B*counter_B), performance statistical information of the processor core ([0039] a method 600 for using a learning algorithm to adjust weights is shown. A learning algorithm receives an indication of an error between a power consumption estimate and a power consumption measurement (block 605)), and thermal sensor information corresponding to the processor core ([0037] If the difference between the prediction and the measurement of power consumption is less than a threshold (conditional block 415, “yes” leg), then the predictions by the dynamic power estimation unit are used by a power management unit (PMU) (e.g., PMU 130 of FIG. 1) to keep a processor (e.g., processor 105 of FIG. 1) within a thermal envelope (i.e., thermal design point) (block 420)).
Regarding claim 20, Chaouat et al. disclose:
A non-transitory computer-readable storage medium storing a computer program, wherein when the computer program is executed by one or more processors of an apparatus, the computer program causes ([0044] In various embodiments, program instructions of a software application may be used to implement the methods and/or mechanisms previously described…The program instructions may be stored on a non-transitory computer readable storage medium) the apparatus to:
obtain event statistical information of a processor core (FIG. 1 Processing Unit 105; [0019] Processor unit 105 includes any number of cores), wherein the event statistical information comprises a quantity and a type of at least one event that occurs during running of at least one application ([0019] Processing unit 105 also includes event counters 107, which are representative of any number and type of event counters for tracking the occurrence of different types of events that occur during the execution of one or more applications);
determine a service class corresponding to the event statistical information ([0019] one or more applications);
determine, based on the service class, at least one power consumption model corresponding to the service class ([0025] DPE 125 generates a power consumption estimate for processing unit 105 by multiplying coefficients 127 by counters 107. In one embodiment, there is a separate coefficient 127 for each counter 107. In one embodiment, DPE 125 calculates the sum of the products of each coefficient-counter pair. For example, if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C. In other embodiments, other numbers of counters 107 and coefficients 127 may be multiplied together to generate the sum. DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles); and
obtain, using the at least one power consumption model, a first power consumption value of the at least one event ([0025] coefficient_A*counter_A).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 6 and 16 are rejected under 35 U.S.C. 103 as being unpatentable over Chaouat et al. as applied to claim 4 above, and further in view of Ibrahim et al. (US 2011/0291746).
Regarding claim 6, Chaouat et al. further disclose:
The method of claim 4, wherein obtaining the first power consumption value ([0025] coefficient_A*counter_A) comprises:
obtaining, when the at least one power consumption model is a plurality of power consumption models, power consumption values that are of a plurality of events comprised in the event statistical information and that are calculated by the power consumption models based on the event statistical information and the weight coefficient corresponding to each event of the at least one event ([0025] if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C); and
performing based on percentages of the plurality of power consumption models ([0025] if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C), weighted…on the power consumption values corresponding to the power consumption models to obtain power consumption values of the plurality of events ([0025] DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles).
Chaouat et al. discloses that the DPE 125 generates power consumption estimate based on this sum accumulated over a given number of clock cycles, which implies that the power consumption estimate may be averaged over the given number of clock cycles. Chaouat et al. do not appear to explicitly teach “averaging.” However, Ibrahim et al. disclose:
averaging ([0009] calculating the runtime power consumption estimate comprises averaging the weighted count over the time window to generate a dynamic power estimate)
Chaouat et al. and Ibrahim et al. are analogous art because Chaouat et al. teach a power estimator and Ibrahim et al. teach power management.
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention, having the teachings of Chaouat et al. and Ibrahim et al. before him/her, to modify the teachings of Chaouat et al. with the Ibrahim et al. teachings of calculating a weighted average because such a modification would have amounted to little more than combining “familiar elements according to known methods” and would have been obvious because it would have done “no more than yield predictable results.” (MPEP 2143 I.A.) Calculating a weighted average a well-known technique to calculate an average of a dataset that accounts for the relative importance of each value in a dataset. Chaouat et al. implies that the average of the weighted power consumption values is calculated over the given clock cycles. Explicitly calculating the weighted average would have yielded the predictable result of determining the average power consumption estimate per clock cycle.
Regarding claim 16, Chaouat et al. further disclose:
The processor of claim 14, wherein the power consumption calculator is further configured to:
obtain, when the at least one power consumption model is a plurality of power consumption models, power consumption values that are of a plurality of events comprised in the event statistical information and that are calculated by the power consumption models based on the event statistical information and the weight coefficient corresponding to each event of the at least one event ([0025] if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C); and
perform, based on percentages of the plurality of power consumption models ([0025] if there are three separate counters 107 and three coefficients 127, the sum is calculated as coefficient_A*counter_A+coefficient_B*counter_B+coefficient_C*counter_C), weighted…on the power consumption values corresponding to the power consumption models to obtain power consumption values of the plurality of events ([0025] DPE 125 then generates a power consumption estimate based on this sum accumulated over a given number of clock cycles).
Chaouat et al. discloses that the DPE 125 generates power consumption estimate based on this sum accumulated over a given number of clock cycles, which implies that the power consumption estimate may be averaged over the given number of clock cycles. Chaouet et al. do not appear to explicitly teach “averaging.” However, Ibrahim et al. disclose:
averaging ([0009] calculating the runtime power consumption estimate comprises averaging the weighted count over the time window to generate a dynamic power estimate)
The motivation for combining is based on the same rational presented for rejection of claim 6.
Allowable Subject Matter
Claims 9, 10, and 19 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
The following is the examiner’s statement of reasons for allowance:
While one or more reasons are offered below citing reasons that the claims are allowable over the prior art, it is each claim taken as a whole, including interrelationships and interconnections between various claimed elements, which are allowable over the prior art of record and not any individual limitation of a claim. The prior art of Chaouat et al. and Ibrahim et al., when taken alone or in combination with each other, fail to anticipate and/or make obvious to one of ordinary skill in the art the claimed invention prior to the effective filing date.
Regarding claim 9, the prior art, alone or in combination, does not disclose the following highlighted limitations, as claimed, in combination with the other claimed limitations:
“The method of claim 1, further comprising terminating determining of the service class when the service class is a preset service class.”
Regarding claim 10, the prior art, alone or in combination, does not disclose the following highlighted limitations, as claimed, in combination with the other claimed limitations:
“The method of claim 1, further comprising updating, in firmware, the service class corresponding to the event statistical information and the at least one power consumption model corresponding to the service class.”
Regarding claim 19, the prior art, alone or in combination, does not disclose the following highlighted limitations, as claimed, in combination with the other claimed limitations:
“The processor of claim 11, wherein the service classifier is further configured to:
terminate the determining of the service class when the service class is a preset service class.”
Conclusion
The prior art made of record and not relied upon, Ansorregui et al. (US 2017/0031430), is considered pertinent to applicant's disclosure because it discloses power management.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TRACY A WARREN whose telephone number is (571)270-7288. The examiner can normally be reached M-Th 7:30am-5pm, Alternate F.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Arpan P. Savla can be reached at 571-272-1077. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
TRACY A. WARREN
Primary Examiner
Art Unit 2137
/TRACY A WARREN/Primary Examiner, Art Unit 2137