Dynamic Task Scheduling for Heterogeneous Computing Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static task scheduler designs in heterogeneous computing systems lead to lower throughput and inadequate load balancing across processors with different architectures, such as CPUs and GPUs, due to static task partitioning and device selection.

Innovation Solution

A dynamic task scheduling method that partitions tasks into sub-tasks with either variable-sized or fixed-sized data portions, each executed by a kernel, and dynamically dispatches these sub-tasks to multiple computing devices based on performance preferences, queuing delays, and device loads to optimize throughput and balance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If static task partitioning is used to simplify scheduling, then device complexity is reduced, but productivity decreases due to lower throughput and inadequate load balancing

Engineering Contradiction:
Improvescheduling complexityVSAvoidthroughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic task scheduling where the scheduler adapts to changing system conditions in real-time. The scheduler monitors device loads, queue depths, and performance metrics, then dynamically adjusts task partitioning and device selection. This allows the system to optimize throughput by assigning tasks to the most suitable devices based on current conditions, rather than using fixed static partitions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes scheduling parameters dynamically based on system state. Task partitioning strategies, device selection criteria, and resource allocation parameters are adjusted according to monitored performance metrics, device loads, and queue depths. This enables the system to adapt to varying workloads and maintain optimal throughput under different operating conditions.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If static task partitioning is used to simplify scheduling, then ease of operation is improved, but load balancing deteriorates across heterogeneous processors

Engineering Contradiction:
Improvescheduling easeVSAvoidload balancing
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the scheduler continuously monitors device performance, queue depths, and load metrics. Based on this feedback, the scheduler dynamically adjusts task partitioning and device assignment to achieve optimal load balancing. The system uses performance feedback from previous task executions to inform future scheduling decisions, ensuring balanced utilization of heterogeneous processors.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The scheduling system transitions from static to dynamic operation, continuously adapting task partitions and device assignments based on real-time system state. This dynamic approach allows the system to maintain ease of operation through automated decision-making while simultaneously achieving reliable load balancing across CPUs, GPUs, and other heterogeneous processors.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If static device selection is used to reduce scheduling complexity, then device complexity is reduced, but response time increases due to inability to adapt to changing system conditions

Engineering Contradiction:
Improvescheduling complexityVSAvoidresponse time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent implements dynamic device selection where the scheduler adapts to changing system conditions in real-time. The scheduler monitors device loads, queue depths, and performance metrics, then dynamically selects the most appropriate device for each task. This allows the system to minimize response time by assigning tasks to devices that are currently most capable of handling them, rather than using fixed static assignments.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically changes device selection parameters based on system state. Device selection criteria, task partitioning strategies, and resource allocation parameters are adjusted according to monitored performance metrics and current device loads, enabling the system to respond quickly to changing conditions and minimize response time.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If dynamic task scheduling is implemented to improve throughput, then productivity increases, but device complexity increases due to dynamic partitioning and dispatching logic

Engineering Contradiction:
ImprovethroughputVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service scheduling mechanism where the system automatically monitors its own state and makes scheduling decisions without external intervention. The scheduler self-adjusts task partitioning and device assignment based on monitored performance metrics, device loads, and queue depths. This automation manages the complexity internally while maintaining high throughput, as the system serves itself rather than requiring complex external control.

Inventive Principle:
Principle #25Self-service

5Reliability

If dynamic dispatching is implemented to improve load balancing, then reliability improves, but device complexity increases due to monitoring and adaptation logic

Engineering Contradiction:
Improveload balancingVSAvoidscheduling complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the scheduler continuously monitors device performance, queue depths, and load metrics. Based on this feedback, the scheduler dynamically adjusts task partitioning and device assignment to achieve optimal load balancing. The system uses performance feedback from previous task executions to inform future scheduling decisions, ensuring balanced utilization of heterogeneous processors while managing complexity through automated feedback-driven control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9959142B2Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
Publication Date: 2018.05.01 MEDIATEK INC
  • US9959142B2 patent drawing
  • US9959142B2 patent drawing
  • US9959142B2 patent drawing

AI summary

One dynamic task scheduling method includes: receiving a task, wherein the task comprises a kernel and a plurality of data items to be processed by the kernel; dynamically partitioning the task into a plurality of sub-tasks, each having the kernel and a variable-sized portion of the data items; and dispatching the sub-tasks to a plurality of computing devices of a heterogeneous computing system. Another dynamic task scheduling method includes: receiving a task, wherein the task comprises a kernel and a plurality of data items to be processed by the kernel; partitioning the task into a plurality of sub-tasks, each having the kernel and a same fixed-sized portion of the data items; and dynamically dispatching the sub-tasks to a plurality of computing devices of a heterogeneous computing system.