IP Library Granted Patent US 12,613,841
Granted Patent B2
US 12,613,841 · App. 17/402,359 · Granted Apr 28, 2026

Application performance data processing

Inventors: Max Alt (San Francisco, CA); Paulo Roberto Pereira de Souza filho (Maringa, BR)
Assignee: Advanced Micro Devices, Inc.
G06F16/215G06N5/04G06N20/00
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 12,613,841
App. No.
17/402,359
Granted
Apr 28, 2026
Kind
B2
Abstract

A system and method for generating performance assistance charts is disclosed. An application performance spectrometer aggregates collected application performance data by scaling, normalizing and quantizing the data so that all samples indicative of low performance appear on one side of the graph, all samples indicative of high performance appear on the other side of the graph, and samples in between are positioned relative to those two poles in quantized buckets. The spectrometer may be used to visualize an application's performance characteristics, and as an application fingerprint may be used to compare different applications and determine which have similar performance profiles.

Claims (43)

1 . A method for processing application performance data, the method comprising:

executing a performance tracking tool on a first computing system to collect performance data for a new application also executing on the first computing system, wherein the performance data comprises a plurality of different performance counters;

normalizing the collected performance data;

quantizing the normalized performance data;

creating an application performance fingerprint for the new application by combining the quantized and normalized performance data representing the different performance counters; and

predicting a performance of the new application on a second computing system using performance data collected for one or more similar prior executed applications, wherein each similar prior executed application includes multiple fingerprints corresponding to execution on different computing systems or configurations, and the prediction is based on one or more of those fingerprints;

selecting a configuration of the second computing system for executing the new application based on the predicted performance;

executing the new application on the second computing system using the selected configuration; and

generating a hot spot chart that identifies performance bottlenecks in the new application by categorizing functions based on a percentage of time spent during execution;

wherein the hot spot chart distinguishes between I/O latency-bound and I/O bandwidth-bound performance characteristics.

2 . The method of claim 1 , further comprising creating a spectrometer graph by plotting a histogram chart of the application performance fingerprint.

3 . The method of claim 2 , wherein the performance data comprises samples, and wherein samples indicative of low performance appear on a first side of the spectrometer graph, samples indicative of high performance appear on a second side of the spectrometer graph, and samples indicative of intermediate performance are positioned between the first side and the second side in quantized locations.

4 . The method of claim 1 , further comprising comparing the application performance fingerprint for the new application with a prior stored application performance fingerprint for at least one different application to find the one or more similar prior executed applications.

5 . The method of claim 4 , wherein the prior stored application performance fingerprint comprises performance data for the execution of the at least one different application on a plurality of different computing systems.

6 . The method of claim 4 , further comprising making a recommendation for application performance improvement based on the performance data collected for the one or more prior executed similar applications.

7 . The method of claim 1 , further comprising generating a load balance chart for the new application, wherein the load balance chart illustrates a distribution of work among parallel processes based on calculated function execution percentages, and identifying at least one process with disproportionate workload or idle time based on the chart.

8 . A method for managing application performance, the method comprising:

executing a performance tracking tool on a first computing system to collect performance data for a new application also being executed on the first computing system, wherein the performance data comprises a plurality of different performance counters;

creating an application performance fingerprint for the new application by (i) quantizing and normalizing the collected performance data, and (ii) combining the quantized and normalized data into a histogram representation that numerically correlates low and high-performance samples;

comparing the application performance fingerprint for the new application with a plurality of stored application performance fingerprints generated from prior executed applications, each fingerprint corresponding to execution of a prior application on a particular computing system or computing system configuration, to identify one or more similar prior executed applications based on a similarity metric;

predicting a performance of the new application on a second computing system or configuration by identifying one or more previously executed applications whose fingerprints are similar to the fingerprint of the new application, and using performance data of those similar applications obtained from executions on the second computing system or configuration to estimate an expected performance of the new application on the second computing system;

automatically generating a configuration recommendation identifying at least one computing system or configuration for optimized execution of the new application based on the predicted performance;

allocating computing resources of the second computing system or configuration in accordance with the recommendation; and

dispatching the new application to the allocated computing resources for execution, thereby automatically optimizing deployment of the new application based on a predicted performance counters.

9 . The method of claim 8 , wherein the earlier captured application performance fingerprints include different fingerprints for each application's performance data on different computing systems.

10 . The method of claim 9 , wherein the different computing systems include bare metal computing systems and cloud computing systems.

11 . The method of claim 8 , further comprising generating a visual performance spectrometer that graphically represents the quantized and normalized data of the new application, wherein the visual performance spectrometer displays samples arranged along a scale between low-performance and high-performance poles to highlight performance optimization opportunities.

12 . A system having at least one processor, the system configured to:

execute a performance tracking tool on a first computing system to collect performance data for a new application also executing on the first computing system, wherein the performance data comprises a plurality of different performance counters;

normalize the collected performance data;

quantize the normalized performance data;

create an application performance fingerprint for the new application by combining the quantized and normalized performance data representing the different performance counters; and

predict a performance of the new application on a second computing system using performance data collected for one or more similar prior executed applications, wherein each similar prior executed application includes multiple fingerprints corresponding to execution on different computing systems or configurations, and the prediction is based on one or more of those fingerprints;

generate, from the normalized performance data, an application performance histogram that categorizes performance characteristics of the new application by transaction size to distinguish between I/O-latency-bound, I/O-bandwidth-bound, network-latency-bound, and network-bandwidth-bound workloads;

