Storage System IO Throttling via Reinforcement Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face performance degradation and resource overload due to bursts of write operations from host devices, which can overwhelm limited IO queues and resources, undermining system performance and preventing completion of critical tasks.

Innovation Solution

An apparatus utilizing a reinforcement learning framework to determine the current state of the storage system, generate IO throttling recommendations, apply these recommendations, and update the framework based on subsequent states, thereby preventing resource overload and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If IO throttling is applied to prevent resource overload, then storage system stability is improved, but IO throughput may be reduced

Engineering Contradiction:
Improvestorage system stabilityVSAvoidIO throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic IO throttling where the throttling policy is continuously adjusted based on real-time system state monitoring. The reinforcement learning agent adapts throttling intensity according to current workload conditions, resource utilization levels, and system performance metrics, allowing the system to maintain stability while maximizing throughput when conditions permit.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes IO throttling parameters dynamically based on system state. Different throttling strategies are applied depending on whether the system is experiencing resource contention, normal operation, or critical conditions. The reinforcement learning framework learns optimal parameter settings for various scenarios and adjusts them in real-time to balance stability and throughput.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If reinforcement learning framework is used for adaptive IO throttling, then system adaptability is improved, but computational complexity increases

Engineering Contradiction:
ImproveIO throttling adaptabilityVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The reinforcement learning framework enables the storage system to autonomously monitor its own state, learn from past experiences, and automatically adjust IO throttling policies without external intervention. The system serves itself by continuously training the RL agent on real-world operational data and applying learned policies in real-time, reducing the need for manual configuration and expert intervention.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements a closed-loop feedback mechanism where the reinforcement learning agent continuously monitors system state, evaluates the effectiveness of applied throttling actions, and uses this feedback to update its policy. The feedback loop includes collecting performance metrics, comparing actual outcomes with expected outcomes, and adjusting future throttling decisions based on learned patterns and rewards.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11797189B1Storage system IO throttling utilizing a reinforcement learning framework
Publication Date: 2023.10.24 DELL PROD LP
  • US11797189B1 patent drawing
  • US11797189B1 patent drawing
  • US11797189B1 patent drawing

AI summary

An apparatus comprises at least one processing device that includes a processor coupled to a memory. The at least one processing device is configured to determine a current state of a storage system, the current state of the storage system comprising two or more input-output (IO) performance metric values for the storage system, to generate, utilizing a reinforcement learning framework, an IO throttling recommendation for the storage system based at least in part on the current state of the storage system, to apply the IO throttling recommendation to the storage system, and to update the reinforcement learning framework based at least in part on a subsequent state of the storage system following the application of the IO throttling recommendation to the storage system.