Multi-Core Task Scheduling via Linear Priority Weights
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current priority-based task scheduling methods in mobile devices face inefficiencies, particularly in managing tasks with real-time requirements, leading to performance degradation and load imbalance, as high-priority tasks may preempt lower-priority tasks, causing starvation and increased power consumption.
Innovation Solution
A scheduling method that converts task priorities into linear priority weights, calculates preemption compare indexes based on core load states, and assigns tasks to candidate cores, considering both real-time and fair-class tasks, to optimize resource allocation and balance load across multiple CPU cores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If priority-based task scheduling is used, then real-time response is improved, but service quality of lower priority tasks deteriorates
Solution Approach 1:
The patent transforms the discrete priority parameter into a continuous linear priority weight through mathematical conversion formulas. This allows for fine-grained scheduling decisions that balance real-time response requirements with fair resource distribution to lower-priority tasks, resolving the contradiction between speed and reliability
Solution Approach 2:
The scheduling system dynamically adjusts task allocation based on real-time core load states and preemption compare indexes. Instead of static priority-based assignment, the system adapts to changing system conditions, allowing high-priority tasks to be scheduled when appropriate while ensuring lower-priority tasks receive adequate service quality when system load permits
2Ease of operation
If high priority tasks are increased, then UI/UX requirements are satisfied, but resource allocation efficiency decreases
Solution Approach 1:
The system calculates preemption compare indexes that reflect the current load state of each core, creating a feedback mechanism that informs scheduling decisions. This feedback loop enables the system to satisfy UI/UX requirements by prioritizing relevant tasks while maintaining overall resource allocation efficiency through load-aware scheduling
Solution Approach 2:
By converting priority to linear priority weights and calculating preemption compare indexes, the system creates a nuanced scheduling metric that goes beyond simple priority values. This parameter transformation enables more efficient resource allocation even when handling increased numbers of high-priority tasks for UI/UX requirements
3Device complexity
If priority-based scheduling is used, then task scheduling simplicity is maintained, but load balance deteriorates
Solution Approach 1:
The system dynamically selects candidate cores based on load state and uses preemption compare indexes to determine optimal task placement. This dynamic approach improves load balance across cores while maintaining scheduling simplicity through automated decision-making algorithms that don't require complex manual configuration
4Speed
If strict priority scheduling is applied, then real-time task response is improved, but core utilization efficiency decreases
Solution Approach 1:
The system dynamically determines whether to schedule a task on a specific core based on the preemption compare index comparison. This dynamic decision-making process ensures real-time tasks are responded to promptly while maximizing core utilization by selecting the most appropriate target core from multiple candidates, rather than strictly following priority-based assignment rules
Data Source
AI summary
A scheduling method of a system on chip including a multi-core processor includes receiving a schedule-requested task, converting a priority assigned to the schedule-requested task into a linear priority weight, selecting a plurality of candidate cores, to which the schedule-requested task will be assigned, from among cores of the multi-core processor, calculating a preemption compare index indicating a current load state of each of the plurality of candidate cores, comparing the linear priority weight with the preemption compare index of the each of the plurality of candidate cores to generate a comparison result, and assigning the schedule-requested task to one candidate core of the plurality of candidate cores depending on the comparison result.


