Task Scheduling for Media Processing with Non-Preemptive Transfers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current task scheduling methods for processors are sub-optimal for media processing tasks, failing to account for the specific nature of these tasks, leading to lower quality media data and reduced processing efficiency due to generic scheduling algorithms that do not consider soft real-time constraints and large data handling requirements.
Innovation Solution
A non-pre-emptive scheduling method that allows data transfers between internal and external memory to continue uninterrupted, ensuring efficient execution of tasks by scheduling high-priority tasks after completing the current task, rather than interrupting ongoing data transfers, thereby avoiding CPU stalls and optimizing task density.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If pre-emptive scheduling is used to execute high-priority tasks immediately, then task priority responsiveness is improved, but data transfer continuity deteriorates causing CPU stalls
Solution Approach 1:
The patent implements dynamic scheduling where the processor adapts its behavior based on the state of data transfers. When a high-priority task arrives during an active data transfer, the system dynamically decides whether to pre-empt based on transfer completion status, thereby balancing responsiveness with data transfer reliability
Solution Approach 2:
The patent checks the status of data transfers in advance before allowing pre-emption. By determining whether a data transfer has completed before interrupting the current task, the system performs preliminary verification to prevent CPU stalls while still maintaining priority task responsiveness
2Device complexity
If generic scheduling algorithms are used, then scheduling simplicity is improved, but media processing efficiency deteriorates
Solution Approach 1:
The patent applies local quality by implementing scheduling rules specifically tailored for media processing tasks. Instead of using a uniform generic scheduling algorithm for all tasks, the system applies specialized scheduling logic that recognizes media processing characteristics (large data transfers, soft real-time constraints) and handles them differently from other task types
Solution Approach 2:
The patent changes scheduling parameters based on task type. By identifying media processing tasks and adjusting scheduling behavior (such as allowing non-pre-emptive execution during data transfers), the system optimizes productivity for media processing while maintaining simplicity through parameter-based differentiation rather than complex algorithmic changes
3Productivity
If task switching is performed during data transfer, then task utilization is improved, but data transfer speed deteriorates due to CPU stalls
Solution Approach 1:
The patent ensures continuity of useful action by preventing task switching during active data transfers. By maintaining the current task execution until the data transfer completes, the system ensures continuous data transfer speed while still achieving good task utilization through non-pre-emptive scheduling that completes transfers efficiently
Data Source
AI summary
An apparatus schedules execution of a plurality of tasks by a processor. Each task has an associated periodicity and an associated priority based upon the associated periodicity. The processor executes each of the plurality of tasks periodically according to the associated periodicity of the task. A scheduler, at each of a series of scheduling time points updates the priorities of the plurality of tasks and schedules the tasks that need to be executed in accordance with their priorities. The scheduler identifies an unexecuted task which, at a preceding scheduling time point, was scheduled for execution but which, since that preceding scheduling time point, has not been executed. The scheduler sets the priority of the unexecuted task as greater than the priority of other tasks that have the same periodicity as the unexecuted task and that are not themselves unexecuted tasks.