select a configuration of the second computing system for executing the new application based on the predicted performance and the categorized performance characteristics identified in the application performance histogram; and

execute the new application on the second computing system using the selected configuration.

13 . The system of claim 12 , further configured to create a spectrometer graph by plotting a histogram chart of the application performance fingerprint.

14 . The system of claim 13 , wherein the performance data comprises samples, and wherein the samples indicative of low performance appear on a first side of the spectrometer graph, the samples indicative of high performance appear on a second side of the spectrometer graph, and the samples indicative of intermediate performance are positioned between the first side and the second side in quantized locations.

15 . The system of claim 12 , further configured to compare the application performance fingerprint for the new application with a prior stored application performance fingerprint for at least one different application to find the one or more similar prior executed applications.

16 . The system of claim 15 , wherein the prior stored application performance fingerprint comprises performance data for the execution of the at least one different application on a plurality of different computing systems.

17 . The system of claim 15 , further configured to make a recommendation for application performance improvement based on the performance data collected for the one or more similar prior executed applications.

18 . The system of claim 12 , wherein the second computing system has a different configuration than the first computing system.

19 . The system of claim 12 , wherein the one or more similar prior executed applications have a matching performance profile to the new application.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Aug 28, 2024
From: B. RILEY COMMERCIAL CAPITAL, LLC
To: CORE SCIENTIFIC, INC.; CORE SCIENTIFIC OPERATING COMPANY
Reel/Frame 068803/0146 →
RELEASE OF SECURITY INTEREST Recorded Jan 26, 2024
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: CORE SCIENTIFIC OPERATING COMPANY; CORE SCIENTIFIC ACQUIRED MINING LLC
Reel/Frame 066375/0324 →
SECURITY INTEREST Recorded Mar 1, 2023
From: CORE SCIENTIFIC, INC.; CORE SCIENTIFIC OPERATING COMPANY
To: B. RILEY COMMERCIAL CAPITAL, LLC
Reel/Frame 062899/0741 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2023
From: CORE SCIENTIFIC OPERATING COMPANY; CORE SCIENTIFIC, INC.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 062669/0293 →
RELEASE OF SECURITY INTEREST Recorded Feb 3, 2023
From: WILMINGTON SAVINGS FUND SOCIETY, FSB
To: CORE SCIENTIFIC INC.; CORE SCIENTIFIC OPERATING COMPANY
Reel/Frame 063272/0450 →
SECURITY INTEREST Recorded Dec 23, 2022
From: CORE SCIENTIFIC OPERATING COMPANY; CORE SCIENTIFIC INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB
Reel/Frame 062218/0713 →
CHANGE OF NAME Recorded Jun 2, 2022
From: CORE SCIENTIFIC, INC.
To: CORE SCIENTIFIC OPERATING COMPANY
Reel/Frame 060258/0485 →
SECURITY INTEREST Recorded Feb 10, 2022
From: CORE SCIENTIFIC OPERATING COMPANY; CORE SCIENTIFIC ACQUIRED MINING LLC
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 059004/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2022
From: ALT, MAX; DE SOUZA FILHO, PAULO ROBERTO PEREIRA
To: CORE SCIENTIFIC, INC.
Reel/Frame 058816/0916 →
Continuity (2)
Provisional Application 63065003 · Aug 13, 2020
Related Publication 20220050814A1 · Feb 17, 2022
References Cited (27)
US 8296419B1 · Khanna et al. · 2012 [cited by applicant]
US 10817401B1 · Lewis · 2020 [cited by applicant]
US 10915425B2 · Wang · 2021 [cited by examiner]
US 20070124094A1 · Brey · 2007 [cited by examiner]
US 20090177642A1 · Chung · 2009 [cited by examiner]
US 20110197046A1 · Chiu · 2011 [cited by examiner]
US 20120226788A1 · Jackson · 2012 [cited by applicant]
US 20150317563A1 · Baldini Soares · 2015 [cited by examiner]
US 20160019636A1 · Adapalli et al. · 2016 [cited by applicant]
US 20160098334A1 · Hariharakrishnan et al. · 2016 [cited by applicant]
US 20160224898A1 · Ryckbosch et al. · 2016 [cited by applicant]
US 20170249192A1 · Thompson · 2017 [cited by applicant]
US 20170373940A1 · Shahab et al. · 2017 [cited by applicant]
US 20180046561A1 · Enright · 2018 [cited by examiner]
US 20180365576A1 · Guttmann et al. · 2018 [cited by applicant]
US 20190065336A1 · Singhal · 2019 [cited by examiner]
US 20190079850A1 · Zhang · 2019 [cited by examiner]
US 20190171483A1 · Santhar et al. · 2019 [cited by applicant]
US 20190208009A1 · Prabhakaran et al. · 2019 [cited by applicant]
US 20190319977A1 · Gottschlich · 2019 [cited by examiner]
US 20190334801A1 · Dutta · 2019 [cited by examiner]
US 20200174965A1 · Kumar · 2020 [cited by examiner]
US 20200242000A1 · Khosrowpour · 2020 [cited by examiner]
US 20200319877A1 · Glazer · 2020 [cited by examiner]
US 20200334122A1 · Shepard · 2020 [cited by examiner]
US 20210240678A1 · Patel · 2021 [cited by examiner]
International Search Report and Written Opinion for International Patent Application No. PCT/US21/42439. [cited by applicant]