Reinforcement Learning Job Scheduling for Frame Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scheduling of processing jobs, particularly graphical shader jobs, faces a combinatorial explosion of potential solutions, leading to high time and computational resource usage, and existing heuristic approaches fail to optimize scheduling effectively.

Innovation Solution

Reinforcement learning is employed to efficiently schedule jobs by selecting reward metrics such as rendering time, state transitions, and compute barriers, and reordering execution jobs to generate a modified sequence that improves frame rendering performance without exhaustive searches or suboptimal heuristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If reinforcement learning is used to schedule execution jobs, then frame rendering performance is improved and computational resources are reduced, but the complexity of the scheduling system increases

Engineering Contradiction:
Improveframe rendering performanceVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A reinforcement learning agent is introduced as an intermediary between the job scheduler and the execution system. The agent learns optimal scheduling policies through iterative interactions, selecting reward metrics and generating modified job sequences without requiring exhaustive search or complex heuristic algorithms, thus improving rendering performance while managing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically changes scheduling parameters by selecting different reward metrics (e.g., rendering time, state transitions, compute barriers) based on application policies and previous frame performance. This allows the scheduler to adapt to different rendering scenarios and optimize job sequences without requiring a completely different scheduling approach for each case

Inventive Principle:
Principle #35Parameter changes

2Reliability

If exhaustive search is used to optimize job scheduling, then optimal scheduling solutions can be found, but significant time and computational resources are consumed

Engineering Contradiction:
Improvescheduling optimization qualityVSAvoidscheduling computation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The reinforcement learning agent uses feedback from evaluating modified job sequences against selected reward metrics to learn optimal scheduling policies. Instead of exhaustively searching all possible schedules, the agent iteratively improves its scheduling decisions based on performance feedback, achieving near-optimal results with significantly reduced computation time

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary actions by pre-selecting relevant reward metrics based on application policies and previous frame performance before generating modified job sequences. This preliminary selection guides the reinforcement learning process to focus on the most important optimization criteria, avoiding the need to evaluate all possible scheduling variations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11803999B2Job scheduling using reinforcement learning
Publication Date: 2023.10.31 ATI TECHNOLOGIES ULC
  • US11803999B2 patent drawing
  • US11803999B2 patent drawing
  • US11803999B2 patent drawing

AI summary

Systems, methods, and techniques utilize reinforcement learning to efficiently schedule a sequence of jobs for execution by one or more processing threads. A first sequence of execution jobs associated with rendering a target frame of a sequence of frames is received. One or more reward metrics related to rendering the target frame are selected. A modified sequence of execution jobs for rendering the target frame is generated, such as by reordering the first sequence of execution jobs. The modified sequence is evaluated with respect to the selected reward metric(s); and rendering the target frame is initiated based at least in part on the evaluating of the modified sequence with respect to the one or more selected reward metric(s).