Dynamic Priority Ratios for Multi-Queue Task Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetask execution continuityVSAvoidtask queue delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Device complexity

If tasks are processed sequentially from one queue, then queue management is simple, but processor utilization decreases under heavy workload

Engineering Contradiction:
Improvequeue management complexityVSAvoidprocessor utilization
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If task queue depth increases, then more tasks are available for processing, but performance suffers due to scheduling delays

Engineering Contradiction:
Improvenumber of available tasksVSAvoidprocessing performance
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9898341B2Adjustable priority ratios for multiple task queues
Publication Date: 2018.02.20 WESTERN DIGITAL TECHNOLOGIES INC
  • US9898341B2 patent drawing
  • US9898341B2 patent drawing
  • US9898341B2 patent drawing

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.