Data Shuffle Offload via Network Interface Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data shuffle operations in networking devices, particularly at CPUs, are inefficient due to resource utilization bottlenecks, memory bandwidth consumption, and the need for complex element location descriptions, especially when handling small data elements or non-homogenous data sizes.

Innovation Solution

Offloading data shuffle operations from CPUs to network devices, such as switches or Network Interface Controllers (NICs), which include a data shuffle unit capable of receiving data and a descriptor for the shuffle pattern, performing the shuffle using dedicated circuitry, and outputting the shuffled data for memory storage or network transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data shuffle operations are performed at a CPU or GPU of a host device, then the data shuffle operation can be completed, but the resources of the CPU or GPU are not free to perform other tasks and memory bandwidth is consumed

Engineering Contradiction:
Improvedata shuffle operation completionVSAvoidCPU/GPU resource availability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent extracts the data shuffle operation from the CPU/GPU and relocates it to a network device (NIC). The NIC includes a data shuffle unit with dedicated circuitry that performs the shuffle operation independently, freeing the CPU/GPU resources to perform other computational tasks while the shuffle operation completes in parallel at the network device.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network device acts as an intermediary between the host device and the memory system. Instead of the CPU/GPU directly performing the shuffle operation and accessing memory, the request is offloaded to the network device which handles the shuffle operation and memory interaction, reducing the computational burden on the CPU/GPU.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a large data structure is shuffled using existing NIC capabilities, then arbitrary physical memory locations can be mapped, but complex element location description is required with multiple {offset, size} elements

Engineering Contradiction:
Improvememory location mapping capabilityVSAvoidelement location description complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter representation from complex multi-element descriptors to a simplified single-descriptor format. Instead of using multiple {offset, size} elements to describe data structure locations, the system uses a single descriptor with base address and stride parameters that can mathematically define the same memory locations, reducing complexity while maintaining mapping capability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If small data elements are shuffled using existing NIC capabilities, then the shuffle operation can be performed, but multiple PCIe reads are required which wastes PCIe bandwidth and encounters multiple bottlenecks

Engineering Contradiction:
Improvesmall data element shuffle capabilityVSAvoidPCIe bandwidth waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by performing the data shuffle operation before the PCIe transfer. Instead of reading small data elements multiple times through PCIe (which would waste bandwidth), the shuffle is completed in advance at the network device using local memory and circuitry, and only the final shuffled result is transferred through PCIe in a single operation.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If data is read and written again to memory to support a data shuffle operation, then the shuffle operation can be performed, but memory bandwidth is consumed

Engineering Contradiction:
Improvedata shuffle operation executionVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts the data shuffle operation from the memory subsystem and relocates it to the network device. The NIC includes its own local memory and dedicated shuffle circuitry, allowing it to perform the shuffle operation using local resources without requiring additional read/write operations to the host device's main memory, thereby conserving memory bandwidth.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250165426A1Data shuffle offload
Publication Date: 2025.05.22 MELLANOX TECHNOLOGIES LTD(IL)
  • US20250165426A1 patent drawing
  • US20250165426A1 patent drawing
  • US20250165426A1 patent drawing

AI summary

Devices, methods, and systems are provided. In one example, a device is described to include a device interface that receives data from at least one data source; a data shuffle unit that collects the data received from the at least one data source, receives a descriptor that describes a data shuffle operation to perform on the data received from the at least one data source, performs the data shuffle operation on the collected data to produce shuffled data, and provides the shuffled data to at least one data target.