Data Storage Performance Tuning via Linear Regression Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern CPU systems with multiple cores do not automatically enhance performance unless the system code is designed to be scalable, making it challenging for developers to quantify and optimize performance enhancements, which is essential for cost-performance tradeoffs and fine-tuning.

Innovation Solution

A method using linear regression to estimate the parallel fraction and speedup characteristic by analyzing performance values from trial runs with different CPU core counts, allowing for accurate configuration of CPU core usage in data storage systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If trial runs are performed for every possible number of CPU cores to obtain accurate performance measurements, then measurement precision is improved, but loss of time increases significantly

Engineering Contradiction:
Improveperformance measurement accuracyVSAvoidtime for performance testing
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by performing trial runs for only a subset of CPU core counts (e.g., 1, 2, 4, 8 cores) rather than every possible core count. This selective sampling approach obtains sufficient performance data to characterize scalability without the exhaustive testing that would consume excessive time, thereby resolving the contradiction between measurement precision and time loss.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent creates a mathematical model (copy) of the performance-scalability relationship based on limited empirical measurements. This model then predicts performance for unmeasured core counts, allowing accurate performance estimation without actually running tests for every possible configuration, thus reducing time loss while maintaining measurement precision.

Inventive Principle:
Principle #26Copying

2Productivity

If the data storage system is configured to use more CPU cores to improve performance, then productivity increases, but device complexity increases

Engineering Contradiction:
Improvedata processing performanceVSAvoidsystem configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of CPU core count based on the quantified scalability characteristics and performance requirements. By using the mathematical model to determine the optimal number of cores needed for a target performance level, the system can configure itself to achieve desired productivity without unnecessarily increasing device complexity through over-provisioning or complex manual configuration.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If developers manually measure and analyze performance for each CPU core configuration to optimize scalability, then manufacturing precision is improved, but loss of time increases

Engineering Contradiction:
Improveperformance optimization accuracyVSAvoiddevelopment and tuning time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical measurement and analysis processes with an automated mathematical modeling approach. The system automatically collects performance data from limited trial runs, fits a scalability model, and predicts optimal configurations, eliminating the need for developers to manually measure and analyze every configuration, thus reducing development time while maintaining optimization accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11416265B2Performance tuning a data storage system based on quantified scalability
Publication Date: 2022.08.16 EMC IP HLDG CO LLC
  • US11416265B2 patent drawing
  • US11416265B2 patent drawing
  • US11416265B2 patent drawing

AI summary

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.