Cost-Based Cache Eviction for Network Rule Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network elements like switches and routers face performance degradation due to high packet processing delays caused by multiple memory-access operations required for rule lookups in data structures, limiting their ability to handle high-speed network traffic effectively.
Innovation Solution
Implementing a cost-based eviction policy in cache memory, where each rule is assigned a cost value based on memory-access operations or latency, and selecting rules to evict based on these costs to optimize cache management and reduce packet processing delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If rules are stored in a data structure for packet processing, then packet processing accuracy is improved, but packet processing delay increases due to multiple memory-access operations
Solution Approach 1:
The patent divides the data structure into multiple cache memory banks, allowing parallel access to different rule sets. This segmentation enables simultaneous memory accesses, reducing the total time required to retrieve processing rules while maintaining complete rule coverage for accurate packet processing.
Solution Approach 2:
The patent introduces a spatial dimension by organizing rules across multiple cache banks indexed by different parameters (e.g., source/destination addresses, protocol types). This multi-dimensional organization allows the system to access rules from different banks simultaneously, transforming a sequential access problem into a parallel access solution that reduces delay without sacrificing accuracy.
2Speed
If cache memory is used to store rules, then packet processing speed is improved, but cache memory management complexity increases
Solution Approach 1:
The patent implements self-service through automatic cache replacement policies that use cost values associated with each rule. The system autonomously determines which rules to evict from cache based on their fetching cost and current cache state, eliminating the need for complex manual management while maintaining optimal cache utilization for high-speed processing.
Solution Approach 2:
The patent changes the management approach by introducing cost values as a new parameter for each rule. These cost values enable the cache management system to make intelligent decisions about rule retention and eviction based on fetching costs, transforming a complex management problem into a parameter-driven automated process that simplifies control while improving speed.
3Productivity
If high-speed network traffic is handled, then network throughput is improved, but packet processing delays increase due to memory access requirements
Solution Approach 1:
The patent applies preliminary action by pre-loading frequently accessed rules into cache memory banks before they are needed for packet processing. The system anticipates future access patterns and proactively caches relevant rules, ensuring that when high-speed traffic arrives, the rules are already available in fast memory, thereby maintaining high throughput without delay penalties.
Solution Approach 2:
The patent ensures continuity of useful action by maintaining rules in cache memory across multiple packet processing operations. Instead of repeatedly accessing slow memory for the same rules, the system keeps them continuously available in fast cache, enabling uninterrupted high-speed processing of network traffic while minimizing memory access delays.
Data Source
AI summary
A network element includes a data structure, a cache memory and circuitry. The data structure is configured to store multiple rules specifying processing of packets received from a communication network. The cache memory is configured to cache multiple rules including a subset of the rules stored in the data structure. Each rule that is cached in the cache memory has a respective cost value corresponding to a cost of retrieving the rule from the data structure. The circuitry is configured to receive one or more packets from the communication network, to process the received packets in accordance with one or more of the rules, by retrieving the rules from the cache memory when available, or from the data structure otherwise, to select a rule to be evicted from the cache memory, based on one or more respective cost values of the rules currently cached, and to evict the selected rule.


