Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

FAST SELF-STABILIZING

MINIMUM SPANNING TREE


CONSTRUCTION

L´elia Blin, Shlomi Dolev, Maria Gradinariu, Potop-Butucaru and


Stephane Rovedakis

Presented by - Abiola Famurewa & Samuel Idowu


SELF-STABILIZING SOLUTION FOR
MST CONSTRUCTION
 This paper is based on the extension of GHS algorithm in self-
stabilizing setting

 there already exists self-stabilizing solutions for the MST


construction, but none of them considered the extension of
Gallager, Humblet and Spira algorithm (GHS) to self-
Stabilizing settings.

 Advantages Of Extending GHS Algorithm


 It unifies the best properties of designing large scale MSTs
 it is fast and totally decentralized
 it does not rely on any global parameter of the system
GUPTA AND SRIMANI SOLUTION
 Gupta and Srimani presented in a journal titled “Self-stabilizing
multicast protocols for ad hoc networks” the first stabilizing
algorithm for MST problem.
 Executing the algorithm requires that every node should store the
cost of all paths from it to all the other nodes.
Assumptions:
 Every node knows the number n of nodes in the network
 Every node u stores the weight of the edge eu,vplaced in the
MST for every node v ≠ u
 Algorithm requires Ω(∑v≠u log ω(eu,v )) bits of memory at node u
 Memory requirement at each node is Ω (n log n) bits
GUPTA AND SRIMANI SOLUTION
Drawback
 Lack of scalability – Not scalable since each node has to know
and maintain information for all the nodes in the system
Time Complexity
 The time complexity in synchronous setting is , O(n) round as
announced by the authors
 In asynchronous setting the complexity is Ω(n2) rounds
HIGHAM AND LIANG SOLUTION
 A different approach for the message passing model, was
proposed by Higham and Liang in a journal titled “Self-Stabilizing
minimum spanning tree construction on message-passing
networks”.
 Every edge checks whether it eventually belongs to the MST or
not.
 The memory used by each node is O(log n) bits
 The information exchanged between neighboring nodes is of size
O( n log n) bits
Assumption:
 Higham and Liang Solution assumes that each node has access
to a global parameter of the system: the diameter.
ASSUMPTION AND DRAWBACK
Drawback:
 Its computation is expensive in large scale systems and even
harder in dynamic settings.
Time Complexity:
 Time complexity of this approach is O(mD) rounds.
 where m and D are the number of edges and the diameter of the
network respectively.
 O(n3) rounds in the worst case.
FOCUS OF THE PAPER
 The main challenge addresses in this paper is to design fast and
scalable self-stabilizing MST with little memory.
 The paper extends the GHS algorithm to self-stabilizing settings
and keep compact its memory space by using a self-stabilizing
extension of the nearest common ancestor labeling scheme.
Assumption:
 The proposed algorithm does not make any assumption on the
network size
 No assumption on the existence of an priori known root.
Complexity:
 The convergence time is O(n2) asynchronous rounds
 Memory space complexity per node is O(log2n) bits.
MODEL AND NOTATIONS
 Connected network G = (V,E,ω)
 ω : E → R + is a positive cost function
 Nodesprocessors and edges bidirectional
communication links
 G = (V,E, ω) is a network in which the weight of the
communication links may change value.

 Processors asynchronously execute their programs consisting of


a set of variables and a finite set of rules

 Each guarded rule contains a Guard (Boolean) and an Action


(node variable update)

 A local state of a node is the value of the local variables of the


node and the state of its program counter
MODEL AND NOTATIONS
 A configuration of the system G = (V,E) is the cross product of
the local states of all nodes in the system.

 Execution of an action at a node leads to transition from a


configuration to the next one

 Computation of the system:


 Weakly fair: if any action in G is continuously enabled along the
sequence, it is eventually chosen for execution
 maximal sequence of configurations: sequence is either infinite,
or it is finite and no action of G is enabled in the final global state.

 * The system can start in any configuration. In a worst case, all


the nodes may start in a corrupted configuration, but these faults
can be tackled by using self-stabilization techniques.
OVERVIEW OF SOLUTION
 paper propose to extend the Gallager, Humblet and Spira (GHS)
algorithm to self-stabilizing setting via a compact informative
labeling scheme.

 Advantages of result:
 Appealing for large scale systems
 compact since it uses only logarithmic memory in the size of the network
 Scales well since it does not rely on any global parameter of the system
 It is fast — its time complexity is the better known in self-stabilizing settings
 Additionally, it self-recovers from any transient fault.

 “FRAGMENT” is the central notion in the GHS approach. It is a


partial spanning tree of the graph, i.e., a fragment is a tree
which spans a subset of nodes.
GHS MST CONSTRUCTION
 The GHS minimum spanning tree construction
 Initially each node is a fragment.
 ∀ fragment F, the GHS algorithm identifies the MEF and merges the
