IP Library › Granted Patent US 10,048,741
Granted Patent B1
US 10,048,741 · App. 15/416,993 · Granted Aug 14, 2018

Bandwidth-aware multi-frequency performance estimation mechanism

Inventors: Md Abdullah Shahneous Bari (Richmond Hill, NY); Leonardo Piga (Austin, TX); Indrani Paul (Round Rock, TX)
Assignee: Advanced Micro Devices, Inc.
G06F1/324G06F3/0604G06F3/0611G06F3/0625G06F3/0629G06F3/0673
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,048,741
App. No.
15/416,993
Granted
Aug 14, 2018
Kind
B1
Abstract

Systems, apparatuses, and methods for implementing performance estimation mechanisms are disclosed. In one embodiment, a computing system includes at least one processor and a memory subsystem. During a characterization phase, the system utilizes a memory intensive workload to detect when the memory subsystem reaches its saturation point. Then, the system collects performance counter values during a sampling phase of a target application to determine the memory bandwidth. If the memory bandwidth is greater than the saturation point, then the system generates a prediction of the memory time which is based on a ratio of the memory bandwidth over the saturation point. Otherwise, if the memory bandwidth is less than the saturation point, the system assumes memory time is constant versus processor frequency. Then, the system uses the memory time and an estimate of the compute time to estimate a phase time for the target application at different processor frequencies.

Claims (41)

1. A system comprising:

a memory subsystem; and

one or more processors;

wherein the system is configured to:

determine if memory bandwidth of the memory subsystem during a first interval is greater than or equal to a threshold;

generate, based on a ratio of the memory bandwidth divided by the threshold, a first estimate of memory time for the one or more processors responsive to determining the memory bandwidth of the memory subsystem during the first interval is greater than or equal to the threshold; and

use a second estimate of memory time based on a value other than the ratio of the memory bandwidth divided by the threshold, responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

2. The system as recited in claim 1 , wherein the system is further configured to:

predict a phase time of the one or more processors at a given processor frequency based on the first estimate of memory time; and

operate the one or more processors at the given processor frequency responsive to determining the phase time meets a specified performance target.

3. The system as recited in claim 2 , wherein the memory time is an amount of time the one or more processors spend waiting on memory requests to be processed by the memory subsystem.

4. The system as recited in claim 2 , wherein the memory bandwidth is calculated during the first interval while the one or more processors are operating at a first frequency, wherein the given processor frequency is a second frequency, and wherein the second frequency is different from the first frequency.

5. The system as recited in claim 1 , wherein the system is configured to use a fixed time as the second estimate of memory time responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

6. The system as recited in claim 2 , wherein the performance target is specified by a user, and wherein the performance target is specified as a percentage of maximum performance.

7. The system as recited in claim 2 , wherein a frequency provided to the memory subsystem is independent of a frequency provided to the one or more processors, and wherein the threshold is set based on a point at which bandwidth saturates for the memory subsystem.

8. A method comprising:

determining if memory bandwidth of a memory subsystem during a first interval is greater than or equal to a threshold;

generating, based on a ratio of the memory bandwidth divided by the threshold, a first estimate of memory time responsive to determining the memory bandwidth during the first interval is greater than or equal to the threshold; and

using a second estimate of memory time based on a value other than the ratio of the memory bandwidth divided by the threshold, responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

9. The method as recited in claim 8 , further comprising:

predicting a phase time of one or more processors at a given processor frequency based on the first estimate of memory time; and

operating the one or more processors at the given processor frequency responsive to determining the phase time meets a specified performance target.

10. The method as recited in claim 9 , wherein the memory time is an amount of time the one or more processors spend waiting on memory requests to be processed by the memory subsystem.

11. The method as recited in claim 9 , wherein the performance target is specified by a user, and wherein the performance target is specified as a percentage of maximum performance.

12. The method as recited in claim 9 , wherein a frequency provided to a memory subsystem is independent of a frequency provided to the one or more processors, and wherein the threshold is set based on a point at which bandwidth saturates for the memory subsystem.

13. The method as recited in claim 8 , wherein the memory bandwidth is calculated during the first interval while the one or more processors are operating at a first frequency, wherein the given processor frequency is a second frequency, and wherein the second frequency is different from the first frequency.

14. The method as recited in claim 8 , comprising using a fixed time as the second estimate of memory time responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

15. A processor comprising:

one or more execution units; and

a power management unit;

wherein the processor is configured to:

determine if memory bandwidth of a memory subsystem during a first interval is greater than or equal to a threshold; and

generate, based on a ratio of the memory bandwidth divided by the threshold, a first estimate of memory time responsive to determining the memory bandwidth during the first interval is greater than or equal to the threshold; and

use a second estimate of memory time based on a value other than the ratio of the memory bandwidth divided by the threshold, responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

16. The processor as recited in claim 15 , wherein the processor is further configured to:

predict a phase time of the processor at a given processor frequency based on the first estimate of memory time; and

operate at the given processor frequency responsive to determining the phase time meets a specified performance target.

17. The processor as recited in claim 16 , wherein the memory time is an amount of time spent waiting on memory requests to be processed by the memory subsystem.

18. The processor as recited in claim 16 , wherein the performance target is specified by a user, and wherein the performance target is specified as a percentage of maximum performance.

19. The processor as recited in claim 15 , wherein the memory bandwidth is calculated during the first interval while the processor is operating at a first frequency, wherein the given processor frequency is a second frequency, and wherein the second frequency is different from the first frequency.

20. The processor as recited in claim 15 , wherein the processor is configured to use a fixed time as the second estimate of memory time responsive to determining the memory bandwidth during the first interval is not greater than or equal to the threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: PIGA, LEONARDO; PAUL, INDRANI
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 041097/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2017
From: SHAHNEOUS BARI, MD ABDULLAH
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 041097/0514 →
Cited By (1)
US 12,436,696