Adaptive Queue Module Optimizes Storage I/O Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage networks, the configuration of maximum queue depth for disk drivers is often done without considering the type or capability of connected disk devices, leading to inefficiencies such as slowed or terminated I/O processes due to excessive requests, or reduced throughput due to insufficient requests, and can result in 'queue full' conditions, significantly reducing I/O throughput.

Innovation Solution

An adaptive queue module that adjusts the maximum queue depth based on measured service times and expected service times for I/O requests, using a mathematical model to continuously monitor and optimize the number of concurrent I/O requests, thereby preventing sub-optimal performance and queue full conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the maximum queue depth is configured to be large, then the disk driver can issue more I/O requests concurrently, but it may cause the I/O process to slow down or terminate due to excessive requests

Engineering Contradiction:
ImproveI/O throughputVSAvoidI/O process stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic adjustment of queue depth based on real-time monitoring of I/O response times and queue lengths. The system continuously adapts the queue depth parameter rather than using a fixed configuration, allowing it to respond to changing system conditions and avoid both overload and underutilization scenarios

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring I/O response times and queue lengths, then using this information to adjust the queue depth. This closed-loop control ensures that the queue depth is optimized based on actual system performance rather than static configuration

Inventive Principle:
Principle #23Feedback

2Reliability

If the maximum queue depth is configured to be small, then the I/O requests are processed more carefully, but the throughput is reduced and disk device usage is inefficient

Engineering Contradiction:
ImproveI/O process stabilityVSAvoidI/O throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adjusts queue depth upward when system conditions permit, allowing the disk driver to issue more concurrent requests when the device can handle them, thereby improving throughput without sacrificing stability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the queue depth parameter based on monitored system conditions such as I/O response time and queue length. This parameter adaptation allows the system to optimize between stability and throughput by adjusting the queue depth to match current system capabilities

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple hosts forward many I/O requests concurrently to the same disk, then the disk can be fully utilized, but queue full conditions occur and hosts must retransmit requests, reducing throughput

Engineering Contradiction:
Improvedisk utilizationVSAvoidqueue full conditions
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system takes preliminary action by monitoring queue length and response time trends to detect when the queue is approaching full capacity. It proactively adjusts the queue depth downward before the queue actually becomes full, preventing the harmful condition rather than reacting after it occurs

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The system uses feedback from queue length monitoring to detect approaching capacity limits and adjusts the queue depth accordingly. This feedback mechanism prevents queue full conditions by reducing the queue depth when the system approaches its handling capacity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9325583B2Method and system for optimizing network input/output performance
Publication Date: 2016.04.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9325583B2 patent drawing
  • US9325583B2 patent drawing
  • US9325583B2 patent drawing

AI summary

A method and system for optimizing network I/O throughput is disclosed. In one embodiment, a method for optimizing an input/output (I/O) throughput for a storage network comprises measuring a service time for a storage device of the storage network in completing an I/O request serviced by a storage driver. The method also comprises determining a status of an I/O performance between the storage driver and the storage device by comparing the service time with an expected service time for the storage device in completing the I/O request, where the expected service time is calculated based on a type of the storage device and a size of the I/O request. The method further comprises adjusting a maximum queue depth associated with the storage device based on the status of the I/O performance.