Task Scheduling for Media Processing with Non-Preemptive Transfers

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

VSEngineering 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

Engineering Contradiction:
Improvetask priority responsivenessVSAvoiddata transfer continuity
Core Design Contradiction:
SpeedVSReliability

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If generic scheduling algorithms are used, then scheduling simplicity is improved, but media processing efficiency deteriorates

Engineering Contradiction:
Improvescheduling algorithm simplicityVSAvoidmedia processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

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

Inventive Principle:
Principle #3Local quality

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

Inventive Principle:
Principle #35Parameter changes

3Productivity

If task switching is performed during data transfer, then task utilization is improved, but data transfer speed deteriorates due to CPU stalls

Engineering Contradiction:
Improvetask utilizationVSAvoiddata transfer speed
Core Design Contradiction:
ProductivityVSSpeed

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

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9372729B2Task scheduling method and apparatus
Publication Date: 2016.06.21 TAIWAN SEMICONDUCTOR MANUFACTURING CO LTD
  • US9372729B2 patent drawing
  • US9372729B2 patent drawing
  • US9372729B2 patent drawing

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.