Programmable NIC Pipeline Integrates Accelerator to Reduce PCIe Traffic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data movement between a host, an accelerator, and a network incurs significant overhead due to bus bottlenecks, particularly in virtualized environments where packet classification and parsing tasks increase power consumption and memory requirements, making existing 'bump-in-the-wire' architectures impractical.

Innovation Solution

A network node architecture that integrates a hierarchical packet processing pipeline within a NIC, allowing the accelerator to focus on specific acceleration tasks while the NIC handles packet parsing and other operations, reducing PCIe traffic and host overhead by minimizing data traversal through the PCIe bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transmitted through the PCIe bus between host, accelerator, and network, then data movement is enabled, but bus bottleneck and overhead increase

Engineering Contradiction:
Improvedata throughputVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges the network interface controller and accelerator into a single integrated device, allowing data to be processed and accelerated without leaving the device. This eliminates the need for data to traverse the PCIe bus multiple times between separate host, accelerator, and network components, thereby reducing bus bottleneck overhead and processing latency while maintaining high data throughput.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If accelerator performs packet classification and parsing, then acceleration capability is provided, but power consumption and memory requirements increase

Engineering Contradiction:
Improveacceleration capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the packet processing functions by having the NIC handle packet classification, parsing, and routing decisions, while the accelerator focuses only on the computationally intensive acceleration tasks. This division allows the accelerator to be smaller and consume less power, as it does not need to perform resource-intensive packet classification and parsing operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The NIC acts as an intermediary between the network and accelerator, pre-processing packets and preparing them for acceleration. By filtering and preparing data before it reaches the accelerator, the NIC reduces the workload on the accelerator, enabling smaller, lower-power acceleration hardware to achieve the same effective throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data traverses PCIe bus multiple times, then data can be processed by multiple components, but overhead and latency increase

Engineering Contradiction:
Improveprocessing flexibilityVSAvoiddata movement time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent combines multiple processing functions within a single integrated device, allowing data to be processed by multiple functional units (NIC and accelerator) without physically leaving the device. This maintains processing flexibility and adaptability while eliminating the need for repeated PCIe bus traversals that would increase data movement time and overhead.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3707880B1NIC with programmable pipeline
Publication Date: 2024.06.19 MELLANOX TECHNOLOGIES LTD(IL)
  • EP3707880B1 patent drawingFigure 1~2
  • EP3707880B1 patent drawingFigure 3
  • EP3707880B1 patent drawingFigure 4

AI summary

A network interface controller (30) that is connected to a host (34) and a packet communications network. The network interface controller (30) includes electrical circuitry configured as a packet processing pipeline (72) with a plurality of stages (76, 78, 80, 82). It is determined in the network interface controller (30) that at least a portion of the stages (76, 78, 80, 82) of the pipeline (72) are acceleration-defined stages (78, 80). Packets are processed in the pipeline (72) by transmitting data to an accelerator (74) from the acceleration-defined stages (78, 80), performing re- spective acceleration tasks (86, 90) on the transmitted data in the accelerator (74), and returning processed data from the accelerator (74) to receiving stages (80, 82) of the pipeline (72).