next up previous
Next: 5 Routing on shuffle-exchange Up: Randomized Routing and Sorting Previous: 3 Routing on meshes

4 Routing on butterflies

 

In this section we apply the scheduling algorithm from Section 2 to route N packets in tex2html_wrap_inline2759 steps on an N-node butterfly using constant size queues. We essentially duplicate the result of Ranade [29], but the proof is simpler.

In a butterfly network, each node has a distinct label tex2html_wrap_inline2763 , where l is its level and r is its row. In an n-input butterfly, l is an integer between 0 and tex2html_wrap_inline2775 , and r is a tex2html_wrap_inline2779 -bit binary number. The nodes on level 0 and tex2html_wrap_inline2783 are called the inputs and outputs, respectively. Thus, an n-input butterfly has tex2html_wrap_inline2787 nodes. For tex2html_wrap_inline2789 , a node labeled tex2html_wrap_inline2791 is connected to nodes tex2html_wrap_inline2793 and tex2html_wrap_inline2795 , where tex2html_wrap_inline2797 denotes r with the lth bit complemented. An 8-input butterfly network is illustrated in Figure 3. Sometimes the input and output nodes in each row are identified as the same node. In this case the number of nodes is tex2html_wrap_inline2803 . The butterfly has several natural recursive decompositions. For example, removing the nodes on level 0 (or tex2html_wrap_inline2807 and their incident edges leaves two tex2html_wrap_inline2809 -input subbutterflies.

   figure537
Figure 3: An 8-input butterfly network. Each node has a level number between 0 and 3, and a 3-bit row number. A node on level l in row r is connected to the nodes on level l+1 in rows r and tex2html_wrap_inline2829 , where where tex2html_wrap_inline2831 denotes r with the lth bit complemented.

theorem545

Proof:

Routing is performed on a logical network consisting of tex2html_wrap_inline2843 levels. The first tex2html_wrap_inline2845 levels of the logical network are linear arrays. The packets originate in these arrays, one to a node. Levels tex2html_wrap_inline2847 through tex2html_wrap_inline2849 form a butterfly network. Levels tex2html_wrap_inline2851 through tex2html_wrap_inline2853 consist of a butterfly with its levels reversed. The last tex2html_wrap_inline2855 levels are again linear arrays. Each packet has its destination in one of the arrays spanning levels tex2html_wrap_inline2857 to tex2html_wrap_inline2859 . Packets with the same destination are combined. The butterfly simulates each step of this logical network in a constant number of steps. Paths for the packets are selected using Valiant's paradigm; each packet travels to a random intermediate destination on level tex2html_wrap_inline2861 before moving on to its final destination. This strategy ensures that with high probability, say at least tex2html_wrap_inline2863 , where tex2html_wrap_inline2865 is a constant, the congestion is tex2html_wrap_inline2867 . Since the paths are chosen independently of the ranks for the packets, the scheduling algorithm can treat the paths as if they were fixed. Assuming that the paths have congestion tex2html_wrap_inline2869 , by Theorem 2.9 the scheduling algorithm delivers all of the packets in tex2html_wrap_inline2871 steps, with high probability, say at least tex2html_wrap_inline2873 . Thus, the probability that either the congestion is too large or that the scheduling algorithm takes too long to deliver the packets is at most tex2html_wrap_inline2875 .


to .667emto .667em

theorem552

Proof: If each input sends a single packet, the congestion will be tex2html_wrap_inline2883 , with high probability. Given paths with congestion tex2html_wrap_inline2885 , by Theorem 2.9 the delay is tex2html_wrap_inline2887 , with high probability.


to .667emto .667em



next up previous
Next: 5 Routing on shuffle-exchange Up: Randomized Routing and Sorting Previous: 3 Routing on meshes



Bruce Maggs
Mon Jul 22 22:57:44 EDT 1996