Data Repacking Circuitry for All-to-All Communication Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing collective communication systems face inefficiencies in performing all-to-all operations, particularly for small data exchanges, due to high latency and message rate costs, especially as system sizes grow.

Innovation Solution

The proposed solution involves a new all-to-all algorithm that utilizes data repacking circuitry and a control tree to efficiently transpose data blocks distributed among processes, optimizing small data exchanges by defining multiple aggregation points within the network.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional all-to-all communication algorithms are used, then system scalability is maintained, but latency and message rate costs increase significantly for small data exchanges

Engineering Contradiction:
ImprovelatencyVSAvoidmessage rate cost
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent segments the all-to-all communication operation into multiple phases using a tree-based structure. Instead of direct N-to-N communication, the system divides processes into groups and uses intermediate aggregation points to break down the communication into smaller, more manageable steps, reducing latency for small data exchanges

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediate aggregation points (such as root processes or dedicated aggregation nodes) that act as mediators in the communication path. Data is first aggregated to these intermediate points and then distributed to destinations, reducing the message rate cost by consolidating communications through fewer intermediate hops

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is exchanged directly between all process pairs, then communication completeness is ensured, but network utilization efficiency decreases

Engineering Contradiction:
Improvenetwork utilizationVSAvoidcommunication completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges multiple data transmissions through common intermediate aggregation points. Multiple source processes send data to the same aggregation point, which then consolidates and forwards to multiple destinations. This merging approach improves network utilization by reducing redundant transmissions while maintaining complete data exchange through the aggregation logic

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If the system supports large communicator sizes, then scalability is improved, but performance for small data exchanges deteriorates

Engineering Contradiction:
Improvecommunicator size supportVSAvoidsmall data exchange latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent employs dynamic phase-based communication strategies that adapt to communicator size. The tree-based algorithm dynamically adjusts the number of aggregation levels and phase steps based on the number of processes, allowing the system to maintain optimal performance for small data exchanges while supporting large communicator sizes through scalable tree depth

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3699770B1Collective communication system and methods
Publication Date: 2025.05.21 MELLANOX TECHNOLOGIES LTD(IL)
  • EP3699770B1 patent drawingFigure 1A
  • EP3699770B1 patent drawingFigure 1B
  • EP3699770B1 patent drawingFigure 2

AI summary

A method in which a plurality of process are configured to hold a block of data destined for other processes, with data repacking circuitry including receiving circuitry configured to receive at least one block of data from a source process of the plurality of processes, the repacking circuitry configured to repack received data in accordance with at least one destination process of the plurality of processes, and sending circuitry configured to send the repacked data to the at least one destination process of the plurality of processes, receiving a set of data for all-to-all data exchange, the set of data being configured as a matrix, the matrix being distributed among the plurality of processes, and transposing the data by each of the plurality of processes sending matrix data from the process to the repacking circuitry, and the repacking circuitry receiving, repacking, and sending the resulting matrix data to destination processes.