Dynamic Storage Performance Modeling Without Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data storage system modeling techniques lack the ability to accurately predict performance for external storage systems without explicit configuration information, leading to inefficiencies in data movement and optimization across multiple storage tiers.
Innovation Solution
A method is introduced that determines whether to use a dynamic or static model for performance modeling based on criteria such as workload and calibration status, generating performance curves through exploratory I/O testing to predict response times and throughput, and adjusts models periodically for validation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a dynamic model is used to model performance of storage devices, then prediction accuracy is improved, but device complexity and calibration requirements increase
Solution Approach 1:
The patent implements a dynamic model that adapts to changing workload conditions by continuously monitoring performance metrics and adjusting predictions accordingly. The model transitions from static to dynamic behavior based on calibration status and workload characteristics, enabling accurate predictions without requiring full calibration under all conditions.
Solution Approach 2:
The system changes modeling parameters based on calibration status and workload type. When calibration is complete, the system uses dynamic performance curves; when calibration is incomplete or resources are constrained, it falls back to static models. This parameter switching resolves the contradiction by adapting model complexity to actual needs.
2Measurement precision
If exploratory I/O testing is performed to generate performance curves, then measurement precision is improved, but loss of time and productivity decrease
Solution Approach 1:
The system performs exploratory I/O testing and generates performance curves in advance during an initial calibration phase. Once generated, these performance curves are stored and reused for multiple predictions without requiring repeated testing. This preliminary action captures the time cost upfront while enabling fast predictions thereafter.
Solution Approach 2:
The calibration process is performed periodically or on-demand rather than continuously. The system determines whether calibration is complete and uses the cached performance curves until recalibration is needed, creating a periodic pattern of intensive testing followed by extended periods of efficient prediction.
3Measurement precision
If a dynamic model with complete calibration is used, then prediction accuracy is improved, but ease of operation and setup complexity increase
Solution Approach 1:
The system performs self-calibration by automatically executing exploratory I/O testing and generating its own performance curves without requiring manual configuration or detailed knowledge of the storage system. The dynamic model determines its own calibration status and transitions between operating modes autonomously, making the system easy to deploy while maintaining high accuracy.
Data Source
AI summary
Described are modeling techniques. In accordance with one or more criteria, a determination may be made as to whether to use a dynamic model or a static model to model performance of components, such as storage devices, of a data storage system. A system may include first and second data storage systems where the first data storage system includes a computer readable medium with first code that performs processing in connection with data storage movement optimizations using one or more models including a dynamic model, and second code that generates and maintains the dynamic model used to model performance of storage devices. The second code may include code for performing first processing to determine device sets each of which does not share back-end resources of the second data storage system with any other device sets, and performing second processing to determine sets of performance curves corresponding to the device sets.


