Staggered VSync Offsets for Multi-Stream Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-streaming systems, the synchronization of VSync signals among multiple clients can lead to scheduling delays and missed frames due to the lack of sufficient processing resources, resulting in a jittery user experience.

Innovation Solution

The proposed solution involves staggering or offsetting synchronization signals, such as VSyncs, to distribute the workload more evenly over time, ensuring that each client's processing requests are not aligned with others, thereby reducing the peak processing demand and maintaining consistent frame rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If all streaming containers generate and schedule their VSync operations independently at the same time, then the system can support multiple clients with sufficient processing capacity, but scheduling delays and missed frames occur due to insufficient processors to handle all containers simultaneously

Engineering Contradiction:
Improvenumber of clientsVSAvoidframe composition consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system segments the synchronized VSync operations of multiple containers into staggered time slots. Each container is assigned a unique offset value that divides the VSync interval into discrete segments, allowing containers to process frames at different times rather than all simultaneously. This segmentation distributes the processing load across available CPUs and prevents scheduling delays and missed frames.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements periodic VSync operations with staggered intervals for different containers. Instead of all containers operating in unison, each container follows a periodic schedule with a unique phase offset. This periodic staggering ensures that frame composition requests are distributed evenly across the processing cycle, matching the available CPU capacity and maintaining reliable frame composition for all clients.

Inventive Principle:
Principle #19Periodic action

2Productivity

If the number of processors is equal to the number of application instances, then each application can be scheduled without delay, but in multi-streaming solutions with fewer processors than clients, processing bottlenecks and scheduling delays occur

Engineering Contradiction:
Improveprocessing throughputVSAvoidscheduling delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary scheduling of VSync operations by calculating and assigning unique offset values to each container before execution. This preliminary action distributes the processing timeline so that containers are unblocked at different times, allowing the limited number of processors to handle frames sequentially without bottlenecks. The offsets are predetermined based on container identifiers, ensuring efficient utilization of available processing resources.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If VSync operations are aligned across all containers, then synchronization is simple to implement, but this alignment causes peak processing demand that exceeds available CPU capacity

Engineering Contradiction:
Improvesynchronization complexityVSAvoidprocessing demand
Core Design Contradiction:
Device complexityVSPower

Solution Approach 1:

The system applies local quality by giving each container a unique offset value based on its identifier, creating locally differentiated timing characteristics. While the overall system maintains synchronization, each container operates with its own specific phase shift. This local differentiation distributes peak processing demand across the VSync interval, preventing CPU overload while maintaining the simplicity of centralized VSync management.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11704167B2Staggered software synchronization
Publication Date: 2023.07.18 NVIDIA CORP
  • US11704167B2 patent drawing
  • US11704167B2 patent drawing
  • US11704167B2 patent drawing

AI summary

Approaches in accordance with various embodiments can reduce scheduling delays due to concurrent processing requests, as may involve VSyncs in multi-streaming systems. The software synchronization signals can be staggered relative to each other by offsetting an initial synchronization signal. These software synchronization signals can be readjusted over time such that each synchronization signal maintains the same relative offset, as may be with respect to other applications or containers.