Workload-Aware I/O Scheduler for Hybrid Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current I/O schedulers in software-defined hybrid storage systems fail to effectively manage and prioritize I/O requests across a combination of Hard Disk Drives (HDDs) and Solid State Drives (SSDs), leading to performance issues and inability to meet Service Level Agreements (SLAs) for diverse workloads, especially due to differences in I/O patterns, read/write ratios, and storage block sizes.

Innovation Solution

A workload-aware I/O scheduler with a queue managing module, request controlling sub-module, request dispatching sub-module, workload property database, and traffic monitoring module, which dynamically configures workload queues based on performance parameters like IOPS, throughput, and latency to ensure each workload meets its SLA, by classifying queue depths and wait times according to specific workload characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current I/O schedulers are used in hybrid storage systems, then HDD performance can be maintained through merging and sorting, but SSD performance deteriorates due to unnecessary merging and sorting overhead

Engineering Contradiction:
ImproveHDD throughputVSAvoidSSD I/O wait time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The I/O scheduler is segmented into different handling paths for HDD and SSD workloads. The system divides I/O request management into separate queues and scheduling mechanisms: one path for HDD that performs merging and sorting, and another path for SSD that bypasses these operations. This segmentation allows each storage type to be optimized independently, preventing SSD performance degradation while maintaining HDD efficiency.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single I/O scheduler serves all workloads, then device simplicity is maintained, but workload performance deteriorates due to inability to meet diverse SLA requirements

Engineering Contradiction:
Improvescheduler structureVSAvoidSLA compliance
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The I/O scheduler implements dynamic configuration where queue depths and wait times are adjusted based on workload characteristics and performance requirements. The system monitors workload properties (sequential/random I/O, read/write ratio, storage block size) and dynamically modifies scheduling parameters to meet different SLA requirements. This dynamic adaptation allows a single scheduler to effectively serve diverse workloads without requiring multiple fixed-configuration schedulers.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If I/O requests are merged and sorted for all storage devices, then HDD seek time is reduced, but SSD parallelism capability is underutilized

Engineering Contradiction:
ImproveHDD seek timeVSAvoidSSD parallel processing capability
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The scheduling approach is customized locally for each storage device type. HDD workloads receive merging and sorting treatment to reduce seek time and improve throughput, while SSD workloads receive direct queuing without merging or sorting to exploit parallelism. The system applies different quality characteristics (scheduling treatments) to different parts (storage devices) based on their specific requirements, optimizing overall system performance.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9575664B2Workload-aware I/O scheduler in software-defined hybrid storage system
Publication Date: 2017.02.21 PROPHETSTOR DATA SERVICES
  • US9575664B2 patent drawing
  • US9575664B2 patent drawing
  • US9575664B2 patent drawing

AI summary

A workload-aware I/O scheduler in a Software-Defined Hybrid Storage (SDHS) system is disclosed. The scheduler includes a queue managing module, a workload property database, a traffic monitoring module, and a traffic modeling module. The queue managing module further has a request receiving sub-module, a request controlling sub-module, and a request dispatching sub-module. With the operations of the queue managing module, requests for accesses of HDDs and SSDs can be separately queued. Thus, performance of the SDHS can be improved. Meanwhile, the scheduler can be used for requests from a number of workloads at the same time while meet performance requirement of each workload.