Automated QoS Tuning for Distributed Storage Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in maintaining optimal Quality of Service (QoS) settings, leading to performance degradation due to misconfiguration, such as under or over-provisioning of input/output operations per second (IOPS), which results in load balancing issues and suboptimal resource allocation.

Innovation Solution

A QoS tuning module is implemented within the distributed storage system to monitor workload characteristics and automatically adjust QoS settings, including minimum, maximum, and burst IOPS, to ensure optimal performance by increasing or decreasing these settings based on observed workload patterns and thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If QoS settings are manually configured for volumes in a distributed storage system, then initial performance requirements can be met, but performance degradation occurs over time due to workload changes and misconfiguration

Engineering Contradiction:
ImproveQoS setting accuracyVSAvoidTime for performance maintenance
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system enables automated self-adjustment of QoS settings through workload monitoring and machine learning models that automatically tune minimum IOPS, maximum IOPS, and burst IOPS parameters without human intervention, allowing the storage system to adapt to changing workload conditions and maintain optimal performance continuously

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements continuous feedback loops by monitoring actual workload characteristics, comparing them against configured QoS settings, and automatically adjusting parameters based on performance metrics and workload patterns, ensuring QoS settings remain accurate over time without manual reconfiguration

Inventive Principle:
Principle #23Feedback

2Reliability

If QoS settings are increased to prevent performance degradation, then service level agreements can be met, but resource allocation becomes suboptimal and load balancing issues arise

Engineering Contradiction:
ImproveService level agreement complianceVSAvoidResource allocation efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts QoS settings based on real-time workload monitoring and analysis, allowing minimum IOPS, maximum IOPS, and burst IOPS parameters to adapt to actual usage patterns rather than remaining static, thereby maintaining SLA compliance while optimizing resource allocation efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes QoS parameters (minimum IOPS, maximum IOPS, burst IOPS) based on workload characteristics and performance metrics, using machine learning models to determine optimal parameter values that balance SLA requirements with overall system resource allocation efficiency

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated QoS tuning is implemented, then performance optimization is achieved, but system complexity increases

Engineering Contradiction:
ImproveVolume performanceVSAvoidQoS management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service automated tuning where the storage system monitors its own workload characteristics and automatically adjusts QoS settings without requiring external management complexity, reducing the burden on administrators while maintaining optimized performance

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12131031B2Automated tuning of a quality of service setting for a distributed storage system based on internal monitoring
Publication Date: 2024.10.29 NETAPP INC
  • US12131031B2 patent drawing
  • US12131031B2 patent drawing
  • US12131031B2 patent drawing

AI summary

Systems and methods for automated tuning of Quality of Service (QoS) settings of volumes in a distributed storage system are provided. According to one embodiment, one or more characteristics of a workload of a client to which a storage node of multiple storage nodes of the distributed storage system is exposed are monitored. After a determination has been made that a characteristic meets or exceeds a threshold, (i) information regarding multiple QoS settings assigned to a volume of the storage node utilized by the client is obtained, (ii) a new value of a burst IOPS setting of the multiple QoS settings is calculated by increasing a current value of the burst IOPS setting by a factor dependent upon a first and a second QoS setting of the multiple QoS settings, and (iii) the new value of the burst IOPS setting is assigned to the volume for the client.