Dedicated I/O Queues for Compressed Storage Workloads
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Device complexity
If CPU cores are uniformly allocated to all I/O queues, then system simplicity is maintained, but CPU utilization efficiency decreases
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.
Data Source
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.


