Dedicated I/O Queues for Compressed Storage Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional NVMe storage systems experience performance degradation due to continuous CPU-intensive checks for identifying compressed and non-compressed I/Os, leading to increased latency and reduced IOPs, as they lack mechanisms to sense compression workloads and allocate appropriate CPU cores effectively.

Innovation Solution

Dedicated I/O queues are created based on the number of compressed volumes, with flags set to indicate whether queues are for compressed or non-compressed data, allowing for efficient routing of I/Os to appropriate CPU cores, thereby reducing bottlenecks and improving CPU utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If continuous CPU-intensive checks are performed to identify compressed and non-compressed I/Os, then I/O identification accuracy is maintained, but I/O latency increases and IOPs decrease

Engineering Contradiction:
ImproveI/O identification accuracyVSAvoidI/O latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-tagging I/O queues with compression type information (compressed or non-compressed) during queue creation. This allows the storage controller to immediately identify the compression type of incoming I/Os based on the pre-assigned queue tags, eliminating the need for continuous CPU-intensive checks during I/O processing and thereby reducing I/O latency while maintaining identification accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments I/O queues into dedicated compressed I/O queues and non-compressed I/O queues, each with distinct tags. This segmentation allows the system to route different types of I/Os to appropriate queues based on their compression requirements, enabling efficient identification without continuous checks and improving both latency and throughput.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If CPU cores are uniformly allocated to all I/O queues, then system simplicity is maintained, but CPU utilization efficiency decreases

Engineering Contradiction:
ImproveCPU allocation complexityVSAvoidCPU utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by allocating different numbers of CPU cores to different types of I/O queues based on their specific needs. Compressed I/O queues, which require more processing power for compression operations, are allocated more CPU cores, while non-compressed I/O queues receive fewer cores. This differentiated allocation optimizes CPU utilization efficiency while maintaining manageable system complexity through clear allocation rules.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11269519B2Queue management in storage systems
Publication Date: 2022.03.08 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11269519B2 patent drawing
  • US11269519B2 patent drawing
  • US11269519B2 patent drawing

AI summary

A computer-implemented method, according to one embodiment, includes initiating, by a computer, a connection with a storage controller. A determination is made, by the computer, if a number of compressed volumes on a target side present in a storage system comprising the storage controller. In response to determining at least one compressed volume, a number of queues are dedicated based on the number of compressed volumes. The number of dedicated queues are sent to the storage controller. Moreover, the number of dedicated queues are created. Compressed input/outputs (I/Os) are sent through at least one of the dedicated queues to at least one of the at least one compressed volume via the storage controller.