Topology-Aware Fabric-Based Offloading of Collective Functions
First Claim
1. A computing method, comprising:
- 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;
identifying, based on the given interconnection topology and on a criterion derived from the computing task, a set of preferred paths in the communication network that connect the compute nodes in the group via at least a subset of the network switching elements to one or more root switching elements; and
configuring the network switching elements in the subset 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.
5 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
21 Claims
-
1. A computing method, comprising:
-
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; identifying, based on the given interconnection topology and on a criterion derived from the computing task, a set of preferred paths in the communication network that connect the compute nodes in the group via at least a subset of the network switching elements to one or more root switching elements; and configuring the network switching elements in the subset 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing method, comprising:
-
for a computing task that is assigned for execution by a group of compute nodes, receiving multiple node-level results of the computing task from the compute nodes by two or more network switching elements that are different from the compute nodes assigned to execute the computing task; reducing a respective portion of the node-level results received in each network switching element to produce a respective single interim result, and forwarding the interim results to one or more root switching elements; and computing and outputting an end result of the computing task by the root switching elements. - View Dependent Claims (12)
-
-
13. A computing apparatus, comprising:
-
an interface coupled to communicate with a communication network, which includes network switching elements that interconnect compute nodes according to a given interconnection topology; and a processor, which is configured to accept a notification of a computing task for execution by a group of the compute nodes, to identify, based on the given interconnection topology and on a criterion derived from the computing task, a set of preferred paths in the communication network that connect the compute nodes in the group via at least a subset of the network switching elements to one or more root switching elements, and to configure the network switching elements in the subset 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. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
- 20. A computing system comprising two or more network switching elements, which are configured to receive multiple node-level results of a computing task that is assigned for execution by a group of compute nodes different from the switches, to reduce a respective portion of the node-level results received in each network switching element to produce a respective single interim result, and to forward the interim results to one or more root switching elements so as to cause the root switching elements to compute and output an end result of the computing task.
Specification