NFV Packet Flow Table Co-location for Cache Miss Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network function virtualization services face challenges in efficiently managing packet flow information, particularly in evicting expired entries from flow tables, which leads to increased CPU utilization and latency due to separate storage of expiration information and flow signatures.
Innovation Solution
The proposed solution co-locates expiration information with flow signatures in the same table, allowing for efficient eviction of expired entries when new flows are encountered, reducing CPU cache misses and improving throughput and latency by optimizing the process of managing packet flow information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If expiration information is stored separately from flow signatures, then data organization flexibility is improved, but CPU cache misses increase and processing speed decreases
Solution Approach 1:
The patent merges expiration information and flow signatures into a single unified data structure, allowing both types of data to be stored and accessed together in the same memory location. This eliminates the need for separate storage structures and enables simultaneous retrieval of both expiration times and flow signature data in a single cache access, directly resolving the contradiction between organizational flexibility and processing speed.
2Device complexity
If separate storage of expiration information and flow signatures is used, then data management complexity is reduced, but CPU utilization increases and latency increases
Solution Approach 1:
The patent combines expiration information and flow signatures into a unified data structure where both types of data coexist in the same memory allocation. This merging approach actually simplifies data management by eliminating the need to maintain and synchronize multiple separate data structures, while simultaneously reducing latency through fewer memory access operations.
3Ease of operation
If separate storage structures are used for expiration information and flow signatures, then data retrieval simplicity is improved, but the number of CPU cache misses increases
Solution Approach 1:
The patent creates a unified data structure that stores expiration information and flow signatures together, allowing both to be retrieved in a single cache access operation. This eliminates the need for multiple sequential cache accesses that would be required when using separate storage structures, thereby reducing CPU cache misses while maintaining retrieval simplicity through a unified access interface.
Data Source
AI summary
A representation of an identifier of a packet flow is stored in a particular entry within a particular entry group of a first object maintained at a packet processing service, along with an expiration criterion for information pertaining to the packet flow, including a representation of an action to be performed. The action is performed after it is retrieved from an element identified within a second object based on an entry identifier of the particular entry and a group identifier of the particular group. In response to receiving a packet of another packet flow, respective indications that one or more in-use entries of the particular entry group (whose expiration criteria are met) are available for re-use are stored, without receiving an indication that the corresponding packet flows have terminated.


