CS 662 Theory of Parallel Algorithms
Networks part 3
[To Lecture Notes Index]
San Diego State University  This page last updated April 18, 1996
The rdimensional shuffleexchange graph has:

nodes

edges
Label the nodes from 0 to
1
in binary
Two nodes U and V are connected directly by an edge if either:
 U and V differ in only in the last bit (exchange edge)

 U is a left or right cyclic shift of V (shuffle edge)
2dimensional shuffleexchange
3dimensional shuffleexchange
ShuffleExchange Simulation of Hypercube Algorithms
A normal hypercube algorithm is one in which:

 only one dimension of edges is used per step

 only consecutive dimensions are used in consecutive steps

 each step can consist of computation and a communication down edges of a
single dimension
Theorem
 An normal algorithm that runs in T(n) steps on an rdimension hypercube can
be run in 2T(n)  1 steps on an rdimension shuffleexchange
proof:
 Assume that the first dimension of edges used in the algorithm is K

 Map the process at hypercube node
to shuffleexchange node

 Now processes linked by Kdimension edges in hypercube are connected by
exchange edges in shuffleexchange

 So run first step of algorithm

 Now next step of algorithm either uses K+1 or K1 dimension edges of
hypercube

 If K+1, map process stored in node
to node
by using shuffle edges.

 This take one step

 Now run the next step of algorithm

 If K1, map process stored in node
to node
by using shuffle edges in reverse direction


 Hence each "step" of the hypercube algorithm takes 2 "steps" on the
shuffleexchange except the first step
Example  Hypercube Broadcast on ShuffleExchange
Broadcast value from node 0
Map hypercube nodes to shuffleexchange nodes
Send X down exchange edge
Move
processes via shuffle edges
Send X down exchange edges
Move processes via shuffle edges
Send X down exchange edges