GPU SM Reservation for Predictable Real-Time Task Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing resource scheduling and reservation methods for GPUs are opaque and non-tunable, leading to unpredictable delays and inefficiencies, particularly for real-time tasks with varying execution times.

Innovation Solution

Implement a policy to reserve a proportionate number of streaming multiprocessors (SMs) based on task execution time and period, ensuring predictable and efficient resource allocation by correlating CPU utilization with GPU SMs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a pre-determined policy for scheduling is implemented in existing solutions, then the GPU can execute tasks, but delays occur because the GPU is unaware of the specific needs for executing and completing the task

Engineering Contradiction:
Improvepredictability of execution timeVSAvoiddelays in task execution
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by calculating and reserving the number of streaming multiprocessors before task execution based on predicted execution time and period. The host scheduler computes utilization metrics and allocates resources in advance, ensuring that sufficient SMs are available when the task needs to run, thereby preventing execution delays while maintaining predictable timing for real-time tasks.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If resources are reserved for real-time tasks with unpredictable execution times, then execution predictability improves, but resource utilization efficiency may decrease

Engineering Contradiction:
Improveexecution time predictabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies dynamics by making the resource reservation adaptive rather than static. The host scheduler continuously monitors task execution characteristics and dynamically adjusts the number of reserved streaming multiprocessors based on actual utilization patterns. This allows the system to optimize resource allocation in real-time, improving both execution predictability and resource utilization efficiency simultaneously.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of resource allocation from fixed to variable based on task characteristics. By calculating utilization metrics such as execution time and period, the system dynamically determines the appropriate number of SMs to reserve, allowing resource allocation to adapt to different task requirements and improving overall system efficiency while maintaining real-time guarantees.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If the GPU implements an opaque and non-tunable scheduling process, then implementation is simple, but the scheduling is inefficient for the given scenario

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidscheduling efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent introduces an intermediary layer (the host scheduler) between the CPU and GPU that handles the complex scheduling decisions. This intermediary calculates task utilization, determines appropriate resource reservations, and manages SM allocation based on task characteristics. By placing the intelligence in the host scheduler rather than requiring complex GPU-side modifications, the system achieves efficient scheduling while maintaining implementation simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250245061A1Reservation policies for real-time processing tasks in multi-processor systems
Publication Date: 2025.07.31 NVIDIA CORP
  • US20250245061A1 patent drawing
  • US20250245061A1 patent drawing
  • US20250245061A1 patent drawing

AI summary

Approaches presented herein provide systems and methods for allocating streaming multiprocessors (SMs) to execute one or more tasks. A utilization for a given task may be determined by one or more parameters, such as a task execution time or a period. The utilization may then be used to assign a proportionate number of SMs associated with a processing unit, such as a graphics processing unit (GPU) or other type of processing unit, executing the task. The SMs may then be identified, allocated, and reserved until execution of the task is complete.