Network Interface Card In-Network Compute Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems and methods do not fully exploit the offload features of network interface cards for general-purpose compute capabilities, limiting their ability to provide deadline-free processing and parallelism, especially as network speeds increase and message processing overheads become more significant.

Innovation Solution

The proposed solution leverages message matching, atomic operations, and triggered operations capabilities of network interface cards to provide deadline-free, general-purpose compute assistance, allowing for parallel processing even when the network is idle, by extending existing hardware and architectures to enable the network interface card to perform complex operations independently of the host processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If network interface cards perform traditional packet processing functions, then network communication is maintained, but compute capabilities are underutilized and host processor involvement remains high

Engineering Contradiction:
Improvecompute capability utilizationVSAvoidnetwork interface card functionality
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network interface card is enhanced to perform multiple functions beyond traditional packet processing, including executing primitive operations, maintaining state in stateful message processing, and performing triggered operations. This multi-functionality allows the NIC to act as both a network interface and a compute device, resolving the contradiction between maintaining communication functions and utilizing compute capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Complex operations are decomposed into smaller primitive operations that can be executed by the network interface card. The message processing is segmented into receive operations, match table lookups, primitive operation executions, and triggered operations, allowing the NIC to handle compute tasks independently while the host processor focuses on higher-level application logic.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If stream-based processing is used on network interface cards, then some offload capability is achieved, but processing is blocked by network activity and cannot provide deadline-free computation

Engineering Contradiction:
Improveapplication runtimeVSAvoidprocessing independence from network activity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The network interface card autonomously executes primitive operations and triggered operations without requiring host processor intervention or being blocked by network activity. The NIC maintains its own state through match tables and counters, allowing it to independently process messages and perform computations regardless of network conditions, thereby achieving deadline-free computation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Match tables are pre-configured with message tags and corresponding primitive operations before message processing begins. This preliminary setup allows the network interface card to quickly lookup and execute appropriate operations without real-time decision-making delays, enabling independent and timely processing.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If host processor is involved in message processing, then complex operations can be performed, but processing overhead increases and parallelism is limited

Engineering Contradiction:
Improvemessage processing throughputVSAvoidmessage processing overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Message processing functions are extracted from the host processor and relocated to the network interface card. The NIC independently handles message reception, match table lookups, primitive operation execution, and triggered operation initiation, removing these processing overheads from the host processor and enabling parallel execution of multiple message processing pipelines.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11689605B2In-network compute assistance
Publication Date: 2023.06.27 NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA LLC
  • US11689605B2 patent drawing
  • US11689605B2 patent drawing
  • US11689605B2 patent drawing

AI summary

A method and apparatus for performing operations by network interface cards in a network of computers. A network interface card is configured to receive a message and to interpret the message to identify a primitive operation to be performed. The primitive operation is one of a plurality of primitive operations that are performed to perform an operation. The primitive operation is performed by the network interface card and a trigger signal is generated in response to performing the primitive operation. The trigger signal is interpreted to identify a triggered message. The triggered message identifies a next one of the plurality of primitive operations to be performed. The triggered message is transmitted back to the network interface card or to another network interface card in the network for processing.