Network Packet Cache Management for SDN Latency Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Device complexity
If general purpose processors are used in network devices, then hardware complexity is reduced, but processing performance deteriorates for bandwidth-intensive packets
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.
Data Source
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.


