Storage Task Scheduling Using Load Prediction and Credit Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


