Provisioning Advisor for Storage Workload IOPS Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in accurately predicting and optimizing resource utilization due to complex interactions between hardware and software layers, leading to under-provisioning or over-provisioning, especially in dynamic environments with mixed workloads, which affects performance and resource efficiency.

Innovation Solution

An adaptive workload provisioning advisor that uses robust regression techniques and queueing theory to model workload interference and estimate maximum IOPS, dynamically adapting to system changes and configuration updates, providing a dashboard for users to optimize resource allocation and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If storage providers under-provision systems to maintain performance guarantees, then performance reliability is improved, but resource utilization deteriorates

Engineering Contradiction:
Improveperformance guaranteeVSAvoidresource utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic provisioning that adapts to changing workload conditions in real-time. The system continuously monitors system state and adjusts resource allocation dynamically, allowing the storage system to operate at optimal utilization levels while maintaining performance guarantees. This resolves the contradiction by making provisioning flexible rather than static, enabling the system to be aggressive when conditions permit and conservative when they don't.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the provisioning parameter from a static conservative value to a dynamic value that adjusts based on multiple system parameters including current utilization, workload characteristics, and predicted future states. By using performance models to calculate optimal provisioning levels based on current system state, the system can adjust the provisioning parameter to maximize utilization while maintaining performance guarantees.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If storage providers use aggressive provisioning to increase resource utilization, then resource utilization is improved, but performance reliability deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms that continuously monitor system performance and utilization. The performance models use this feedback to predict future system states and adjust provisioning recommendations accordingly. When aggressive provisioning would compromise performance guarantees, the feedback loop detects this and adjusts the provisioning downward, thus maintaining reliability while maximizing utilization within safe boundaries.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses performance models to predict future system states and identify potential performance issues before they occur. By anticipating when aggressive provisioning might lead to performance degradation, the system can pre-adjust provisioning levels or prepare mitigation strategies, cushioning against potential performance failures while still allowing aggressive provisioning during safe periods.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Measurement precision

If white-box models are used to model each component individually, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveperformance estimation accuracyVSAvoidmodel complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent combines multiple individual component models (CPU, cache, RAM, storage backend, network cards) into a unified performance model. Rather than treating each component separately as white-box models do, the patent merges them into an integrated model that captures their interactions and collective behavior, reducing complexity while maintaining precision through the holistic view of system performance.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces performance models as an intermediary layer between individual component specifications and overall system performance prediction. These models act as mediators that translate complex interactions between multiple hardware and software layers into actionable provisioning recommendations, simplifying the analysis while maintaining accuracy through established performance modeling techniques.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If black-box models are used to model the entire system dynamically, then adaptability is improved, but measurement precision deteriorates

Engineering Contradiction:
Improvedynamic environment adaptationVSAvoidperformance estimation accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent segments the black-box system model into identifiable component contributions while maintaining the overall dynamic modeling approach. By breaking down the system performance into contributions from different components and their interactions, the patent retains adaptability to dynamic environments while improving measurement precision through structured analysis of individual component behaviors within the holistic model.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9612751B2Provisioning advisor
Publication Date: 2017.04.04 NETAPP INC
  • US9612751B2 patent drawing
  • US9612751B2 patent drawing
  • US9612751B2 patent drawing

AI summary

A method and system for a provisioning advisor are described which estimates the input/output operation performance of a workload on a storage system. A regression module in a provisioning advisor estimates a maximum IOPS on the storage system for buckets, or combinations of values, for various characteristics of the workloads running on the system by modeling a relationship between the workload characteristics and performance metrics gathered from the storage system. A performance module can use the estimated maximum IOPS for each bucket to update a set of working tables for the provisioning advisor, which can then be used to predict the input/output performance of a new workload to be provisioned on the storage system.