Packet Processing Pipeline Dependency Removal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current OpenFlow networking systems face inefficiencies due to false dependencies between match and action stages, which limit concurrent execution of packet processing tables and result in increased latency and suboptimal memory utilization.

Innovation Solution

Incorporating additional information in table declarations to specify modified output fields for each possible successor table, allowing for the identification and removal of false dependencies, enabling concurrent execution of tables and optimizing pipeline configuration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If packet processing tables are executed sequentially to ensure correct dependency handling, then processing accuracy is maintained, but processing latency increases and throughput decreases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic pipeline configuration where the execution order of packet processing tables is adjusted based on real-time dependency analysis. Tables without dependencies are executed concurrently, while tables with dependencies maintain sequential execution. This dynamic approach allows the system to maximize parallel execution while preserving necessary sequential relationships, thereby reducing latency without compromising processing accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the packet processing pipeline into independent table execution units that can be scheduled independently. By analyzing dependencies between tables and segmenting the execution flow, the system identifies independent tables that can run in parallel. This segmentation enables concurrent execution of non-dependent tables while maintaining correct sequential execution for dependent tables, resolving the contradiction between accuracy and latency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If packet processing tables are executed in strict sequential order, then dependency correctness is ensured, but memory utilization decreases due to suboptimal pipeline configuration

Engineering Contradiction:
Improvedependency correctnessVSAvoidmemory utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic pipeline configuration where the execution order of packet processing tables is adjusted based on real-time dependency analysis. Tables without dependencies are executed concurrently, while tables with dependencies maintain sequential execution. This dynamic approach allows the system to maximize parallel execution while preserving necessary sequential relationships, thereby reducing latency without compromising processing accuracy.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the execution parameters of the packet processing pipeline by introducing dependency analysis and dynamic scheduling. Instead of fixed sequential execution, the system adjusts execution parameters (timing, order, parallelism) based on dependency relationships between tables. This parameter optimization enables better memory utilization through improved pipeline configuration while maintaining dependency correctness.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If additional dependency information is collected and analyzed, then false dependencies are removed and concurrent execution is enabled, but system complexity increases

Engineering Contradiction:
Improveconcurrent execution capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-analyzing and storing dependency information between packet processing tables before execution. The system collects dependency information in advance, builds a dependency graph, and identifies false dependencies beforehand. This preliminary analysis enables the system to confidently execute tables concurrently without runtime complexity, as the dependency resolution is performed during table configuration rather than during packet processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary dependency analysis mechanism that mediates between tables and the execution pipeline. This intermediary layer collects dependency information, analyzes false dependencies, and provides optimized execution scheduling. By placing this intermediary between the tables and the execution engine, the system manages complexity in a dedicated module rather than distributing it throughout the entire packet processing system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10785151B2Packet processing match and action pipeline structure with dependency calculation removing false dependencies
Publication Date: 2020.09.22 TEXAS INSTRUMENTS INC
  • US10785151B2 patent drawing
  • US10785151B2 patent drawing

AI summary

An embodiment includes a plurality of tables in a hardware network for performing packet processing. Each table in the plurality of tables includes a table declaration. The table declaration includes a first set of fields used for input matching and a second set of fields used as inputs for action processing. A first table is selected from the plurality of tables. Successor tables to the first table are selected from the plurality of tables. There is a third set of fields for each successor table of the successor tables. The contents of the third set of fields are output fields where the output fields are modified by the first table when a next table of the first table is the successor table of the first table.