Title: Fault-Tolerance and Reconfiguration of Circulant Graphs and Hypercubes
1Fault-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_at_cs.dal.ca
2(No Transcript)
3(No Transcript)
4(No Transcript)
5Definition (Circulant Graph) An n-node circulant
graph, denoted Gal, a2,..,ain, consists of
set of nodes numbered 0,1,.., n-1 and a set of
integers called offsets denoted Aal, 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.
6k-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 Gal,
a2, .., ai n, we can construct a circulant
graph C with nk nodes which is a k-ft solution
of G and has the offsets al, al1,
al2,..,alk? a2 ,a21,a22,..,a2k? ..?ai,
ai1,..,aik.
Examples - G15 has a 1-ft of the form
C1,26 and a 2-ft of form C1,2,37. -
G1,3,6,818 has a 1-ft of the form
C1,2,3,4,6,7,8,919. - G3,4,5,618 has a 1-ft
of the form C3,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.
7Finding 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) lt sl, s2 ,.., S
?n/2? gt 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
G1,3,6,818 as shown below.
m S(n,m) offsets 1,3,6,8
n18 1 S(18,1)lt1,2,3,4,5,6,7,8,9gt partition1
,3,6,8 5 S(18,5)lt5,8,3,2,7,6,1,4,9gt
partition8,3, 6,1 7 S(18,7)lt7,4,3,8,1,6,
5,2,9gt partition3,8,1,6
9k-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 lt (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
Gmjal,a2,..,ai n - For each graph Gmjal,a2,..,ai n generate
above, construct its corresponding block graph
BL(Gmjal,a2,..,ai n) by multiplying - its offsets by the inverse m-l (mod n)
- 4. For each block graph BL(Gmjal,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( (nk) log k n A).
10Example Some circulant graphs and their 1-ft and
2-ft solutions.
Example Generating a 1-ft of G1,3,6,818 by
the above algorithm.
graph G 1-ft of G 2-ft of G
G1, 2 10 H1,2,3 11 H3,4,5,6 12
G1, 2, 4 16 H4,5,6,7 17 H4,5,6,7,8 18
G1, 6, 11 24 H5,6,7,8 25 H5,6,7,8,9 26
G1, 3,5,9 27 H6,7,8,9,10 28 H9,10,11,12,1
3,14 29
11Reconfiguring 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 C2,37
of G15, where C is constructed by grouping the
offsets of G into 2-distance subsets, i.e. m2.
Faulty nodes F 3,6.
12- 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
G1,21,..,2d-2 2d.
Example
13 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.
14Reconfiguring 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
lt 2d-1, assign X a d-bit binary number equal to
X - If 2d-1 X lt 2d-2 2d-1,
assign X a d-bit binary number equal to X2d-2
- If 2d-2 2d-1 X lt 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 ).