Topology-Aware Fabric Offloading for Collective Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, collective functions such as MPI_REDUCE and MPI_ALLREDUCE account for a significant portion of overall application runtime, and existing methods do not efficiently offload processing and communication from compute nodes, leading to performance bottlenecks and increased execution times.

Innovation Solution

The method involves configuring network switching elements to forward node-level results from compute nodes to root switching elements via preferred paths, allowing the root elements to calculate and output the end result, thereby offloading most of the processing and communication associated with collective functions from the compute nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If compute nodes perform collective functions using existing communication protocols, then task execution can be distributed, but processing and communication bottlenecks occur leading to increased execution times

Engineering Contradiction:
Improveexecution timeVSAvoidperformance bottleneck
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces network switching elements as intermediary components between compute nodes to handle collective function processing. These switches act as mediators that offload processing and communication tasks from compute nodes, reducing bottlenecks and improving execution time by centralizing collective operations at the network layer rather than at individual compute nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts collective function processing from compute nodes and relocates it to network switching elements. By taking out the processing responsibility from compute nodes, the system eliminates the bottleneck where compute nodes were simultaneously performing computation and communication tasks, thereby improving both productivity and reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If compute nodes process collective functions, then distributed computing is enabled, but application blockage occurs reducing overall performance

Engineering Contradiction:
Improveapplication performanceVSAvoidapplication blockage time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Network switching elements serve as intermediaries that handle collective function communication and processing independently of compute node operations. This mediation allows compute nodes to continue their computational tasks without being blocked by communication operations, as the switches manage data aggregation and distribution across the network fabric simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the collective function processing into distinct phases and locations: data aggregation at intermediate switches, processing at root switches, and result distribution. This segmentation allows different parts of the system to operate independently and concurrently, eliminating application blockage and improving overall performance.

Inventive Principle:
Principle #1Segmentation

3Productivity

If dedicated hardware offload engines are used for collective functions, then processing efficiency improves, but system complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes network switching elements multi-functional by enabling them to perform both standard packet switching and collective function processing. Rather than adding dedicated hardware engines, the existing switches are configured to handle multiple tasks including data forwarding, data aggregation, and collective operation coordination, thereby improving processing efficiency without proportionally increasing system complexity.

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

Solution Approach 2:

The patent merges the functionality of dedicated offload engines with existing network switching elements. By combining the packet switching function with collective function processing capabilities in the same hardware component, the system achieves processing efficiency improvements while avoiding the complexity of separate dedicated hardware architectures.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9110860B2Topology-aware fabric-based offloading of collective functions
Publication Date: 2015.08.18 MELLANOX TECHNOLOGIES LTD(IL)
  • US9110860B2 patent drawing
  • US9110860B2 patent drawing
  • US9110860B2 patent drawing

AI summary

A computing method includes accepting a notification of a computing task for execution by a group of compute nodes interconnected by a communication network, which has a given interconnection topology and includes network switching elements. A set of preferred paths, which connect the compute nodes in the group via at least a subset of the network switching elements to one or more root switching elements, are identified in the communication network based on the given interconnection topology and on a criterion derived from the computing task. The network switching elements in the subset are configured to forward node-level results of the computing task produced by the compute nodes in the group to the root switching elements over the preferred paths, so as to cause the root switching elements to calculate and output an end result of the computing task based on the node-level results.