Embedding Arbitrary Binary Trees in a Hypercube

An important issue in the design of algorithms for a hypercube multiprocessor is to minimize communication overhead by matching the computational structure of the algorithm to the underlying physical structure of the machine. One computational structure of particular interest is binary trees. Although in general any tree can be embedded in a sufficiently large hypercube in practice it is important to minimize the number of dimensions needed by the embedding. The algorithm presented in this paper embeds an N node binary tree into a hypercube with expansion O(log N) and unit dilation.