Partial Packet Synchronization for Express Data Path Cache Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


