Task Scheduling System Preventing Starvation via Priority Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Priority-based task scheduling in computing systems often leads to the starvation phenomenon, where lower priority tasks are never executed due to continuous resource occupation by higher priority tasks, despite the importance of maintaining task priorities and resource allocation.
Innovation Solution
A computing system that divides tasks into two groups based on priority, with a virtual task representing the lower priority tasks, using a Round-Robin or random selection scheme to process tasks from the second group when the virtual task is processed, and adjusting task groups based on load rate thresholds to prevent starvation and ensure efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If priority-based scheduling is used to process higher priority tasks first, then the execution efficiency of high priority tasks is improved, but lower priority tasks suffer from starvation and never get executed
Solution Approach 1:
The patent segments the task queue into multiple priority levels (e.g., high priority queue and low priority queue). The scheduler processes tasks from different queues in a controlled manner, allowing high priority tasks to be executed first while ensuring that low priority tasks are eventually scheduled. This segmentation resolves the contradiction by structurally separating task handling into distinct priority groups with guaranteed execution opportunities for each.
Solution Approach 2:
The patent implements periodic scheduling where the system alternates between processing high priority tasks and low priority tasks in time slices or rounds. For example, after processing a batch of high priority tasks, the scheduler periodically switches to process low priority tasks for a designated time period. This periodic alternation ensures that both high priority execution efficiency and low priority task execution guarantees are maintained.
2Ease of operation
If lower priority tasks are occasionally processed to prevent starvation, then fairness among tasks is improved, but the execution efficiency of high priority tasks deteriorates
Solution Approach 1:
The patent implements dynamic priority adjustment where the scheduling behavior adapts based on system state. When high priority tasks are abundant, the scheduler focuses on processing them efficiently. When high priority task queues are empty or below certain thresholds, the scheduler dynamically shifts to process low priority tasks. This dynamic adaptation resolves the contradiction by making fairness conditional on system state rather than fixed.
Solution Approach 2:
The patent changes scheduling parameters such as time slice duration, priority thresholds, and preemption rules based on system conditions. For instance, the time slice allocated to low priority tasks can be adjusted dynamically - smaller when high priority tasks need more attention, larger when system load is balanced. This parameter adjustment mechanism resolves the contradiction by quantitatively balancing fairness and efficiency based on real-time conditions.
Data Source
AI summary
A computing system, method and computer-readable medium is provided. To prevent a starvation phenomenon from occurring in a priority-based task scheduling, a plurality of tasks may be divided into a priority-based group and other groups. The groups to which the tasks belong may be changed.


