fast self-stabilizing minimum spanning tree construction

Upload: samuel-streaming-idowu

Post on 07-Apr-2018

236 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    1/20

    Presented by - Abiola Famurewa & Samuel Idowu {[email protected]}

    Lelia Blin, Shlomi Dolev, Maria Gradinariu, Potop-Butucaru and

    Stephane Rovedakis

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    2/20

    This paper is based on the extension ofGHS algorithm in self-

    stabilizing setting

    there already exists self-stabilizing solutions for the MSTconstruction, 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

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    3/20

    Gupta and Srimani presented in a journal titled Self-stabilizingmulticast 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 (vu log (eu,v)) bits of memory at node u

    Memory requirement at each node is (n log n) bits

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    4/20

    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

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    5/20

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    6/20

    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.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    7/20

    The main challenge addresses in this paper is to design fast and

    scalable self-stabilizing MSTwith 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(log2

    n) bits.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    8/20

    Connected network G = (V,E,)

    y : E R + is a positive cost function

    y Nodesprocessors and edges bidirectional

    communication links

    y 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 ofvariables and a nite set of rules

    Each guarded rule contains a Guard (Boolean) and anAction(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

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    9/20

    A conguration 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:

    y Weakly fair: if any action in G is continuously enabled along the

    sequence, it is eventually chosen for execution

    y maximal sequence of configurations: sequence is either innite,

    or it is nite and no action of G is enabled in the nal 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.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    10/20

    paper propose to extend the Gallager, Humblet and Spira (GHS)

    algorithm to self-stabilizing setting via a compact informative

    labeling scheme.

    Advantages of result:

    y Appealing for large scale systemsy compact since it uses only logarithmic memory in the size of the network

    y Scales well since it does not rely on any global parameter of the system

    y It is fast its time complexity is the better known in self-stabilizing settings

    y 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.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    11/20

    The GHS minimum spanning tree construction

    y Initially each node is a fragment.

    y fragment F, the GHS algorithm identies the MEF and merges the

    two fragments endpoints of MEF

    MEF - The minimum-weight outgoing edge of a fragment F

    y

    more than two fragments may be merged concurrently

    y The merging process is recursively repeated until a single fragment

    remains

    y 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 whichhave divided

    the existing MST

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

    sufficient to reconstruct a MST

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    12/20

    A combination ofblue-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

    y Given a spanning tree TofG, edge e ofG T, e is added to T, thus

    creating a (unique) cycle

    y This cycle is called a fundamental cycle, denoted by Ce

    y If e is not the edge of maximum weight in Ce

    y 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 congurations.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    13/20

    Both red & blue rules use self-stabilizing labeling scheme algorithm

    called NCA-L to identify both

    fragments and fundamental cycles.

    NCA-L : Nearest Common AncestorLabeling

    For any node v V(G), we denote by N(v) the set of all neighbors ofvin

    G.

    Pv: the parent ofvin the current spanning tree

    Lv : the label of v composed of a list of pairs of integers where each pair is

    an identier 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 identier 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

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    14/20

    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

    y 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 ofT

    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 identier of a node and a distance to the

    root of the heavy path (i.e. path including only heavy edges)

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    15/20

    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.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    16/20

    NCA-L algorithm is composed of two rules

    y Rule R creates a root or breaks cycles [Root creation]

    y Rule Rl - produce a proper labeling [label correction]

    A node vwith an incoherent parent or present in a cycle executes

    R. Following the execution of this rule node vbecomes a root

    node

    Rule Rl helps a node vto compute the number of nodes in its

    sub-tree (stored in variable sizev ) and provides to va coherent

    label.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    17/20

    The algorithm executes two phases:

    y The MST correctiony The MST fragments merging

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

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

    The minimum weighted edge and MSTcorrection:

    For two nodes u and v with e = (u,v), a non tree edge, if the nearestcommon 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

    .

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    18/20

    The minimum weighted edge and MSTcorrection:

    Two rules used:

    y Rule Rmin [Minimum computation]

    y Rule R [MSTCorrection ]

    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.

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    19/20

    FRAGMENTS MERGING

    In this phase, 2 rules are executed:

    y Rule R [merging]

    y Rule R [End merging]

    Wh

    en a root r of Fu (fragment)h

    as 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

  • 8/6/2019 Fast Self-stabilizing Minimum Spanning Tree Construction

    20/20

    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).