IO Request Scheduler With Adjustment Layer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management and storage systems face challenges in balancing IO requests of varying priorities, leading to limitations in system throughput, latency, and resource allocation, as existing scheduling methods fail to effectively manage conflicting goals such as prioritization and concurrency.

Innovation Solution

An IO request scheduler is implemented with a kernel scheduler and an adjustment layer that provides a grace period for high-priority requests, allows concurrent processing of requests, and enforces dynamic minimum throughput for lower-priority requests to prevent starvation, thereby optimizing resource allocation and system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If complete control over the disk is taken by the scheduler, then high-priority IO requests can be serviced promptly, but the system loses flexibility in balancing conflicting goals and overall throughput is limited

Engineering Contradiction:
Improvehigh-priority IO request service speedVSAvoidflexibility in balancing conflicting goals
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The scheduler segments IO requests into different priority queues (highest priority, high priority, medium priority, low priority) and applies different scheduling policies to each queue. This allows the system to provide exclusive access to high-priority requests while maintaining flexibility to balance throughput and latency through configurable parameters like grace periods and concurrency limits.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If token bucket scheduling is used to manage IO requests, then some level of prioritization is achieved, but the system still has limitations in handling conflicting goals of throughput and latency

Engineering Contradiction:
Improveprioritization capabilityVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The scheduler implements dynamic adjustment of scheduling parameters based on real-time conditions. The grace period duration, concurrency limits, and throughput enforcement are dynamically modified based on the current state of IO queues and system load, allowing the system to adapt to changing priorities and maximize both throughput and latency performance.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If stride scheduling is used for IO requests, then basic request management is achieved, but the system cannot effectively enforce minimum throughput for lower-priority requests to prevent starvation

Engineering Contradiction:
Improverequest managementVSAvoidminimum throughput guarantee for lower-priority requests
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The scheduler implements feedback mechanisms that monitor the throughput of each priority queue and adjust scheduling decisions accordingly. Lower-priority queues receive feedback about their throughput status, and the scheduler dynamically modifies their service rate to ensure minimum throughput guarantees and prevent starvation, while still allowing high-priority requests to be serviced promptly.

Inventive Principle:
Principle #23Feedback

4Productivity

If concurrent IO requests are allowed without limits, then system throughput increases, but lower-priority requests may be completely starved

Engineering Contradiction:
Improvesystem throughputVSAvoidstarvation prevention for lower-priority requests
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scheduler changes key parameters including grace period duration, maximum concurrency limits, and minimum throughput enforcement based on request priority levels. These parameter changes allow the system to maintain high throughput by permitting concurrent requests while simultaneously preventing starvation of lower-priority requests through enforced minimum service rates and grace period mechanisms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11915043B2Scheduler for handling IO requests of different priorities
Publication Date: 2024.02.27 RUBRIK INC
  • US11915043B2 patent drawing
  • US11915043B2 patent drawing
  • US11915043B2 patent drawing

AI summary

In some examples, a data management and storage (DMS) system comprises peer DMS nodes in a node cluster, a distributed data store comprising local and cloud storage, and an IO request scheduler comprising at least one processor configured to perform operations in a method of scheduling IO requests. Example operations comprise implementing a kernel scheduler to schedule a flow of IO requests in the DMS system, and providing an adjustment layer to adjust the kernel scheduler based on an IO request prioritization. A flow of IO requests is identified and some examples implement an IO request prioritization based on the adjustments made by the adjustment layer.