Parallel Computing Virtual Connections for All-to-All Exchange

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional communication models in parallel computing systems, such as the binomial-tree multicast model for all-to-all exchanges, are inefficient as they require multiple communication steps and can be unsafe due to unacknowledged broadcasts, leading to errors and increased complexity.

Innovation Solution

The implementation of a system and method that uses virtual connections and a network fabric to enable a Howard all-to-all exchange, where each processing unit can communicate with every other unit directly, reducing communication steps to one and ensuring safe data transfer through industry-standard verification techniques.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the binomial-tree multicast model is used for all-to-all communication, then communication coverage is complete, but communication steps increase to nlog2n and time consumption increases

Engineering Contradiction:
Improvecommunication coverageVSAvoidcommunication wall-clock time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The all-to-all communication exchange is segmented into multiple stages, where each processing element communicates with a specific subset of other processing elements in each stage. This segmentation allows parallel execution of multiple communication operations simultaneously, reducing the total communication time from nlog2n sequential steps to a more efficient parallel execution model while maintaining complete communication coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The communication model transitions from a single-dimensional sequential binomial-tree approach to a multi-dimensional parallel approach. By organizing communication in multiple dimensions (stages, pairs, and parallel operations), the system achieves complete communication coverage while significantly reducing the wall-clock time through parallel execution of communication operations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Speed

If unacknowledged broadcast communications are used, then communication speed is faster, but safety decreases due to undetected errors

Engineering Contradiction:
Improvecommunication speedVSAvoidcommunication safety
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback mechanisms through acknowledgment packets and checksum verification. Each communication operation includes error detection (checksum) and error correction (acknowledgment/retry) feedback loops, ensuring that communication safety is maintained while preserving the speed benefits of direct communication paths.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system prepares for potential communication errors in advance by implementing checksum verification and acknowledgment protocols before errors can propagate. This beforehand cushioning ensures that even if communication occurs at high speed, errors are detected and corrected promptly, maintaining both speed and reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If pair-wise communication with loop-back checks is used, then communication safety is ensured, but communication steps and complexity increase

Engineering Contradiction:
Improvecommunication safetyVSAvoidcommunication protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple communication operations are merged into a single all-to-all exchange operation. By combining multiple pair-wise communications with their associated error checking into a unified parallel exchange model, the system maintains communication safety through checksum and acknowledgment mechanisms while reducing overall protocol complexity through operational consolidation.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The communication system implements a universal all-to-all exchange protocol that handles multiple communication objectives simultaneously (data transfer, error detection, error correction) in a single standardized operation. This multi-functional approach maintains safety requirements while reducing the complexity of managing multiple separate communication protocols.

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

4Reliability

If multiple communication steps are used for all-to-all exchange, then communication coverage is complete, but communication overhead and time consumption increase

Engineering Contradiction:
Improvecommunication coverageVSAvoidcommunication efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system maintains continuous useful action by organizing communication into overlapping parallel stages where processing elements continuously exchange data without idle waiting periods. This continuous parallel communication maintains complete coverage while maximizing productivity by eliminating gaps and redundancies in the communication sequence.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The communication model employs dynamic parallel stage execution where the number and configuration of communication stages adapt to the specific all-to-all exchange requirements. This dynamic approach optimizes communication efficiency by maintaining complete coverage while adjusting the communication pattern to minimize overhead and maximize productivity for different data sizes and processor configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9324126B2Automated latency management and cross-communication exchange conversion
Publication Date: 2016.04.26 MASSIVELY PARALLEL TECHNOLOGIES INC
  • US9324126B2 patent drawing
  • US9324126B2 patent drawing
  • US9324126B2 patent drawing

AI summary

A system and method for communication in a parallel computing system is applied to a system having multiple processing units, each processing unit including processor(s), memory, and a network interface, where the network interface is adapted to support virtual connections. The memory has at least a portion of a parallel processing application program and a parallel processing operating system. The system has a network fabric between processing units. The method involves identifying need for communication by the first processing unit with a group of processing units, creating virtual connections between the processing units, and transferring data between the first processing units.