摘要 |
A data synchronization system, which in one embodiment, uses a ShuffleNet topology requiring an even number, N=2m, of nodes in the system. These nodes are organized into two sets, X=x0, . . . , xm-1 and Y=y0, . . . , ym-1, wherein the subscripts are always to be taken modulo m. Each "round" of communication entails simultaneously synchronizing the nodes in X with nodes in Y according to a matching between the two sets. The rounds are grouped into two "batches," batch Bj which consists of rounds R2j-1 and R2j-2 for j>/=1. During each odd batch B2j-1, each xi synchronizes with y2i+2j-2 and with y2i+2j-1. In another embodiment, the data synchronization is based on a hypercube scheme, wherein each node is labeled by a binary string and any two nodes with their labels differing by one bit are connected by an edge and only adjacent nodes, i.e. those nodes connected by an edge, can communicate and exchange data directly according to an update schedule. In a third embodiment, a hypercube scheme is used, but the number of nodes is assumed to be a power of 2 or N=2m. This embodiment, like the second embodiment, uses the labeling of nodes by their binary representation, but the matchings of nodes used to determine the update schedule is not confined to the hypercube edges. Instead, a general cyclic matching scheme is used.
|