Dynamic Priority Ratios for Multi-Queue Task Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage devices with multiple processors, heavy workloads can lead to delays due to high task queues, causing performance issues as existing scheduling techniques fail to effectively balance task loads across processors.
Innovation Solution
Assigning a priority ratio to each task queue based on the number of tasks it contains, with tasks from higher-priority queues being assigned to processors more frequently, and updating these ratios dynamically to reflect current task loads, allowing for interleaved task assignment and load balancing across processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple tasks are scheduled from a single task queue, then task execution continues without idle processors, but task queue depth increases causing delays
Solution Approach 1:
The patent segments the single task queue into multiple task queues (e.g., first task queue, second task queue) and assigns different processors to different queues. This segmentation allows parallel processing of tasks from multiple queues simultaneously, preventing any single queue from becoming a bottleneck while maintaining continuous processor utilization.
Solution Approach 2:
The patent introduces a new dimension to task scheduling by organizing tasks not just in a single linear queue but across multiple queues that can be processed in parallel. This dimensional expansion from one queue to multiple queues enables concurrent task execution across multiple processors, resolving the contradiction between continuous execution and queue depth delays.
2Device complexity
If tasks are processed sequentially from one queue, then queue management is simple, but processor utilization decreases under heavy workload
Solution Approach 1:
The patent divides the task processing system into multiple independent task queues, each managed by or assigned to specific processors. This segmentation allows each processor to independently manage its assigned queue with simple FIFO logic, while the overall system achieves high utilization through parallel processing of multiple queues simultaneously.
Solution Approach 2:
The patent creates a universal task queue management system where multiple processors can handle multiple queues using the same simple scheduling logic. Each processor universally applies the same queue management principles to its assigned tasks, enabling simple individual queue management while achieving complex parallel processing outcomes.
3Quantity of substance
If task queue depth increases, then more tasks are available for processing, but performance suffers due to scheduling delays
Solution Approach 1:
The patent segments the large backlog of tasks distributed across multiple task queues, allowing processors to efficiently access and execute tasks from their respective queues without the scheduling overhead and delays associated with a single deep queue. This segmentation maintains high task availability while improving access efficiency and overall processing performance.
Data Source
AI summary
In some examples, a method includes assigning, to each respective task queue of a plurality of task queues, a respective priority ratio based at least in part on a number of tasks in the respective task queue. The method further includes assigning, by a processor of a plurality of processors, respective tasks from the respective task queues to at least one processor of the plurality of processors in an order based at least in part on the respective priority ratio, wherein the respective priority ratio defines a relative frequency with which tasks from the respective task queue are assigned to the at leak one processor.


