IO Flow Control Using Sensitivity Matrix for Latency Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems face challenges in managing IO workloads, leading to increased latency when approaching designed capacity, and aggressive load control can result in underutilization, while existing throttling methods are not effective for all types of IOs and services, such as sync replication and active/active replication.

Innovation Solution

A method and system for IO flow control that utilize IO latency factors and component latency factors to determine effective average latency, allowing for dynamic adjustment of incoming IOs, incorporating a sensitivity matrix to differentiate between priority levels and components, and detect latency changes to prevent overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system throttles the total number of IO tasks to prevent overload, then system stability is improved, but system utilization deteriorates due to underutilization

Engineering Contradiction:
Improvesystem stabilityVSAvoidsystem utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating latency assessment across different IO types and components. Instead of uniformly throttling all IOs, the system calculates component-specific latency factors for different storage components (e.g., disks, controllers) and IO types (e.g., sync replication, active/active replication, regular IOs). This allows the system to maintain stability for critical IOs while throttling non-critical IOs, thus preventing underutilization of the system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of latency assessment from a single aggregate metric to a multi-dimensional parameter set including IO latency factors, component latency factors, and sensitivity factors. By dynamically adjusting these parameters based on IO type and component characteristics, the system can prevent overload while maintaining high utilization for IOs that are not contributing to system load (e.g., sync replication IOs).

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If the system uses average latency as an indicator of system load, then load monitoring is simplified, but measurement precision deteriorates for certain IO types

Engineering Contradiction:
Improveload monitoring simplicityVSAvoidload assessment accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent segments the latency measurement into multiple components: IO latency factors for different IO types, component latency factors for different storage components, and sensitivity factors for different IO priorities. This segmentation allows the system to maintain simple monitoring procedures while achieving precise load assessment by weighting different latency components appropriately for each IO type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selectively considering only the relevant latency components for each IO type. For example, sync replication IOs may have their latency attributed entirely to network transfer rather than local storage components, while regular IOs consider both. This partial consideration of latency factors improves measurement precision without significantly increasing operational complexity.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11061835B1Sensitivity matrix for system load indication and overload prevention
Publication Date: 2021.07.13 EMC IP HLDG CO LLC
  • US11061835B1 patent drawing
  • US11061835B1 patent drawing
  • US11061835B1 patent drawing

AI summary

An aspect of performing input/output (IO) flow control in a storage system includes receiving an IO latency factor for each IO of a plurality of IOs in a workload. The IO latency factor specifies a priority level. An aspect also includes receiving a component latency factor, with respect to each of the IOs in the workload, for each component of a plurality of components in the storage system. The component latency factor indicates a degree to which the component is considered in assessing the workload. An aspect also includes applying, during processing of the workload, the IO latency factor and the component latency factor to each of the corresponding IOs; and determining an effective average latency of the plurality of IOs in the workload as a function of the applied IO latency factors and the applied component latency factors.