GPU Driver Time Slicing Priority Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing scheduling algorithms for graphics processing units (GPUs) struggle to balance workload execution among multiple active GPU drivers, leading to starvation of lower priority drivers and performance issues such as reduced frame rates.

Innovation Solution

A method that allocates a portion of a scheduling interval to each active GPU driver and uses a priority-based scheduling algorithm to select drivers for execution. The priority level of drivers is adjusted based on their execution performance, with increased priority for drivers completing their workloads within allocated time and reduced priority for those not utilizing their allocated time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a priority-based scheduling algorithm is used to execute GPU drivers, then high priority drivers can be executed efficiently, but lower priority drivers may be starved of execution time

Engineering Contradiction:
Improveexecution efficiency of high priority driversVSAvoidexecution guarantee for lower priority drivers
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The scheduling interval is segmented into multiple time slices, with each time slice allocated to a specific GPU driver based on its priority level. This segmentation ensures that high priority drivers receive adequate execution time while lower priority drivers are also guaranteed minimum execution opportunities, preventing starvation of any driver.

Inventive Principle:
Principle #1Segmentation

2Reliability

If time slicing is implemented to prevent driver starvation, then all drivers get execution time, but context switching frequency increases

Engineering Contradiction:
Improveexecution guarantee for all driversVSAvoidcontext switching overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The scheduler implements periodic time slicing where each GPU driver is allocated specific time intervals based on its priority. This periodic allocation pattern allows the system to balance execution guarantees for all drivers while controlling context switching frequency through optimized slice duration and allocation strategies.

Inventive Principle:
Principle #19Periodic action

3Productivity

If priority levels are adjusted dynamically based on execution performance, then scheduling optimization is achieved, but scheduling algorithm complexity increases

Engineering Contradiction:
Improveworkload scheduling optimizationVSAvoidscheduling algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling algorithm incorporates feedback mechanisms that monitor execution performance of each GPU driver and dynamically adjust priority levels and time slice allocations accordingly. This feedback-driven approach optimizes workload scheduling by adapting to actual driver performance while maintaining manageable algorithmic complexity through structured adjustment rules.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP4542384A1Time slicing
Publication Date: 2025.04.23 IMAGINATION TECH LTD
  • EP4542384A1 patent drawingFigure 1
  • EP4542384A1 patent drawingFigure 2~3
  • EP4542384A1 patent drawingFigure 4

AI summary

A method of scheduling a plurality of active GPU drivers in a GPU is described. The method comprises, for one or more of the plurality of active GPU drivers, allocating a portion of a scheduling interval to the active GPU driver and selecting an active GPU driver for execution according to a priority-based scheduling algorithm. In response to an active GPU driver executing within its allocated portion, the priority level of the active GPU driver is increased, in response to the active GPU driver completing its workload within its allocated portion the priority level of the active GPU driver is reset and in response to the active GPU driver executing for its whole allocated portion, the priority level of the active GPU driver is reduced. The priority levels of each active GPU driver are reset to their initial priority levels at the start of each scheduling interval. To be accompanied, when published, by Figure 1 of the accompanying drawings.