1 / 14

Fault-Tolerance and Reconfiguration of Circulant Graphs and Hypercubes

Fault-Tolerance and Reconfiguration of Circulant Graphs and Hypercubes. A. Farrag, Shituo Lou and Yao Qi Speaker: A. Farrag Faculty of Computer Science Dalhousie University Halifax, N.S., Canada, B3H 3J5 farrag@cs.dal.ca. The Problem

muriel
Download Presentation

Fault-Tolerance and Reconfiguration of Circulant Graphs and Hypercubes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fault-Tolerance and Reconfiguration of Circulant Graphs and Hypercubes A. Farrag, Shituo Lou and Yao Qi Speaker: A. Farrag Faculty of Computer Science Dalhousie University Halifax, N.S., Canada, B3H 3J5 farrag@cs.dal.ca

  2. The Problem Let G be a graph representing an interconnection network, where the nodes are processors and the edges are links. The problem is to design and reconfigure a k-fault-tolerant (k-ft) solution C for G, where C has as small degree as possible. We are interested in cases where G is either a circulant graph or a hypercube. Definition: (k-ft) A graph C is a k-ft solution of a graph G if, after removing any k nodes from C, the remainder of C must contain a subgraph isomorphic to G. Throughout, we assume C has k more nodes than G. Example: 0 0 5 1 4 1 2 4 3 2 A 1-ft of G[1: 5 ]. 3 A Graph G[1: 5].

  3. The Problem Let G be a graph representing an interconnection network, where the nodes are processors and the edges are links. The problem is to design and reconfigure a k-fault-tolerant (k-ft) solution C for G, where C has as small degree as possible. We are interested in cases where G is either a circulant graph or a hypercube. Definition: (k-ft) A graph C is a k-ft solution of a graph G if, after removing any k nodes from C, the remainder of C must contain a subgraph isomorphic to G. Throughout, we assume C has k more nodes than G. Example: 0 0 0 5 1 5 1 4 1 2 4 2 4 3 3 2 A 1-ft of G[1: 5 ]. A 1-ft of G[1: 5 ]. 3 A Graph G[1: 5].

  4. The Problem Let G be a graph representing an interconnection network, where the nodes are processors and the edges are links. The problem is to design and reconfigure a k-fault-tolerant (k-ft) solution C for G, where C has as small degree as possible. We are interested in cases where G is either a circulant graph or a hypercube. Definition: (k-ft) A graph C is a k-ft solution of a graph G if, after removing any k nodes from C, the remainder of C must contain a subgraph isomorphic to G. Throughout, we assume C has k more nodes than G. Example: 0 0 0 0 5 1 5 1 5 1 4 1 2 4 2 4 2 4 3 3 2 A 1-ft of G[1: 5 ]. A 1-ft of G[1: 5 ]. 3 3 A Graph G[1: 5]. Optimal 1-ft of G[1: 5 ].

  5. 0 101 100 7 1 001 000 6 2 111 110 5 3 010 011 4 A circulant graph G[1,2:8]. 3-dimensional hypercube. Definition: (Circulant Graph) An n-node circulant graph, denoted G[al, a2,..,ai:n], consists of set of nodes numbered {0,1,.., n-1} and a set of integers called offsets denoted A={al, a2, .., ai}. Two nodes x and y are joined by an edge iff there is an offset ai such that x - y = ± ai mod n. Definition: (Hypercube) A graph H with 2d nodes is called a d-dimensional hypercube if each of its nodes can be (uniquely) represented as a d-bit binary number such that two nodes are joined by an edge iff their binary numbers differ in only one corresponding bit.

  6. k-ft Solutions of circulant graphs The original theorem to construct a k-ft of a circulant graph G is: Theorem [Dutt and Hayes]: Given a graph G[al, a2, .., ai: n], we can construct a circulant graph C with n+k nodes which is a k-ft solution of G and has the offsets: {al, al+1, al+2,..,al+k} {a2 ,a2+1,a2+2,..,a2+k} ..{ai, ai+1,..,ai+k}. Examples: - G[1:5] has a 1-ft of the form C[1,2:6] and a 2-ft of form C[1,2,3:7]. - G[1,3,6,8:18] has a 1-ft of the form C[1,2,3,4,6,7,8,9:19]. - G[3,4,5,6:18] has a 1-ft of the form C[3,4,5,6,7 :19]. Observation: Constructing a k-ft of G by the above theorem is most efficient when the offsets of G are consecutive.

  7. Finding k-ft solutions using offsets partitioning This generalizes the original theorem as follows: Given an n-node circulant graph G, building a k-ft C for G is done as follows: 1. First, we partition the set A of offsets of G in many ways; each leads to one k-ft solution; 2. Then, we compare all k-ft solutions generated to select the one with the least node degree; Partitioning of the offsets of G is be done by grouping them into subsets (called m-distance subsets). A new partition will be formed for every choice of an integer m that is relatively prime to n.

  8. Algorithm Partition(G,A,n,m) { /* m and n are relatively prime. */ 1. Construct a sequence S(n,m)= < sl, s2 ,.., S n/2 > where si is computed as follows: if [i ∗ m (mod n) ] ≤ n/2, then si = [i ∗ m (mod n)]; otherwise, si = n - [i ∗ m (mod n)]; 2. For every element si in S(n,m), if si appears as an offset in A, we keep it; otherwise, we replace it by a separation symbol, say “&”; 3. For every maximal subsequence in S(n,m) that does not include the symbol "&" , form an (m-distance) subset corresponding to it; 4. Return a partition consisting of all m-distance subsets formed above; } Example: For every value of m listed below, the above algorithm partitions the offsets of G[1,3,6,8:18] as shown below. m S(n,m) offsets = {1,3,6,8} n=18 1 S(18,1)=<1,2,3,4,5,6,7,8,9> partition={{1},{3},{6},{8}} 5 S(18,5)=<5,8,3,2,7,6,1,4,9> partition={{8,3}, {6,1}} 7 S(18,7)=<7,4,3,8,1,6,5,2,9>partition={{3,8,1,6}}

  9. k-ft Algorithm for Circulant graphs By repeating the partitioning algorithm for different values of m, we can form a k-ft for every such choice, as shown below. The solutions obtained will be compared to select the one with the least node degree. Algorithm Fault-tolerance(G,k) { • Generate all integers {ml,m2,..,mj} such that for all mj, we have gcd(n,mj)=1 and l ≤ mj < (n/2); • For each mj generated above, find the corresponding partition of the offsets using Algorithm Partition(G,A,n,mj) given before. The graph corresponding to this partition is denoted Gmj[al,a2,..,ai: n]; • For each graph Gmj[al,a2,..,ai: n] generate above, construct its corresponding block graph BL(Gmj[al,a2,..,ai: n]) by multiplying its offsets by the inverse m-l (mod n); 4. For each block graph BL(Gmj[al,a2,..,ai: n]), use the original Theorem to construct its k-ft solution; 5. Compare all k-ft solutions constructed in (4), and select the one with the least node-degree; } Complexity: O( (n+k) log k + n |A|).

  10. m partition graph block graph 1-ft solution 1 {{1},{3},{6},{8}} Gm[1,3,6,8: 18] BL(Gm[1,3,6,8:18]) C[1,2,3,4,6,7,8,9:19] 5 {{8,3}, {6,1}} Gm[8,3,6,1: 18] BL(Gm[2,3,6,7:18]) C[2,3,4,6,7,8 :19] 7 {{3,8,1,6}} Gm[3,8,1,6: 18] BL(Gm[3,4,5,6:18]) C[3,4,5,6,7 :19] Example: Generating a 1-ft of G[1,3,6,8:18] by the above algorithm. Example: Some circulant graphs and their 1-ft and 2-ft solutions. graph G 1-ft of G 2-ft of G G[1, 2: 10] H[1,2,3: 11] H[3,4,5,6: 12] G[1, 2, 4: 16] H[4,5,6,7: 17] H[4,5,6,7,8: 18] G[1, 6, 11: 24] H[5,6,7,8: 25] H[5,6,7,8,9: 26] G[1, 3,5,9: 27] H[6,7,8,9,10: 28] H[9,10,11,12,13,14: 29]

  11. 0 0 0 1 0 0 1 1 2 1 6 6 2 2 4 2 4 2 3 5 5 4 4 4 3 1 3 3 3 Fig 3 Renumbering healthy nodes of C. Fig 4 Identifying relevant edges. Fig 5 A subgraph identical to G. Fig 2 Excluding faulty nodes 3 and 6 from C. Fig 1 Graph C[2,3:7]. Reconfiguring a k-ft Solution Reconfiguring a k-ft C of G is done as follows (F here is a set of k faulty nodes and m is the integer used to partition the offsets into m-distance subsets before building C). Algorithm Reconfigure_C2G (C,G,m,F) {/* Complexity: O( (n +k) log k + n |A|). */ 1. Exclude every faulty node (and its adjacent edges) from C; 2. Identify a subgraph in C isomorphic to G as follows: 2.1 Renumber the nodes in the same order along the cycle as before reconfiguration, starting at any healthy node as 0, and skipping every faulty node, i.e., after this is done, the healthy nodes will be numbered as 0, 1,.., n−1; 2.2 Include every edge (X,Y), where X and Y are healthy nodes satisfying: X−Y= ±ai ∗ m−1 (mod n) for any offset ai in G; 3. Identify (and return) a subgraph identical to G by multiplying each node of the subgraph formed in Step-2 by m (mod n); } Example: Reconfiguring a 2-ft solution C[2,3:7] of G[1:5], where C is constructed by grouping the offsets of G into 2-distance subsets, i.e. m=2. Faulty nodes F= {3,6}.

  12. 101 f(000)= 0 100 f(101)= 7 f(001)= 1 001 000 f(010)= 2 f(100)= 6 110 111 f(011)= 3 f(111)= 5 010 011 f(110)= 4 Embedding H in G[1,2:8]. A 3-dimensional hypercube H. • Constructing a k-ft Solution for a Hypercube • A k-ft for a hypercube H can be built as follows: • first, embed H in a circulant graph G (using theorem below), then • construct a k-ft C for G (using offsets partitioning). Theorem: The d-dimensional hypercube (with d ≥ 2)can be embedded in a circulant graph G[1,21,..,2d-2 : 2d]. Example:

  13. The costs of a k-ft for d-dimensional hypercube d? k=4 k=8 k=16 k=32 d=5 (09,12) (13,17) (17,24) (25,32) d=6 (13,15) (17,22) (25,33) (33,48) d=7 (18,18) (25,27) (33,42) (49,65) d=8 (23,21) (33,32) (49,51) (55,82) d=9 (28,24) (43,37) (66,60) (97,99) Table: Each entry below records a pair of values denoting the costs, (as the number of the offsets), of two k-ft solutions that are constructed for the same n-dimensional hypercube by our method (in 1st value) and by related work (in 2nd value). Comparison with related work Our results for the d-dimensional hypercube complement those by related work [Bruck, Cypher and Ho], i.e., their method favors smaller values of k and larger values of d; whereas ours performs better for larger values of k, and smaller values of d.

  14. Hypercube H circulant graph G k-ft C of G Extract H from G Reconfigure_C2G Reconfiguring Fault-tolerant Hypercube Algorithm Reconfigure-C2H (C, G, H, m, F) { 1. Reconfigure-C2G (C, G, m, S); /* Return a subgraph G */ 2. Extract a subgraph H from G as follows: 2.1 For every node X in G, renumber X using hypercube notation as: - If X < 2d-1, assign X a d-bit binary number equal to X; - If 2d-1 ≤ X < 2d-2 + 2d-1, assign X a d-bit binary number equal to X+2d-2 ; - If 2d-2 + 2d-1 ≤ X < 2d, assign X a d-bit binary number equal to X-2d-2 ; 2.2 Include every edge (X,Y) of G if X and Y differ in only one corresponding bit (and agree on the rest);/* these are edges of hypercube */ 3. Return the subgraph formed above; } Complexity: Reconfiguration is O( (2d + k) log k + d 2d ).

More Related