Smart NIC Classification Cache for Faster Data Message Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing datacenter systems face inefficiencies in data message processing due to the need for software forwarding elements (SFE) to handle every data message, which can be slow and resource-intensive, especially when dealing with large data message flows.

Innovation Solution

Implementing a smart NIC with a small data message classification cache that is regularly updated based on SFE processing, allowing it to determine if a data message matches valid cache entries and perform actions without involving the SFE, and using a sliding window technique with multiple caches to manage cache and rule updates efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a smart NIC uses a small classification cache to process data messages locally, then processing speed and efficiency are improved, but cache validity accuracy may deteriorate due to rule updates

Engineering Contradiction:
Improvedata message processing speedVSAvoidcache entry validity accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by validating cache entries against updated rules before using them for data message processing. The validation mechanism checks whether cache entries remain consistent with current forwarding rules, and only allows processing with validated entries, thus preventing the use of stale or invalid cached data while maintaining high processing speed.

Inventive Principle:
Principle #10Preliminary action

2Power

If the smart NIC processes more data messages locally without SFE involvement, then computational load on SFE is reduced, but the complexity of cache management increases

Engineering Contradiction:
Improvecomputational load on SFEVSAvoidcache management complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the smart NIC to autonomously manage its classification cache, including validation against rule updates and determination of cache entry validity. The smart NIC independently performs these management functions without requiring continuous SFE intervention, thereby reducing computational load on the SFE while handling the increased management complexity locally at the smart NIC.

Inventive Principle:
Principle #25Self-service

3Reliability

If the smart NIC frequently validates cache entries against rule updates, then cache entry validity is maintained, but processing time is increased

Engineering Contradiction:
Improvecache entry validityVSAvoidvalidation processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by validating only those cache entries that are actually needed for processing incoming data messages, rather than performing comprehensive validation of all cache entries. The validation is triggered selectively based on rule updates and cache usage patterns, maintaining reliability by validating when necessary while minimizing time loss by avoiding unnecessary validation operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12405895B2Accelerating data message classification with smart NICs
Publication Date: 2025.09.02 VMWARE INC
  • US12405895B2 patent drawing
  • US12405895B2 patent drawing
  • US12405895B2 patent drawing

AI summary

Some embodiments provide a method for performing data message processing at a smart NIC of a computer that executes a software forwarding element (SFE). The method determines whether a received data message matches an entry in a data message classification cache stored on the smart NIC based on data message classification results of the SFE. When the data message matches an entry, the method determines whether the matched entry is valid by comparing a timestamp of the entry to a set of rules stored on the smart NIC. When the matched entry is valid, the method processes the data message according to the matched entry without providing the data message to the SFE executing on the computer.