Programmable Packet Pipeline Out-of-Pipeline Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing I/O systems in data networks, such as switches and routers, face challenges in adapting to changes in feature sets, protocols, operating systems, and hardware configurations, and lack flexibility in processing high-volume, time-sensitive packets efficiently.

Innovation Solution

A programmable packet processing pipeline that diverts packet processing from a match-action pipeline to a processor core for out-of-pipeline processing, using diversion logic and a pipeline-processor interface to maintain packet ordering and integrate results back into the match-action pipeline, enabling flexible and efficient processing of packets through a hybrid approach combining P4 programmable packet processing and general-purpose processor cores.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If packet processing is performed in a fixed-function I/O system, then processing speed is maintained at high levels, but flexibility to adapt to changes in feature sets and protocols is poor

Engineering Contradiction:
Improveflexibility to adapt to changesVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The packet processing system is segmented into two distinct paths: a match-action pipeline for standard high-speed processing and an out-of-pipeline processing path for specialized operations. This segmentation allows the system to maintain fast path performance for common operations while providing flexibility for adaptive processing when needed, resolving the contradiction between speed and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces dynamic routing capability where packets can be diverted from the match-action pipeline to processor cores based on packet characteristics and processing requirements. This dynamic flexibility allows the same hardware architecture to adapt to different processing needs without changing the fundamental high-speed path architecture, maintaining both speed and adaptability.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If packet processing is diverted to processor cores for out-of-pipeline processing, then flexibility and adaptability are improved, but processing speed and time sensitivity may be compromised

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidpacket processing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

Specific processing operations are extracted from the main match-action pipeline and handled separately by processor cores. This extraction allows complex or adaptive operations to be performed without blocking the high-speed pipeline, as only the necessary packets are diverted while others continue through the optimized fast path, thus maintaining overall processing speed while providing flexibility.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A pipeline-processor interface acts as an intermediary between the match-action pipeline and processor cores, managing the diversion and return of packets. This intermediary mechanism ensures that diverted packets are properly queued, processed, and returned to the pipeline without disrupting the continuous flow of packets through the high-speed path, thereby preserving processing speed while enabling flexible out-of-pipeline operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If out-of-pipeline processing is integrated into the match-action pipeline, then adaptability is enhanced, but packet ordering and synchronization become more complex

Engineering Contradiction:
Improveprocessing adaptabilityVSAvoidpipeline synchronization complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where processor cores return processing results to the match-action pipeline through the pipeline-processor interface. This feedback loop allows the pipeline to receive updated packet information and continue processing with the correct data, maintaining packet ordering and synchronization while enabling adaptive out-of-pipeline operations, thus resolving the complexity issue.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Packets are queued at the pipeline-processor interface before being diverted to processor cores, and results are queued upon return. This preliminary queuing action ensures that packets are processed in the correct order and that the pipeline receives data in the expected sequence, simplifying synchronization complexity while maintaining adaptability through out-of-pipeline processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11494189B2Methods and systems for processing data in a programmable data processing pipeline that includes out-of-pipeline processing
Publication Date: 2022.11.08 PENSANDO SYSTEMS INC
  • US11494189B2 patent drawing
  • US11494189B2 patent drawing
  • US11494189B2 patent drawing

AI summary

Methods and system for processing data in a programmable processing pipeline are disclosed. In an embodiment, a method for processing packets in a programmable packet processing pipeline is disclosed. The method involves processing data corresponding to a packet through a match-action pipeline of a programmable packet processing pipeline, and diverting the processing of data corresponding to the packet from the match-action pipeline to a processor core for out-of-pipeline processing.