next up previous
Next: 3.3 On-line reconfiguration Up: 3 Routing around faults Previous: 3.1 The fault model

3.2 The Leighton-Maggs algorithm

 

The Leighton-Maggs algorithm consists of two parts. The first part, called erasure, removes some of the outputs from the network. The second part, called fault propagation, removes some of the inputs. The goal of the reconfiguration algorithm is to leave intact a large working subnetwork in which every input can reach every output, and in which the splitters have tex2html_wrap_inline817 -expansion, where tex2html_wrap_inline819 may be less than tex2html_wrap_inline821 , but must be greater than one. The proof that a fault-free multibutterfly can route tex2html_wrap_inline823 permutations in tex2html_wrap_inline825 time holds for any expansion tex2html_wrap_inline827 greater than one [6, 12]. By a similar argument, if tex2html_wrap_inline829 , the subnetwork also can route any tex2html_wrap_inline831 permutations between its inputs and outputs in tex2html_wrap_inline833 time [6].

The erasure part of the algorithm consists of removing those splitters that contain too many faults. This step requires some off-line computation. Each splitter in the multibutterfly is examined, and if more than an tex2html_wrap_inline835 fraction of its input switches are faulty, where tex2html_wrap_inline837 and tex2html_wrap_inline839 , then the splitter is ``erased'' from the network as are all of the switches that can be reached from the splitter, including outputs on level tex2html_wrap_inline841 . In the next section, we will present an on-line algorithm for counting the number of faults in each splitter.

The second part of the algorithm, fault-propagation, is executed by the switches themselves. Working from level tex2html_wrap_inline843 backwards, each switch checks if at least half of its upper output edges lead to faulty switches that have not been erased, or if at least half of its lower output edges lead to faulty switches that have not been erased. If so, then it declares itself to be faulty (but does not erase itself). Such a fault is called a propagated fault.

Finally, all of the remaining faulty switches are erased. Since every remaining input in every splitter is linked to at least tex2html_wrap_inline845 working upper outputs (if the descendant multibutterfly outputs have not been erased) and tex2html_wrap_inline847 working lower outputs (if the corresponding multibutterfly outputs have not been erased), the network has tex2html_wrap_inline849 -expansion.

The following pair of lemmas bounds the number of removed inputs and outputs in the case of worst-case faults and random faults, respectively.

  lemma196

  lemma202



next up previous
Next: 3.3 On-line reconfiguration Up: 3 Routing around faults Previous: 3.1 The fault model



Bruce Maggs
Mon Jul 22 19:56:03 EDT 1996