Methods and systems for all-to-all communications in distributed computing systems
OwnerYiran LEI, Daniar KURNIAWAN +2inventors
InventorsYiran LEI, Daniar KURNIAWAN, Heetaek JEONG, Eriko NURVITADHI
Life of this patent
Estimating the term…
Abstract
Technologies for scheduling all-to-all communication in a distributed system is disclosed. An example method includes determining two categories of network links that differ in characteristics that affect data transfer among devices, obtaining list of data to be transferred from sender devices to receiver devices, identifying data shuffling operations, data transfer operations, and data reconstruction operations with respect to the two categories of network links, and causing execution of the data shuffling operations, data transfer operations, and data reconstruction operations.
Claims20
A computer-implemented method for scheduling all-to-all communication in a distributed system, comprising:
- receiving information indicating two categories of network links that connect devices to one another in the distributed system, wherein a first category and a second category of the two categories differ in at least one characteristic affecting data transfer;
- obtaining an indication of data to be transferred from a plurality of sender devices to a plurality of receiver devices in the distributed system;
- identifying data shuffling operations for devices connected via the first category of network links to load-balance data that will be sent from each of the sender devices;
- identifying data transfer operations for devices connected via the second category of network links to send data from each sender device to a distinct, single receiver device of the receiver devices;
- identifying data reconstruction operations for devices connected via the first category of network links to restore data to each of the receiver devices in accordance with the indication;
- and
- causing execution of the data shuffling operations, data transfer operations, and data reconstruction operations.
A system comprising:
- one or more processors;
- and
- one or more non-transitory computer-readable media collectively storing instructions that, when collectively executed by the one or more processors, cause the system to perform actions, the actions comprising:
- receiving information indicating two categories of network links that connect devices to one another, wherein a first category and a second category of the two categories differ in at least one characteristic affecting data transfer;
- obtaining an indication of data to be transferred from a plurality of sender devices to a plurality of receiver devices;
- identifying data shuffling operations for devices connected via the first category of network links to load-balance data that will be sent from each of the sender devices;
- identifying data transfer operations for devices connected via the second category of network links to send data from each sender device to a distinct, single receiver device of the receiver devices;
- identifying data reconstruction operations for devices connected via the first category of network links to restore data to each of the receiver devices in accordance with the indication;
- and
- causing execution of the data shuffling operations, data transfer operations, and data reconstruction operations.
A non-transitory processor-readable storage medium storing computer instructions that, when executed by one or more processors, cause actions to be performed, the actions comprising:
- receiving information indicating two categories of network links that connect devices to one another, wherein a first category and a second category of the two categories differ in at least one characteristic affecting data transfer;
- obtaining an indication of data to be transferred from a plurality of sender devices to a plurality of receiver devices;
- identifying data shuffling operations for devices connected via the first category of network links to load-balance data that will be sent from each of the sender devices;
- identifying data transfer operations for devices connected via the second category of network links to send data from each sender device to a distinct, single receiver device of the receiver devices;
- identifying data reconstruction operations for devices connected via the first category of network links to restore data to each of the receiver devices in accordance with the indication;
- and
- causing execution of the data shuffling operations, data transfer operations, and data reconstruction operations.
Dependencies are inferred from the claim text.