State Object Versioning in Processing Pipelines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for propagating state data in a network of pipeline stages are inefficient, either introducing delays through pipeline draining or causing redundant data transmission.

Innovation Solution

A method that involves receiving versions of state objects at processing pipeline stages, incrementing reference counters, assigning relevant state versions to work requests, and transmitting them to subsequent stages, allowing for efficient propagation without unnecessary data redundancy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If state changes are propagated by draining pipeline stages, then state data is accurately delivered to pipeline stages, but considerable delays are introduced reducing productivity

Engineering Contradiction:
Improvestate data accuracyVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-tagging work packets with state version identifiers before they enter the pipeline. This allows pipeline stages to proactively check for state changes without waiting for drainage, enabling continuous processing while maintaining data accuracy through version verification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of a state change detection system that monitors for state changes and selectively invalidates work packets. This intermediary layer decouples the state update process from the pipeline flow, allowing state data to be propagated without draining the entire pipeline, thus maintaining both accuracy and productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If work input is accompanied by state data, then pipeline draining is avoided maintaining productivity, but state data is redundantly transmitted increasing loss of information

Engineering Contradiction:
Improveprocessing throughputVSAvoidredundant data transmission
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent extracts only the essential state version identifier from the full state data and attaches it to work packets. This extraction approach allows pipeline stages to retrieve the complete state data when needed without transmitting redundant information through the pipeline, thereby maintaining productivity while minimizing information redundancy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a lightweight copy of the state data in the form of a version identifier that is attached to work packets. This copy serves as a reference that allows pipeline stages to verify state relevance without transmitting the actual state data, reducing redundant transmission while maintaining processing efficiency.

Inventive Principle:
Principle #26Copying

3Reliability

If state data is propagated through the network, then pipeline stages have access to current state information, but device complexity increases due to additional propagation mechanisms

Engineering Contradiction:
Improvestate data availabilityVSAvoidpropagation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal state version identifier that serves multiple functions: it tags work packets, enables state change detection, and facilitates validation at pipeline stages. This multi-functional approach propagates state data through a single mechanism rather than requiring separate systems for each function, reducing overall device complexity while maintaining state availability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables pipeline stages to self-verify state relevance by checking the version identifier against current state versions. This self-service mechanism eliminates the need for complex centralized control systems to manage state propagation, reducing device complexity while ensuring that pipeline stages always have access to accurate state information.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9147224B2Method for handling state transitions in a network of virtual processing nodes
Publication Date: 2015.09.29 NVIDIA CORP
  • US9147224B2 patent drawing
  • US9147224B2 patent drawing
  • US9147224B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for receiving versions of state objects at one or more stages in a processing pipeline. The method includes receiving a first version of a state object at a first stage in the processing pipeline, determining that the first version of the state object is relevant to the first stage, incrementing a first reference counter associated with the first version of the state object, assigning the first version of the state object to work requests that arrive at the first stage subsequent to the receipt of the first version of the state object, and transmitting the first version of the state object to a second stage in the processing pipeline.