# Butterfly Networks

Topics: Binary tree, Leaf node, Trees Pages: 6 (1194 words) Published: January 22, 2013
BUTTERFLY NETWORK

Butterfly network is a network with 2q nodes and q + 1 columns as an unfolded q-cube in order to facilitate the discussion, visualization, and analysis of hypercube routing algorithms. However, a butterfly network can be viewed as a parallel processing architecture in its own right. A butterfly architecture (Fig. A, left) has p = 2 q(q + 1) processors of maximum degree d = 4, a diameter of 2q = ∪(log p), and a bisection width of ( – 1)2 q+1 + 0(2 q) = ∪(p/log p). A wrapped butterfly architecture is obtained if we superimpose or merge the nodes in Columns 0 and q of an ordinary butterfly. The resulting network has p = 2 qq processors, a uniform node degree of 4, a diameter of roughly 1.5q, and a bisection width of 2 q . Each node in a butterfly can be identified by its row and column numbers (x , y), where 0 ≤ x < 2 q – 1 and 0 ≤ y ≤ q (q – 1 for wrapped butterfly). Node (x, y) of a butterfly is connected to the four nodes (x, y – 1 ), (x, y + 1), (N y –1(x), y – 1), and (Ny (x), y + 1), if they exist.

[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]

Figure (A) : Butterfly and wrapped butterfly networks.

In the case of wrapped butterfly, the expressions y ± 1 for the column numbers are evaluated modulo q. If you shift the columns of a butterfly network cyclically, or permute them in any way, you can redraw the figure (by exchanging rows) such that it looks exactly the same as before. Figure (A) shows an example in which the connection pattern between Columns 0 and 1 has been interchanged with that between Columns 1 and 2. It is easily seen that if we redraw the network by interchanging the places of Rows 1 and 2 as well as Rows 5 and 6, the resulting diagram will look exactly like the left-hand diagram in Fig. (A). The butterfly network is quite versatile. Many other independently developed networks are in fact butterfly network in disguise. Take a fat tree, for example. Recall that a major disadvantage of a binary tree architecture is its small bisection width, making the root node a bottleneck when a large number of long-distance communications must be performed.

[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]

Figure (B) : Butterfly network with permuted dimensions.

A fat tree is a treelike network specifically designed to remedy this problem. In a fat tree, the link multiplicity or capacity increases as we approach the root node (Fig.C). Of course, taking advantage of the added links or link capacities would require that the nodes near the root be different (have higher communication performance). To avoid this heterogeneity, one might divide each such node into a number of simpler, lower-performance nodes. The resulting architecture, shown in Fig. D, is a butterfly network. We see that even if each of the eight leaf nodes wants to send a message to another leaf node, the messages can be routed through the eight root nodes with little or no conflict. Anecdote. It has been suggested that because trees in nature are thicker near the root and thinner near the leaves, we should call the networks shown in Fig. C trees and refer to regular binary trees as skinny trees. The structure of the fat tree, as drawn in Fig. D, is such that the communication bandwidth between Level-i and Level-(i+1) nodes is the same for all i (16 wires or channels in our example). This is based on the worst-Case assumption that all messages entering a node from below must be directed to its parent. Real communication patterns are more local so that only a fraction of the messages entering a node from below must be routed up to the parent; most are addressed to nodes within the same subtree.

[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]

Figure (C) : Two representations of a fat tree.

[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]
[pic]

Figure (D) : Butterfly network redrawn as...