NIC Compression Engine for RDMA Zero-Copy Data Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network interface controllers (NICs) lack built-in data compression and decompression capabilities, leading to inefficient bandwidth usage and high processing resource consumption for computation-intensive tasks like data transmission and storage, especially in communication and compression-intensive applications.

Innovation Solution

Incorporating a network interface controller (NIC) with dedicated processing circuitry and compression engine that performs remote direct memory access (RDMA) commands for data compression and decompression as 'zero-copy' operations, allowing client processes to offload communication and compression tasks, and supporting various compression algorithms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data compression is performed using host processor software routines, then compression capability is achieved, but processing overhead and latency increase significantly

Engineering Contradiction:
Improvecompression capabilityVSAvoidprocessing latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The compression functionality is extracted from the host processor software and implemented as dedicated hardware circuitry within the NIC. This extraction moves the compression task from the general-purpose host CPU to a specialized network interface device, eliminating the processing overhead and latency associated with software-based compression while maintaining compression capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The NIC acts as an intermediary between the host processor and the network, taking on the compression task itself rather than relying on the host processor to prepare compressed data. This intermediary role allows the NIC to perform compression as part of its normal data transmission function, reducing the time penalty associated with host processor involvement.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If host processor performs data compression, then data can be transmitted efficiently, but bandwidth is consumed by compression overhead and processing resources are depleted

Engineering Contradiction:
Improvedata transmission efficiencyVSAvoidprocessing resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The compression processing function is extracted from the host processor and implemented in dedicated hardware within the NIC. This extraction eliminates the need for the host processor to consume processing resources and energy for compression tasks, while still achieving efficient data transmission through hardware-accelerated compression.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The NIC performs compression autonomously without requiring host processor intervention. The NIC services its own compression needs using integrated hardware circuits, thereby conserving host processor resources and energy while maintaining efficient data transmission capabilities.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If compression is implemented in software on host processor, then compression functionality is provided, but device complexity and cost increase

Engineering Contradiction:
Improvecompression functionalityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The compression functionality is merged into the NIC hardware rather than being implemented as separate software on the host processor. This integration combines the network interface and compression functions into a single device, reducing overall system complexity while maintaining compression capabilities.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Software-based compression on the host processor is replaced with hardware-based compression in the NIC. This substitution eliminates the complexity of software implementation, including the need for operating system support, driver code, and processor instruction sequences, while providing the same compression functionality through dedicated hardware circuits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10275375B2Network interface controller with compression capabilities
Publication Date: 2019.04.30 MELLANOX TECHNOLOGIES LTD(IL)
  • US10275375B2 patent drawing
  • US10275375B2 patent drawing

AI summary

A method for communication includes receiving in a network interface controller (NIC) from a host processor, which has a local host memory and is connected to the NIC by a local bus, a remote direct memory access (RDMA) compress-and-write command, specifying a source memory buffer in the local host memory and a target memory address. In response to the command, data are read from the specified buffer into the NIC, compressed in the NIC, and conveyed from the NIC to the target memory address.