Variable-Size Packet Processing Pipelines for Network Hardware Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet processing hardware is inefficient due to the need for parallel units to handle maximum-size packets, leading to wasteful resource usage and high power consumption, as multiple packets often share a data bus, requiring redundant data handling and extensive logic resources.

Innovation Solution

A network packet processor with multiple processing pipelines of varying sizes, each capable of processing packets up to a specific size, and a scheduling circuit that assigns packets based on their sizes, optimizing hardware usage by reducing the processing size of each pipeline and minimizing redundant data handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple identical packet processing hardware instances are used to handle maximum-size packets, then throughput is maintained, but hardware resources and power consumption increase significantly

Engineering Contradiction:
ImprovethroughputVSAvoidhardware resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Different processing pipelines are configured with different processing sizes tailored to their specific packet size requirements. The first processing pipeline has a first processing size and the second processing pipeline has a second processing size, allowing each pipeline to be optimized for its specific workload rather than all pipelines being over-engineered for maximum-size packets

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The packet processing system is divided into multiple processing pipelines, each handling packets of specific sizes. The scheduling circuit divides packets into different groups based on size, and each pipeline processes only the packets it is configured for, reducing redundant hardware in each pipeline

Inventive Principle:
Principle #1Segmentation

2Reliability

If all packet processing units are configured to handle maximum-size packets, then worst-case scenarios are covered, but redundant data handling and logic resources are wasted

Engineering Contradiction:
Improveworst-case handlingVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Each processing pipeline is configured with a specific processing size appropriate to its function. The first processing pipeline handles packets up to a first processing size while the second processing pipeline handles packets up to a second processing size, eliminating the need for all pipelines to be over-engineered for maximum-size packets

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of configuring all pipelines to handle the maximum possible packet size (excessive action), each pipeline is configured to handle only the packet sizes it actually needs to process (partial action), reducing unnecessary hardware resources and power consumption

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If the data path is fanned-out into k independent hardware pipelines, then packet processing capacity increases, but routing resources and power consumption increase due to redundant data transmission

Engineering Contradiction:
Improvepacket processing capacityVSAvoidrouting resources
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple processing pipelines share common routing resources and data paths rather than having completely independent pipelines. The scheduling circuit efficiently routes packets to appropriate pipelines, and pipelines can share common infrastructure for packet extraction and processing, reducing redundant routing resources

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8775685B1Parallel processing of network packets
Publication Date: 2014.07.08 XILINX INC
  • US8775685B1 patent drawing
  • US8775685B1 patent drawing
  • US8775685B1 patent drawing

AI summary

A network packet processor includes a plurality of processing pipelines and a scheduling circuit. Each processing pipeline is configured and arranged to process packets having sizes less than or equal to an associated processing size of the processing pipeline. The respective processing size of one of the processing pipelines is different from the processing size of at least one other of the processing pipelines. The scheduling circuit is coupled to the plurality of processing pipelines and is configured and arranged to determine respective packet sizes of packets input from a bus. The scheduling circuit assigns each packet of the one or more packets for processing by one of the processing pipelines as a function of the respective packet size of the packet and the processing size associated with the one of the processing pipelines.