Storage Task Scheduling Using Load Prediction and Credit Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional schedulers in storage systems are unaware of the time-varying nature of system demands, leading to potential throttling of urgent I/O requests in favor of background tasks, even when a period of host inactivity is imminent.

Innovation Solution

A credit-aware scheduler predicts future excess capacity and allocates 'credit' to prevent increases in priority for non-critical tasks, ensuring critical tasks maintain access to processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional schedulers allocate resources based on current task priorities, then background tasks can eventually be serviced, but speed-critical tasks may be throttled even when host inactivity is imminent

Engineering Contradiction:
Improvethroughput of background tasksVSAvoidresponse time of speed-critical tasks
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The scheduler performs preliminary action by predicting future host inactivity periods and proactively allocating excess processing capacity to speed-critical tasks during those predicted intervals. This allows the system to pre-complete critical task work before it would otherwise be throttled, ensuring high-speed response when actually needed while still making progress on background tasks during low-utilization periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduling system dynamically adjusts resource allocation based on predicted future host activity patterns rather than static current priorities. The scheduler modifies task scheduling decisions in real-time based on forecasted demand, allowing flexible redistribution of processing capacity between speed-critical and background tasks according to anticipated system conditions.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the scheduler increases priority of background tasks to ensure they are completed, then background task completion is improved, but speed-critical task performance degrades

Engineering Contradiction:
Improvecompletion of background tasksVSAvoidperformance of speed-critical tasks
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by identifying and utilizing predicted periods of excess processing capacity to advance completion of speed-critical tasks before their priority would normally need to increase. This preliminary work completion during low-demand periods eliminates the need to preemptively boost background task priorities, thereby maintaining both reliability of background task completion and productivity of speed-critical tasks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The scheduler employs feedback mechanisms by continuously monitoring actual host activity patterns and comparing them against predictions. This feedback loop allows the system to refine its understanding of host behavior patterns and adjust future scheduling decisions accordingly, ensuring that priority adjustments are made only when genuinely necessary and that resource allocation optimizes both background task reliability and speed-critical task productivity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12511156B2Credit-based scheduling using load prediction
Publication Date: 2025.12.30 DELL PROD LP
  • US12511156B2 patent drawing
  • US12511156B2 patent drawing
  • US12511156B2 patent drawing

AI summary

A technique for scheduling tasks in a storage system includes predicting excess capacity of processing resources over a known interval of time and determining a quantity of credit based on the predicted capacity. The technique further includes holding back a requested increase in the priority of one or more speed-noncritical tasks by consuming a portion of the credit and thus allowing one or more speed-critical tasks to run with undiminished access to the processing resources.