Flow-Level Packet Parallelization for Terabit Network Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As network traffic volumes increase to terabit scales, real-time analysis applications face challenges in processing large volumes of packets due to the infeasibility of parallelization at the packet level, overwhelming the number of available threads.

Innovation Solution

Organizing terabit-scale packet volumes into flows by using a programmable network interface card to extract flow keys, input them into a hash function, and store packets in memory partitions corresponding to thread identifiers, enabling parallel processing at the flow level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If packet-level parallelization is used to process high-volume network traffic, then processing speed improves, but the number of threads required becomes overwhelming and infeasible

Engineering Contradiction:
Improvepacket processing speedVSAvoidnumber of threads
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments packets into flows based on flow keys (source IP, destination IP, source port, destination port, protocol). By grouping packets with identical flow keys into the same flow, the system reduces the number of processing units from individual packets to flows, making parallelization feasible at terabit scales

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple packets belonging to the same flow are merged and assigned to a single thread for processing. The hash function maps flow keys to thread identifiers, combining multiple packet-level operations into flow-level operations that share processing resources

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If flow-level parallelization is implemented using hash functions to partition packets, then thread collisions are reduced and processing efficiency improves, but the complexity of extracting flow keys and computing hashes increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidflow key extraction and hashing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs flow key extraction and hash computation in advance during packet reception at the network interface card, before packets need to be processed by application threads. This preliminary action distributes the complexity across the packet processing pipeline rather than concentrating it at a single point

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hash function acts as an intermediary that transforms complex flow identification problems into simpler thread assignment problems. By using the flow key as input to the hash function, the system creates a deterministic mapping to thread identifiers that simplifies load distribution

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11240354B2Terabit-scale network packet processing via flow-level parallelization
Publication Date: 2022.02.01 AT&T INTELLECTUAL PROPERTY I L P
  • US11240354B2 patent drawing
  • US11240354B2 patent drawing
  • US11240354B2 patent drawing

AI summary

In one example, the present disclosure describes a device, computer-readable medium, and method for organizing terabit-scale packet volumes into flows for downstream processing stages. For instance, in one example, a method includes extracting a first flow key from a first data packet, inputting the first flow key into a hash function to obtain a first output value, selecting a first partition in a memory to which to store the first data packet, wherein the first partition is selected based on the first output value, and storing the first data packet to the first partition.