Network Packet Cache Management for SDN Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software-defined networking (SDN) environments, large flow lookup tables can exceed the capacity of on-processor caches, leading to increased latency due to cache evictions, especially for network packets that are only processed once and not reused, causing cache pollution and inefficient memory usage.

Innovation Solution

Implementing a cache management system that uses eviction policies to mark and discard cache lines corresponding to non-reusable network packets, allowing them to be evicted directly without being written to memory, thereby optimizing cache space for reusable packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If network packets are stored in on-processor cache for processing, then processing speed is improved, but cache memory is wasted on packets that are only processed once and not reused

Engineering Contradiction:
Improvenetwork packet processing speedVSAvoidcache memory utilization
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system performs preliminary classification of network packets into reusable and non-reusable categories before caching. By identifying packet reusability in advance through workload type analysis and flow lookup table entries, the system prevents non-reusable packets from occupying cache space, thereby optimizing cache utilization while maintaining fast processing for packets that need to be cached.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If large flow lookup tables are used to manage network packets, then network traffic management capability is improved, but cache capacity is exceeded causing increased latency

Engineering Contradiction:
Improvenetwork traffic management capabilityVSAvoidcache eviction latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system extracts and separates non-reusable network packets from the cache before they can cause eviction latency. By identifying and removing these packets through the cache management module based on workload type and flow lookup analysis, the system maintains large flow lookup tables for comprehensive traffic management while preventing cache capacity overflow that would cause latency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If general purpose processors are used in network devices, then hardware complexity is reduced, but processing performance deteriorates for bandwidth-intensive packets

Engineering Contradiction:
Improvehardware component complexityVSAvoidnetwork packet processing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies different processing strategies to different packet types based on their characteristics. By analyzing workload type and flow lookup table entries locally for each packet, the system identifies non-reusable packets and applies a specialized eviction path that prevents them from occupying cache space, thereby compensating for the lower raw processing power of general purpose processors and maintaining high throughput for bandwidth-intensive traffic.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9992299B2Technologies for network packet cache management
Publication Date: 2018.06.05 INTEL CORP
  • US9992299B2 patent drawing
  • US9992299B2 patent drawing
  • US9992299B2 patent drawing

AI summary

Technologies for identifying a cache line of a network packet for eviction from an on-processor cache of a network device communicatively coupled to a network controller. The network device is configured to determine whether a cache line of the cache corresponding to the network packet is to be evicted from the cache based on a determination that the network packet is not needed subsequent to processing the network packet, and provide an indication that the cache line is to be evicted from the cache based on an eviction policy received from the network controller.