Cost-Based Cache Eviction for Network Rule Processing

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

VSEngineering 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

Engineering Contradiction:
Improvepacket processing accuracyVSAvoidpacket processing delay
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If cache memory is used to store rules, then packet processing speed is improved, but cache memory management complexity increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidcache memory management complexity
Core Design Contradiction:
SpeedVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If high-speed network traffic is handled, then network throughput is improved, but packet processing delays increase due to memory access requirements

Engineering Contradiction:
Improvenetwork throughputVSAvoidpacket processing delay
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10684960B2Managing cache memory in a network element based on costs associated with fetching missing cache entries
Publication Date: 2020.06.16 MELLANOX TECHNOLOGIES LTD(IL)
  • US10684960B2 patent drawing
  • US10684960B2 patent drawing
  • US10684960B2 patent drawing

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.