Read-Time Work Scheduling for GPU Idle-Wait Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current work scheduling in devices, particularly for graphic processing units (GPUs), lacks semantics or primitives to accurately schedule operations, leading to inefficient resource utilization and resource wastage due to busy-wait loops.

Innovation Solution

A scheduling machine, connected via a peripheral data connection bus, retrieves a time value from a first processing device (e.g., a network interface controller) and schedules operations on a second processing device (e.g., a GPU) based on this time value, converting formats if necessary, and using semaphore acquires to ensure timely execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the CPU waits until just before the desired execution time to launch a kernel task, then the timing accuracy is improved, but the resource utilization deteriorates due to idle waiting periods

Engineering Contradiction:
Improvetiming accuracyVSAvoidresource utilization
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary actions by having the CPU launch kernel tasks earlier than the desired execution time, rather than waiting until just before execution. The CPU submits work items to the GPU in advance, and the GPU begins processing immediately upon availability, eliminating the idle waiting period while maintaining timing accuracy through the scheduling mechanism that tracks and manages task execution times.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the CPU continuously checks for task completion, then the timing control is improved, but the system complexity increases due to busy-wait loops

Engineering Contradiction:
Improvetiming controlVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements feedback through event-driven completion notifications and status flags that inform the CPU when GPU tasks are complete. Instead of continuous polling, the GPU generates completion events or updates status registers that the CPU can check periodically, providing timing control information without requiring constant active monitoring, thus reducing system complexity while maintaining timing precision.

Inventive Principle:
Principle #23Feedback

3Speed

If the GPU executes kernels immediately upon availability, then the processing speed is improved, but the scheduling accuracy deteriorates due to lack of time-based control

Engineering Contradiction:
Improveprocessing speedVSAvoidscheduling accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system applies dynamics by making the GPU execution behavior adaptive rather than static. The GPU can execute kernels immediately upon availability to maintain high processing speed, while the scheduling mechanism dynamically tracks execution times and manages task queues to ensure scheduling accuracy. The system adapts between immediate execution for speed and timed scheduling for precision based on task priorities and system state.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12536035B2Work scheduling based on a read time value
Publication Date: 2026.01.27 MELLANOX TECHNOLOGIES LTD(IL)
  • US12536035B2 patent drawing
  • US12536035B2 patent drawing
  • US12536035B2 patent drawing

AI summary

In one embodiment, a system includes a peripheral data connection bus configured to connect to devices and transfer data between the devices, a scheduling machine configured to connect to the peripheral data connection bus and send a read request message to a first processing device, and the first processing device configured to be connected to the peripheral data connection bus, and responsively to the read request message add a time value to a read response message, and provide the read response message to the scheduling machine, and wherein the scheduling machine is configured to read the time value from the provided read response message and schedule processing of an operation by a second processing device responsively to the read time value.