Topology-Aware Fabric Offloading for Collective Functions
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If compute nodes process collective functions, then distributed computing is enabled, but application blockage occurs reducing overall performance
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.
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.
3Productivity
If dedicated hardware offload engines are used for collective functions, then processing efficiency improves, but system complexity increases
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.
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.
Data Source
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.


