GPU Task Scheduling via Age-Based Queue and Wakeup Events
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current GPU scheduling methods are inefficient due to the lack of an age-aware and wakeup event-driven approach, leading to unnecessary searches for tasks that are not ready to run, which affects performance and power consumption.
Innovation Solution
Implementing an age-based task queue and using wakeup event bits to select the oldest non-executing task with met dependencies for execution, triggered by completed task dependencies, thereby optimizing task scheduling and reducing unnecessary searches.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional GPU scheduling methods are used, then task scheduling is performed, but unnecessary searches for tasks occur leading to reduced performance and increased power consumption
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing wakeup event bits for each task type and data group combination before task execution. When a task completes, the corresponding wakeup event bits are immediately updated, allowing the scheduler to instantly identify ready tasks without searching through the entire task queue. This preliminary preparation of wakeup event data eliminates unnecessary searches and reduces power consumption.
Solution Approach 2:
The patent implements feedback through wakeup event bits that provide real-time information about task completion status and data group availability. The scheduler continuously monitors these wakeup event bits and uses them to dynamically adjust task selection, creating a feedback loop that optimizes scheduling decisions based on current system state, thereby improving efficiency and reducing wasted energy on ineligible tasks.
2Productivity
If traditional GPU scheduling methods are used, then task scheduling is performed, but unnecessary searches for tasks occur leading to reduced performance
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing wakeup event bits for each task type and data group combination before task execution. When a task completes, the corresponding wakeup event bits are immediately updated, allowing the scheduler to instantly identify ready tasks without searching through the entire task queue. This preliminary preparation of wakeup event data eliminates unnecessary searches and reduces power consumption.
Solution Approach 2:
The patent implements feedback through wakeup event bits that provide real-time information about task completion status and data group availability. The scheduler continuously monitors these wakeup event bits and uses them to dynamically adjust task selection, creating a feedback loop that optimizes scheduling decisions based on current system state, thereby improving efficiency and reducing wasted energy on ineligible tasks.
3Productivity
If age-based task queue with wakeup event bits is implemented, then only ready tasks are selected for execution, but additional hardware logic is required
Solution Approach 1:
The patent applies self-service by designing the wakeup event system where task completion automatically triggers wakeup event bit updates without requiring complex external control logic. The scheduler simply monitors these self-updating wakeup bits and selects tasks based on their readiness status, allowing the system to manage its own task readiness state with minimal additional hardware complexity.
Data Source
AI summary
A method of scheduling tasks within a GPU or other highly parallel processing unit is described which is both age-aware and wakeup event driven. Tasks which are received are added to an age-based task queue. Wakeup event bits for task types, or combinations of task types and data groups, are set in response to completion of a task dependency and these wakeup event bits are used to select an oldest task from the queue that satisfies predefined criteria.


