NFV Packet Flow Table Co-location for Cache Miss Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata organization flexibilityVSAvoidprocessing speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvedata management complexityVSAvoidlatency
Core Design Contradiction:
Device complexityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

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

Engineering Contradiction:
Improvedata retrieval simplicityVSAvoidCPU cache misses
Core Design Contradiction:
Ease of operationVSLoss of energy

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12039358B1Efficient management of packet flow information at network function virtualization services
Publication Date: 2024.07.16 AMAZON TECH INC
  • US12039358B1 patent drawing
  • US12039358B1 patent drawing
  • US12039358B1 patent drawing

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.