Storage System I/O Token Allocation for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems face inefficiencies due to uneven load distribution across nodes and storage processors, leading to underutilization of devices and increased latency, as they cannot adjust I/O request processing based on load or account for performance changes over time.

Innovation Solution

The method involves identifying saturation points for different types and sizes of I/O requests, determining normalized tokens, and allocating these tokens to nodes to optimize queue depth limits, allowing for prioritization of I/O requests and dynamic re-evaluation based on system load and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional I/O request processing is used without dynamic adjustment, then system simplicity is maintained, but storage device utilization is uneven and latency increases

Engineering Contradiction:
Improvestorage device utilizationVSAvoidI/O request processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic adjustment of queue depth limits based on real-time saturation points. The system continuously monitors I/O performance metrics and adjusts the number of tokens allocated to each node's I/O queue, transforming a static queue management system into a dynamic one that adapts to changing workload conditions, thereby improving storage device utilization without excessive complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of queue depth limit from a fixed value to a dynamically adjustable value based on saturation points. By introducing tokens that represent units of I/O request capacity and adjusting the number of tokens based on measured saturation points, the system optimizes storage device utilization while maintaining manageable complexity through parameterization

Inventive Principle:
Principle #35Parameter changes

2Productivity

If queue depth limit is increased to improve throughput, then I/O throughput increases, but latency increases due to overloaded storage processors

Engineering Contradiction:
ImproveI/O throughputVSAvoidI/O latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism where saturation points are measured based on I/O latency and throughput metrics. The system uses this feedback to adjust the number of tokens dynamically, reducing tokens when latency increases and increasing tokens when throughput has headroom. This closed-loop control balances throughput improvement with latency prevention

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent allocates tokens partially to each node based on measured saturation points rather than providing full queue depth capacity to all nodes simultaneously. This partial allocation prevents storage processor overload while still allowing sufficient I/O throughput by distributing tokens proportionally based on actual system capacity and demand

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If saturation points are measured and tokens are dynamically allocated, then load distribution is balanced, but system complexity increases

Engineering Contradiction:
Improveload distribution balanceVSAvoidtoken allocation system complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the storage system automatically measures its own saturation points and adjusts token allocation without external intervention. The system monitors its own I/O performance metrics and autonomously reallocates tokens to maintain balanced load distribution, reducing the need for complex external management while achieving good load balancing

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a universal token allocation mechanism that can be applied across multiple nodes and storage processors uniformly. The same saturation point measurement and token allocation logic is used throughout the system, providing a multi-functional solution that handles load balancing, throughput optimization, and latency control through a single unified approach

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS12093570B2Method and system for maximizing performance of a storage system
Publication Date: 2024.09.17 EMC IP HLDG CO LLC
  • US12093570B2 patent drawing
  • US12093570B2 patent drawing
  • US12093570B2 patent drawing

AI summary

In a method used for maximizing performance of a storage system, saturation points of the storage system for I/O requests of different types and sizes are identified. Normalized tokens are determined based on the saturation points. Unique numbers of normalized tokens are associated with the I/O requests of different types and sizes. A number of normalized tokens for a queue depth limit of a storage device is determined. From the queue depth limit, normalized tokens are allocated to each node in the storage device. I/O requests are processed according to the allocations of normalized tokens.