two fragments endpoints of MEF
○ MEF - The minimum-weight outgoing edge of a fragment F
 more than two fragments may be merged concurrently
 The merging process is recursively repeated until a single fragment
remains
 The result is a MST { “blue rule” for MST construction }

 **The direct application of the blue rule allows the system to


reconstruct a MST and to recover from faults which have divided
the existing MST

 With more severe faults, the application of “blue-rule” only is not


sufficient to reconstruct a MST
GHS MST CONSTRUCTION
 A combination of blue-rule with another method, referred to as “red-
rule”.
 The red-rule removes the heaviest edge from every cycle
 The resulting configuration contains a MST.
  THE RED RULE
 Given a spanning tree T of G, ∀ edge e of G ∉ T, e is added to T, thus
creating a (unique) cycle
 This cycle is called a fundamental cycle, denoted by Ce
 If e is not the edge of maximum weight in Ce
 The edge of maximum weight can be removed since it is not part of any
MST.
 Proposed algorithm uses both blue-rule and red-rule
 It uses the blue-rule to construct a spanning tree the red rule to
recover from invalid configurations.
GHS MST CONSTRUCTION
 Both red & blue rules use self-stabilizing labeling scheme algorithm
called NCA-L to identify both fragments and fundamental cycles.
 NCA-L : Nearest Common Ancestor Labeling

VARIABLES USED BY NCA-L AND MST MODULES


 For any node v ∈ V(G), we denote by N(v) the set of all neighbors of v in
G.
 Pv: the parent of v in the current spanning tree
 Lv : the label of v composed of a list of pairs of integers where each pair is
an identifier and a distance
 sizev : a pair of variables, the 1st one is an integer the number of nodes in
the sub-tree rooted at v and the 2nd is the identifier of the child u of v with
the maximum number of nodes in the sub-tree rooted at u.
 mwev : the minimum weighted edge composed by a pair of variables
SELF-STABILIZING NCA-L
 heavy edge - is an edge between a node u and one of its children v of
maximum number of nodes in its sub-tree
 light edges - The other edges between u and its other children
 heavy node: if the edge between v and its parent is a heavy edge,
otherwise v is called light node.
  The idea of the scheme is as follows:
 T is recursively divided into disjoint paths: heavy and light paths
 each node v maintains a variable named sizev which is a pair of integers
 based on the value of variable sizev at each node v ∈ T, each node of T
can compute its label.
 The label of a node v stored in lv is a list of pair of integers
 Each pair of the list contains the identifier of a node and a distance to the
root of the heavy path (i.e. path including only heavy edges)
‘NCA-L’ LABELING SCHEME

 NCA-L algorithm is used to find the minimum weighted edges


 it is also used to detect and destroy cycles since the initial
configuration may not be a spanning tree.
SELF-STABILIZING NCA-L
 NCA-L algorithm is composed of two rules
 Rule Rʘ – creates a root or breaks cycles [Root creation]
 Rule Rl - produce a proper labeling [label correction]

 A node v with an incoherent parent or present in a cycle executes


Rʘ. Following the execution of this rule node v becomes a root
node
 Rule Rl helps a node v to compute the number of nodes in its
sub-tree (stored in variable sizev ) and provides to v a coherent
label.
SELF-STABILIZING MST
 The algorithm executes two phases:
 The MST correction
 The MST fragments merging

 **Assumptions: merging operations have a higher priority than the


recovering operations. i.e the system recovers from an invalid
configuration if and only if no merging operations is possible.

The minimum weighted edge and MST correction:

 For two nodes u and v with e = (u,v), a non tree edge, if the nearest
common ancestor does not exist then u and v are in two distinct
fragments. Otherwise u and v are in the same fragment F and the
addition of e to F generates a cycle
.
SELF-STABILIZING MST
The minimum weighted edge and MST correction:

 Two rules used:


 Rule Rmin [Minimum computation]
 Rule R† [MST Correction ]

 Rule Rmin computes from the leaves to the root the minimum
outgoing edge e = (u,v)
 **In general: Rule Rmin computes the outgoing-edges and the
fundamental cycles, while Rule R† is used to recover from a false
tree.
SELF-STABILIZING MST
FRAGMENTS MERGING
In this phase, 2 rules are executed:
 Rule R⋈ [merging]
 Rule RƟ [End merging]

 When a root r of Fu (fragment) has stabilized its variable mwe i.e.


the weight of the edge and a common ancestor
** The information about e are stored in the variable mwe
 it starts a merging phase (Rule R⋈ ), here the nodes in the path
between r and u are reoriented from r to u
 The merging process is repeated until a single fragment is obtained
 Rule RƟ is executed
CONCLUSION
 The extension of GHS algorithm gave a result with
advantages appealing to large scale systems. Time
complexity is O(n2) rounds and space complexity is
o(log2n).

You might also like