Partial Packet Synchronization for Express Data Path Cache Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional express data path (XDP) systems face inefficiencies in processing network packets, particularly during distributed denial-of-service (DDoS) attacks, due to the unnecessary synchronization and flushing of data from the cache, which hampers performance and increases processing overhead.

Innovation Solution

Implementing partial synchronization of network packets by identifying a maximum access bound and synchronizing only the necessary portion of the packet to the cache, allowing the processing device to determine how to handle the packet without synchronizing the entire packet, thereby reducing data stored in the cache and minimizing flushing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire network packet is synchronized to the cache, then the processing device can access complete packet data, but the cache occupies more memory and requires longer flushing time

Engineering Contradiction:
Improvepacket data completenessVSAvoidcache flushing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the network packet into two portions: a first portion (header/metadata) that is always synchronized to the cache for quick access, and a second portion (payload) that is only synchronized when needed. This segmentation allows the system to access critical packet information quickly while avoiding unnecessary synchronization of the entire packet, thereby reducing cache flushing time while maintaining processing efficiency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire network packet is synchronized to the cache, then all packet data is available for processing, but memory usage and processing overhead increase

Engineering Contradiction:
Improvepacket processing reliabilityVSAvoidpacket processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial synchronization by only synchronizing the first portion of the packet to the cache, which contains the essential header information needed for initial packet processing and filtering decisions. The second portion is synchronized only when the filter program determines it is necessary. This partial action approach maintains processing reliability for critical operations while significantly improving overall packet processing throughput by reducing unnecessary memory operations.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If the maximum access bound is increased, then more packet data can be accessed from cache, but the cache size requirement and flushing overhead increase

Engineering Contradiction:
Improvepacket data accessibilityVSAvoidcache data volume
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent dynamically adjusts the effective access bound by using a two-stage synchronization approach. The first portion is always synchronized, providing a baseline level of data accessibility. The second portion is conditionally synchronized based on the specific processing needs identified by the filter program. This dynamic adjustment allows the system to optimize between data accessibility and cache volume requirements on a per-packet basis, improving overall system efficiency.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11228668B2Efficient packet processing for express data paths
Publication Date: 2022.01.18 RED HAT INC
  • US11228668B2 patent drawing
  • US11228668B2 patent drawing
  • US11228668B2 patent drawing

AI summary

A first filter specifying handling of one or more network packets received via a network is identified. A first set of access bounds to be used by a network interface card (NIC) to synchronize the one or more network packets received via the network is determined in view of the first filter. The first set of access bounds are provided to a driver of the NIC.