Parallel Packet Processing in Array Elements

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The processing speed of packet information in arrays of processing elements is limited by slow search operations, leading to idle time for processing elements due to serial processing dependencies.

Innovation Solution

Performing search-independent processing in parallel with search operations across multiple stages of the array, allowing for immediate search-dependent processing once search results are received, thereby reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If search operations are performed sequentially in serial manner, then processing elements can wait for search results before proceeding, but processing elements sit idle during search operations reducing overall throughput

Engineering Contradiction:
Improveprocessing completion accuracyVSAvoidpacket processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing search-independent processing operations before the search operation completes. Processing elements execute packet header processing and other preparatory tasks in parallel with the search operation, so that when search results are ready, the processing elements are already ready to receive and process the results immediately, eliminating idle time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the packet processing operations into search-dependent operations (which wait for search results) and search-independent operations (which can execute in parallel). This segmentation allows different parts of the processing pipeline to operate simultaneously, with search-independent operations executing during the search time and search-dependent operations executing after search results are received.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If processing elements wait for search results before proceeding to next stage, then processing can be performed in serial manner, but latency is increased due to slow search operations

Engineering Contradiction:
Improveprocessing latencyVSAvoidprocessing pipeline complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Processing elements perform preliminary search-independent operations (such as packet header processing, extracting search keys, preparing lookup tables) before the search operation completes. This preliminary action reduces the time processing elements spend idle waiting for search results, thereby reducing overall latency without significantly increasing complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic scheduling where processing elements can switch between different operational states based on search completion status. When search operations are ongoing, processing elements execute search-independent tasks; when search results are available, they automatically transition to search-dependent tasks. This dynamic adaptation optimizes latency without requiring complex fixed pipeline designs.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8477780B2Processing packet information using an array of processing elements
Publication Date: 2013.07.02 WSOU INVESTMENTS LLC
  • US8477780B2 patent drawing
  • US8477780B2 patent drawing
  • US8477780B2 patent drawing

AI summary

Processing packet information using an array of processing elements involves performing search-independent processing on packet information in parallel with a search of a first stage memory unit and then using the processed information and the result from the search of the first stage memory unit to generate search information for a search of a second stage memory unit. The search-independent processing of packet information in parallel with search operations can be repeated at each stage of the array. By performing search-independent processing of packet information in parallel with search operations instead of serially, latency that is contributed from the relatively slow search operations is reduced.