GPU Task Scheduling via Age-Based Queue and Wakeup Events

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

VSEngineering 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

Engineering Contradiction:
Improvetask scheduling efficiencyVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

2Productivity

If traditional GPU scheduling methods are used, then task scheduling is performed, but unnecessary searches for tasks occur leading to reduced performance

Engineering Contradiction:
Improveprocessing throughputVSAvoidtime for task selection
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvetask execution efficiencyVSAvoidscheduler hardware structure
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10503547B2Task scheduling in a GPU
Publication Date: 2019.12.10 IMAGINATION TECH LTD
  • US10503547B2 patent drawing
  • US10503547B2 patent drawing
  • US10503547B2 patent drawing

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.