Automatic Code Transformation
US-2017269913-A1 · Sep 21, 2017 · US
US11416265B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11416265-B2 |
| Application number | US-202016743352-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 15, 2020 |
| Priority date | Jan 15, 2020 |
| Publication date | Aug 16, 2022 |
| Grant date | Aug 16, 2022 |
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 method of tuning performance of a data storage system includes calculating an estimate of parallel fraction and speedup characteristic for a data storage application executed by the data storage system. The estimate is calculated using linear regression of values (1/N, 1/XN) that are generated from trial runs of the data storage application processing a workload using respective different numbers N of CPU cores to obtain corresponding performance values XN. The method further includes configuring the data storage system to execute the data storage application using a number of CPU cores based on the estimate of parallel fraction and speedup characteristic.
Opening claim text (preview).
What is claimed is: 1. A method of tuning performance of a data storage system, comprising: calculating an estimate of parallel fraction and speedup characteristic for a data storage application executed by the data storage system, the estimate being calculated using linear regression of values (1/N, 1/X N ) generated from trial runs of the data storage application processing a workload using respective distinct numbers N of CPU cores to obtain corresponding performance values X N ; and configuring the data storage system to execute the data storage application using a number of CPU cores based on the estimate of parallel fraction and speedup characteristic; the data storage system subsequently executing the data storage application using the number of CPU cores. 2. The method of claim 1 , further including executing the trial runs of the data storage application processing the workload using the respective distinct numbers N of CPU cores to obtain the corresponding performance values X N . 3. The method of claim 2 , wherein the trial runs are executed in a performance analyzer system separate from the data storage system. 4. The method of claim 1 , further including modifying the data storage application to improve the parallel fraction and speedup characteristic, and wherein configuring the data storage system includes deploying the data storage application as modified to the data storage system for execution thereon. 5. The method of claim 1 , wherein the calculating is based on an expression relating speedup to an inverse of a parallel fraction for the data storage application, the parallel fraction being a fraction of the data storage application that can be executed in parallel. 6. The method of claim 5 , wherein the calculating is further based on an inversion of the expression that yields a linear expression for 1/X N in terms of 1/N, the linear expression having slope and intercept values identified by the linear regression and used in substitution calculations to obtain the parallel fraction and a single-core performance value. 7. The method of claim 6 , wherein the substitution calculations include (1) calculating the single-core performance value as 1/(m+b), m being the slope value and b being the intercept value, and (2) calculating the parallel fraction as m/(m+b). 8. The method of claim 1 , wherein the configuring is further based on being outside of a defined low return zone in which incremental speedup with additional cores is below an acceptable threshold. 9. The method of claim 8 , wherein the acceptable threshold is a predetermined fraction of N. 10. The method of claim 1 , wherein the performance values are values of input/output operations per second (IOPS) as a performance metric for the data storage application. 11. The method of claim 1 , wherein the performance values X N are scaled values calculated by normalizing raw performance values with respect to CPU utilization achieved during the respective trials. 12. A computer system having a performance analysis system coupled to a data storage system, the performance analysis system being a computerized device configured and operative to execute computer program instructions to tune performance of the data storage system by: calculating an estimate of parallel fraction and speedup characteristic for a data storage application executed by the data storage system, the estimate being calculated using linear regression of values (1/N, 1/X N ) generated from trial runs of the data storage application processing a workload using respective distinct numbers N of CPU cores to obtain corresponding performance values X N ; and configuring the data storage system to execute the data storage application using a number of CPU cores based on the estimate of parallel fraction and speedup characteristic; the data storage system subsequently executing the data storage application using the number of CPU cores. 13. The computer system of claim 11 , wherein the performance-tuning further includes executing the trial runs of the data storage application processing the workload using the respective distinct numbers N of CPU cores to obtain the corresponding performance values X N . 14. The computer system of claim 13 , wherein the trial runs are executed in the performance analysis system. 15. The computer system of claim 11 , wherein the performance-tuning further includes modifying the data storage application to improve the parallel fraction and speedup characteristic, and wherein configuring the data storage system includes deploying the data storage application as modified to the data storage system for execution thereon. 16. The computer system of claim 11 , wherein the calculating is based on an expression relating speedup to an inverse of a parallel fraction for the data storage application, the parallel fraction being a fraction of the data storage application that can be executed in parallel. 17. The computer system of claim 16 , wherein the calculating is further based on an inversion of the expression that yields a linear expression for 1/X N in terms of 1/N, the linear expression having slope and intercept values identified by the linear regression and used in substitution calculations to obtain the parallel fraction and a single-core performance value. 18. The computer system of claim 11 , wherein the configuring is further based on being outside of a defined low return zone in which incremental speedup with additional cores is below an acceptable threshold. 19. The computer system of claim 18 , wherein the acceptable threshold is a predetermined fraction of N. 20. The computer system of claim 11 , wherein the performance values are values of input/output operations per second (IOPS) as a performance metric for the data storage application. 21. The computer system of claim 11 , wherein the performance values X N are scaled values calculated by normalizing raw performance values with respect to CPU utilization achieved during the respective trials.
for planning or managing the needed capacity · CPC title
for parallel or distributed programming · CPC title
for performance assessment · CPC title
where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.