Smart NIC Offloads NVMe-oF Hashing to Reduce CPU Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed block storage systems face performance overhead and security risks due to the need for consistent hashing techniques, which increase access latency and require significant runtime and operational costs, especially in untrusted client devices and limited resource locations like smart NICs, and lack scalability in cloud environments.
Innovation Solution
Implementing a consistent hashing mechanism for NVMe-oF to enable client devices to determine the location of logical block device segments, allowing direct I/O requests to storage nodes, reducing the need for additional gateways and improving isolation, while using a modified NVMe-oF initiator to offload hashing and hint processing, thereby reducing CPU utilization and latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If consistent hashing techniques are used to determine segment locations, then access latency is reduced, but runtime and operational costs increase significantly
Solution Approach 1:
The patent pre-computes and stores location hints for logical block address ranges in a hint table before I/O operations occur. When an I/O request arrives, the system performs a simple table lookup instead of executing complex consistent hashing algorithms in real-time. This preliminary action transfers the computational burden from runtime to setup time, reducing operational costs while maintaining fast access.
Solution Approach 2:
The patent uses simple, lightweight location hint entries in the hint table that contain only essential routing information (storage node identifiers and logical block address ranges). These minimalistic hint structures replace complex hashing computations, providing sufficient functionality at a fraction of the runtime cost while being easily updated and replaced as needed.
2Reliability
If dedicated gateways are deployed to enable storage access, then security and isolation are improved, but system efficiency decreases due to additional network hops
Solution Approach 1:
The patent extracts the essential storage client functionality (consistent hashing and location determination) from the host system and embeds it directly into the smart NIC. This extraction eliminates the need for dedicated gateway software on host systems while maintaining security through hardware-based isolation. The smart NIC becomes a self-sufficient storage interface that directly accesses storage clusters without requiring intermediate gateway hops.
Solution Approach 2:
The smart NIC is designed to perform multiple functions: it acts as a network interface, executes storage client operations (consistent hashing, location hint processing), and provides direct access to storage clusters. This multi-functionality consolidates what previously required separate gateway components, reducing network hops while maintaining the security and isolation benefits of dedicated storage access.
3Use of energy by moving object
If storage client functionality is embedded in smart NIC, then CPU utilization is reduced, but processing complexity in NIC increases
Solution Approach 1:
The patent segments the storage access functionality into distinct components within the smart NIC: a hint table for location information, a processing pipeline for I/O requests, and integrated circuits for consistent hashing and hint matching. This segmentation allows each component to be optimized independently and enables parallel processing of multiple I/O requests, reducing the overall processing burden on the host CPU while distributing complexity across specialized NIC components.
Solution Approach 2:
The patent replaces software-based storage client operations with hardware-implemented processing pipelines and integrated circuits within the smart NIC. The consistent hashing algorithm and hint matching logic are implemented in dedicated hardware logic rather than software, enabling parallel processing and eliminating the need for host CPU involvement in storage location determination. This mechanical substitution dramatically reduces CPU utilization while the hardware complexity is contained within the NIC.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Examples described herein relate to a network interface that includes an initiator device to determine a storage node associated with an access command based on an association between an address in the command and a storage node. The network interface can include a redirector to update the association based on messages from one or more remote storage nodes. The association can be based on a look-up table associating a namespace identifier with prefix string and object size. In some examples, the access command is compatible with NVMe over Fabrics. The initiator device can determine a remote direct memory access (RDMA) queue-pair (QP) lookup for use to perform the access command.