Dynamic Task Scheduling for Heterogeneous Computing Systems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
4Productivity
If dynamic task scheduling is implemented to improve throughput, then productivity increases, but device complexity increases due to dynamic partitioning and dispatching logic
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.
5Reliability
If dynamic dispatching is implemented to improve load balancing, then reliability improves, but device complexity increases due to monitoring and adaptation logic
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.
Data Source
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.


