Tracking pipelined activity during off-core memory accesses to evaluate the impact of processor core frequency changes
US-2016041594-A1 · Feb 11, 2016 · US
US9652356B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9652356-B2 |
| Application number | US-201514723989-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 28, 2015 |
| Priority date | Aug 11, 2014 |
| Publication date | May 16, 2017 |
| Grant date | May 16, 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.
A processor system tracks, in at least one counter, a number of cycles in which at least one execution unit of at least one processor core is idle and at least one thread of the at least one processor core is waiting on at least one off-core memory access during run-time of the at least one processor core during an interval comprising multiple cycles. The processor system evaluates an expected performance impact of a frequency change within the at least one processor core based on the current run-time conditions for executing at least one operation tracked in the at least one counter during the interval.
Opening claim text (preview).
What is claimed is: 1. A method for tracking pipelined activity during off-core memory accesses, comprising: tracking, in at least one counter, a number of cycles in which at least one execution unit of at least one processor core is idle and at least one thread of the at least one processor core is waiting on at least one off-core memory access during run-time of the at least one processor core during an interval comprising a plurality of cycles by tracking the number of cycles on at least one multi-cycle execution unit from among the at least one execution unit that requires more than one cycle to complete execution of at least one operation; and evaluating an expected performance impact of a frequency change within the at least one processor core based on the current run-time conditions tracked in the at least one counter during the interval. 2. The method according to claim 1 , wherein tracking, in at least one counter, a number of cycles in which at least one execution unit of at least one processor core is idle and at least one thread of the at least one processor core is waiting on at least one off-core memory access during run-time of the at least one processor core during an interval comprising a plurality of cycles further comprises: tracking in a first counter of the at least one counter, each cycle of the plurality of cycles during which none of the at least one execution unit is finishing execution and the at least one thread of the at least one processor core is waiting on at least one off-core memory access; and tracking in a second counter of the at least one counter, each cycle of the plurality of cycles during which none of the at least one execution unit is busy and the at least one thread of the at least one processor core is waiting on at least one off-core memory access. 3. The method according to claim 2 , further comprising: evaluating an amount of pipelining overlap within the at least one processor core from the difference between a first value in the first counter and a second value in the second counter. 4. The method according to claim 2 , further comprising: determining the number of cycles during which the at least one execution unit in the processor core is busy, but none of the plurality of execution units are finishing execution, from a difference between a first value in the first counter and a second value in the second counter. 5. The method according to claim 2 , further comprising: evaluating the value in the first counter as a measure for an upper bound on a first number of cycles that can be reduced by a frequency change comprising a slower frequency that will not impact performance as measured by a pipeline throughput of the at least one processor core; and evaluating the value in the second counter as a measure for a lower bound on a second number of cycles that can be reduced by a frequency change comprising a slower frequency that will not impact the performance as measured by the pipeline throughput of the at least one processor core. 6. The method according to claim 2 , further comprising: tracking, during a first interval running at a first frequency, in the second counter of the at least one counter, each cycle of the plurality of cycles of a workload during which none of the at least one execution unit is busy and the at least one thread of the at least one processor core is waiting on at least one off-core memory access, as a first counter value; storing the first counter value; tracking, during a second interval running at a second frequency, in the second counter of the at least one counter, each cycle of the plurality of cycles of the workload during which none of the at least one execution unit is busy and the at least one thread of the at least one processor core is waiting on at least one off-core memory access, as a second counter value, wherein the second frequency is slower than the first frequency; calculating a separate ratio for each interval, wherein the separate ratio comprises a value in the second counter for the interval over a frequency for the interval; and determining a change in frequency sensitivity from the first frequency to the second frequency from a difference between a first ratio calculated for the first frequency and a second ratio calculated for the second frequency, wherein the change in frequency sensitivity provides an indicator of the expected performance impact of an additional frequency change within the at least one processor core. 7. The method according to claim 6 , further comprising: in response to determining that there is not a difference between first ratio and the second ratio, evaluating the lack of difference as an indicator of the extent of dependency among a plurality of execution units of at least one processor core to execute the workload, wherein each of the plurality of execution units is a multi-cycle execution units that requires more than one cycle to complete execution of at least one operation. 8. The method according to claim 6 , further comprising: in response to determining that there is not a difference between the first ratio and the second ratio, determining an indicator of a change in frequency sensitivity of the workload based on an additional difference between the first counter and the second counter. 9. The method according to claim 2 , further comprising: tracking, during a first interval running at a first frequency, in the first counter of the at least one counter, each cycle of the plurality of cycles during which none of the at least one execution unit is finishing execution and the at least one thread of the at least one processor core is waiting on at least one off-core memory access, as a first counter value; storing the first counter value; tracking, during a second interval running at a second frequency, in the first counter of the at least one counter, each cycle of the plurality of cycles during which none of the at least one execution unit is finishing execution and the at least one thread of the at least one processor core is waiting on at least one off-core memory access, as a second counter value, wherein the second frequency is slower than the first frequency; calculating a separate ratio for each interval, wherein the separate ratio comprises a value in the first counter for the interval over a frequency for the interval; and determining a change in frequency sensitivity from the first frequency to the second frequency from a difference between a first ratio calculated for the first frequency and a second ratio calculated for the second frequency, wherein the change in frequency sensitivity provides an indicator of the expected performance impact of an additional frequency change within the at least one processor core. 10. The method according to claim 1 , wherein tracking, in at least one counter, a number of cycles in which at least one execution unit of at least one processor core is idle and at least one thread of the at least one processor core is waiting on at least one off-core memory access during run-time of the at least one processor core during an interval comprising a plurality of cycles: tracking the number of cycles on at least one multi-cycle execution unit from among the at least one execution unit that requires more than one cycle to complete execution of at least one operation and on at least one single cycle execution unit from among the at least one execution unit that requires one cycle to complete execution of the at least one operation. 11. The method according to claim 1 , wherein tracking, in at least one counter, a number of cycles in which at least one execution unit of at least one processor core are idle and at l
Cross-Sectional Technologies · mapped topic
Monitoring of events, devices or parameters that trigger a change in power modality · CPC title
Performance evaluation by tracing or monitoring · CPC title
Cross-Sectional Technologies · mapped topic
Power saving in microcontroller unit · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.