Smart NIC Dual-Path Routing for Data Request Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Smart network interface cards (NICs) face inefficiencies in servicing data requests due to limited software interaction capabilities of their hardware-implemented paths, which makes sharding and virtualization complex, leading to time-consuming and resource-intensive operations.

Innovation Solution

Implementing a system that utilizes both hardware-implemented and slower software-executed paths of smart NICs, where the slower path executes routing algorithms to determine accurate routing information, allowing the hardware path to efficiently transmit data requests to storage nodes with minimal latency and reduced decision-making.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the hardware-implemented path is used for data request servicing, then processing speed is improved, but the ability to handle complex sharding and virtualization operations deteriorates

Engineering Contradiction:
Improvedata request processing speedVSAvoidsoftware interaction capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The smart NIC is divided into two distinct paths: a hardware-implemented fast path for speed-critical operations and a software-implemented slow path for complex decision-making. The fast path handles simple, high-speed data requests, while the slow path handles complex sharding and virtualization operations, allowing each path to be optimized for its specific function.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A queue mechanism serves as an intermediary between the fast path and slow path. The fast path can offload complex routing decisions to the slow path by enqueuing requests, and retrieve results later, allowing the fast path to maintain high throughput while the slow path provides sophisticated routing capabilities when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If the slow path executes routing algorithms, then routing accuracy is improved, but processing time increases

Engineering Contradiction:
Improverouting information accuracyVSAvoidrequest processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system applies routing algorithm execution selectively rather than universally. The slow path executes routing algorithms only for requests that require complex sharding or virtualization handling, while the fast path uses simplified routing logic for straightforward requests, minimizing the time penalty while maintaining accuracy when needed.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Routing information is pre-calculated and cached by the slow path for frequently accessed data. When the same routing information is needed again, the fast path can retrieve it from the queue or cache without re-executing the complex routing algorithm, significantly reducing processing time for repeated operations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If sharding code is implemented at the application level, then data distribution flexibility is improved, but smart NIC processing complexity increases

Engineering Contradiction:
Improvedata distribution flexibilityVSAvoidsmart NIC software interaction complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The queue acts as an intermediary buffer between the application-level sharding code and the smart NIC's hardware path. Complex sharding logic can be implemented flexibly at the application level without directly complicating the smart NIC's hardware path, as interactions are mediated through the queue interface which abstracts the complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The sharding functionality is segmented between application-level code (for flexibility) and smart NIC path selection (for performance). The application layer handles complex sharding decisions, while the smart NIC's fast path handles execution, with the slow path providing support when needed. This segmentation allows each layer to operate in its optimal domain.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11671350B1Data request servicing using multiple paths of smart network interface cards
Publication Date: 2023.06.06 RED HAT LLC
  • US11671350B1 patent drawing
  • US11671350B1 patent drawing
  • US11671350B1 patent drawing

AI summary

Data requests can be serviced by multiple paths of smart network interface cards (NICs). For example, a system can receive a request for data at a first path of a smart NIC. The first path can be a hardware-implemented path. The system can send one or more parameters of the request to a second path of the smart NIC. The second path can be a slower path than the first path and configured to execute a routing algorithm for the request. The system can receive routing information for the request from the second path based on the routing algorithm and transmit the request to a storage node based on the routing information.