Vector Send Operation for MPI Collective Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Collective communication operations in multi-processing systems face bottlenecks due to high hardware and software overheads, particularly when sending small messages, which increases overall time for operations like all-to-all, broadcast, and barrier messages.

Innovation Solution

Implementing a vector send operation that accepts a vector of destination addresses and data buffers, reserving receive queues for each destination, and using DMA engines to transmit multiple commands simultaneously, reducing software setup costs and enabling multicast functionality without specialized hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional I/O operations with CPU involvement are used for each transaction, then data transfer can be performed, but the CPU becomes fully occupied and unavailable for other work, reducing overall system productivity

Engineering Contradiction:
Improvedata transfer completionVSAvoidCPU availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data transfer function from CPU operations by introducing DMA controllers that independently handle I/O transactions. The system divides responsibilities between CPU (higher-level control) and DMA controllers (lower-level data movement), allowing parallel execution of CPU computations and data transfers without mutual interference

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces DMA controllers as intermediary hardware components that mediate between memory and I/O devices. These controllers act as autonomous intermediaries that execute transfer operations without requiring continuous CPU intervention, freeing the CPU to perform other productive work while maintaining reliable data transfer completion

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If DMA is used to bypass CPU for data transfer, then CPU availability improves, but hardware overhead and software setup costs increase, particularly for collective communication operations

Engineering Contradiction:
ImproveCPU availabilityVSAvoidhardware and software overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple individual DMA transfer operations into a single collective operation by introducing aggregation logic that combines destination addresses and data buffers into unified transfer commands. This reduces the number of separate software setup calls and hardware transaction initiations required for multicast operations

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent creates universal data structures (destination vectors, buffer descriptors) that can handle both point-to-point and collective communication operations through a single interface. This multi-functional approach allows the same DMA infrastructure to efficiently support various communication patterns without requiring separate specialized hardware or software paths

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

3Adaptability or versatility

If multiple individual send operations are used for collective communication, then data can be sent to multiple destinations, but software overhead accumulates with each message, increasing total operation time

Engineering Contradiction:
Improvemulticast capabilityVSAvoidtotal operation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-organizing destination addresses into vectors and preparing buffer descriptors before initiating DMA transfers. This advance preparation consolidates software setup work into a single operation rather than repeating it for each destination, significantly reducing cumulative software overhead for multicast operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous useful action by allowing DMA controllers to execute multiple transfer operations in parallel streams without software intervention between them. Once the collective send operation is initiated with aggregated parameters, the DMA hardware continuously performs transfers to multiple destinations simultaneously, eliminating idle software processing time

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11210089B2Vector send operation for message-based communication
Publication Date: 2021.12.28 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11210089B2 patent drawing
  • US11210089B2 patent drawing
  • US11210089B2 patent drawing

AI summary

Methods and systems for conducting vector send operations are provided. The processor of a sender node receives a request to perform a collective send operation (e.g., MPI_Broadcast) from a user application, requesting a copy of data in one or more send buffers by sent to each of a plurality of destinations in a destination vector. The processor invokes a vector send operation from a software communications library, placing a remote enqueue atomic send command for each destination node of the destination vector in an entry of a transmit data mover (XDM) command queue in a single call. The processor executes all of the commands in the XDM command queue and writes the data in the one or more send buffers into each receive queue of each destination identified in the destination vector.