NIC Predicate Logic Filtering Flow Table Counters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional flow monitoring systems incur significant overhead in terms of DMA, CPU, and memory resources when reviewing the counter values of an entire flow table, necessitating a reduction in these costs.
Innovation Solution
A method and system where a network interface controller receives predicate logic from trusted host software to filter and subset flow table entries, transferring only relevant entries to the host memory, with mechanisms to clear counters and indicate changes, thereby shifting processing and memory overhead to the NIC.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the entire flow table is transferred and reviewed by the trusted host, then complete monitoring accuracy is achieved, but significant DMA, CPU, and memory overhead is incurred
Solution Approach 1:
The patent segments the flow table processing by dividing it into two parts: the NIC filters and processes flow table entries locally using predicate logic to identify matching entries, while the trusted host only receives and processes the subset of matching entries. This segmentation reduces the amount of data transferred and processed by the host, thereby reducing DMA, CPU, and memory overhead while maintaining monitoring accuracy for relevant entries.
Solution Approach 2:
The patent introduces an intermediary filtering mechanism at the NIC level that acts as a mediator between the flow table and the trusted host. The NIC's predicate logic evaluation serves as an intermediary step that pre-processes and filters flow table entries before they reach the host, reducing the burden on the host system while ensuring that all relevant entries are captured for monitoring.
2Productivity
If predicate logic filtering is implemented at the NIC level, then processing overhead is reduced, but device complexity increases
Solution Approach 1:
The patent leverages the existing predicate logic evaluation capability that is already present in modern NICs for other purposes (such as packet filtering and traffic management). By reusing this existing multi-functional capability for flow table filtering, the patent avoids adding significant new complexity to the NIC while still achieving the benefits of reduced processing overhead. The same hardware resources perform multiple functions.
Data Source
AI summary
A system, method, and non-transitory computer-readable medium for filtering flow table entries is described. A trusted device may send a table read request to a network interface controller (NIC) that includes predicate logic. The NIC will use the received predicate logic to filter flow table entries. The entries that satisfy the criteria specified by the trusted software are moved to a Direct Memory Access (DMA) buffer on the NIC to create a subset of entries. Once some or all of the flow table has been scanned, the subset of entries may be transferred from the DMA buffer on the NIC to a memory of the trusted host via a DMA transfer to be further processed by the trusted host.


