• Aucun résultat trouvé

High degree nodes yield undesirable effects

N/A
N/A
Protected

Academic year: 2022

Partager "High degree nodes yield undesirable effects"

Copied!
33
0
0

Texte intégral

(1)

L. Blin, M. Potop‐Butucaru, 

S. Rovedakis

(2)

Motivations

High degree nodes yield undesirable effects

In general networks

High congestion

High attack probability

In Ad‐hoc networks 

More collisions  => low bandwidth

Theoretical insterst

(3)

State of the arts

Self‐stabilizing tree constructions

Breadth First Search trees (BFS):

[Y. Afek, S. Kutten and M. Yung, WDAG, 1991]

[S. Dolev, A. Israeli and S. Moran, PODC, 1990]

Depth First Search trees (DFS):

[Z. Collin and S. Dolev, IPL, 1994]

[T. Herman, PhD thesis, 1991]

Minimum Diameter Spanning trees:

[J. Burman and S. Kutten, DISC, 2007]

[F. Butelle, C. Lavault and M. Bui, WDAG, 1995]

Minimum weight Spanning Trees (MST):

[L. Higham and Z. Liang, DISC, 2001]

[G. Antonoiu and P.K. Srimani, Euro‐par, 1997]

Shortest Paths trees:

[S. Delaët, B. Ducourthial and S. Tixeuil, SSS, 2005]

(4)

MDST problem

Minimum Degree Spanning Tree (MDST):

G=(V,E) is a unweighted undirected graph

Δ(T) is the maximum degree of subgraph T 

The goal is

1. to construct a tree T spanning V,

2. minimizing Δ(T).

(5)

NP‐Hard problem

Hamiltonian path (NP‐Hard)

(6)

Outline

Sequential algorithm for MDST problem

[M. Fürer and B. Raghavachari, SODA, 1992]

Introduction to Self‐Stabilization paradigm

Our Self‐Stabilizing algorithm for MDST problem

(7)

Sequential Algorithm for the MDST 

problem

(8)

Problem approximation

NP‐hard problem (Hamiltonian path)

We seek an approximation

Δ*: maximum degree of an optimal solution

Best approximation:  Δ(T) ≤ Δ*+1 

[M. Fürer and B. Raghavachari, SODA, 1992]

Algorithm [FR92] :

Initial state:  an arbitrary spanning tree, 

Perform every possible improvement (edge swap).

(9)

Definitions: Fundamental cycle

Fundamental cycle: cycle in T created by the add of  the non tree edge (u,v) to T, noted C(u,v).

T

(10)

Definitions: Improving edge

Improving edge:  edge (u,v) not in T, such that

max{deg(u),deg(v)} < Δ(T)‐1  and node w in C(u,v)  with deg(w)=Δ(T).

T

Degree=3

Improving edge

(11)

Definitions: Improvement

Improvement:  swap between an improving edge and  an edge adjacent to a maximum degree node

(i.e.  a node with a degree equal to Δ(T)).

Decrease by  1  the degree of a maximum degree node.

T

(12)

Sequential algorithm

Initially, we start with an arbitrary spanning tree

Until there is no improvement, run a new phase

A phase of algorithm:

Compute the maximum degree of the current tree T (i.e. 

computation of  ∆(T))

Perform an improvement

(13)

Example

Δ(T)=4 Δ(T)‐1=3

(14)

Example

Δ(T)=4 Δ(T)=4 Δ(T)‐1=3 Δ(T)=3

(15)

Example

Δ(T)=4 Δ(T)=2 Δ(T)‐1=3

(16)

Self‐Stabilization paradigm

(17)

Self‐Stabilizing Systems

Fault:  event which corrupts

memory (variables),

program counter,

Communication channels of nodes in the network.

Goal:  A self‐stabilizing system handle transient faults (Dijkstra, 74)

Legitimate configuration:  system configuration  (composition of local states) in which each node state  satisifies P (a desired property).

(18)

a Self‐Stabilizing Algorithm for the 

MDST problem

(19)

Model

Distinct identifiers

Asynchronous protocol (fine grained atomicity)

Message passing

Distributed system

Network = set of interconnected computers (nodes) 

FIFO and bidirectional channels

State of a node = its variables

System configuration = Local states of all nodes

Local vision of the system (no global information)

(20)

Self‐Stabilizing algorithm

Composition of 3 self‐stabilizing layers:

1. Construction of a spanning tree

2. Maximum degree computation of the current tree

3. Reduction of  the maximum degree

(21)

Construction and maintaining of a  spanning tree

Root of the tree = node of minimum id

Variables for node u:  root

u

, parent

u

Rules:  [Afek, Kutten and Yung, WDAG, 1991]

Coherent(u) : parentu Є N(u)u{u}  and  rootu = rootparentu

BetterRoot(u) :  v Є N(u), rootv < rootu

Update:

If  Coherent(u)  and  BetterRoot(u)   =>  u changes root

Init. State: If  ¬Coherent(u)  =>  u becomes a new root

(22)

Construction and maintaining of a  spanning tree

Root=9 Root=6 Root=7

Root=5 Root=5

3 5 7

9 6

No rule can be executed Update  Rule

Init. State  Rule

Root=3 Root=5Root=3

Root=9

Root=7

Root=3

Root=3

Root=6 Root=3

(23)

Construction and maintaining of a  spanning tree

Need of cycle deletion:

each node maintains its distance to the root (root:  dist=0,  others:  parent dist+1)

Root=3 Root=3 Root=3

Root=3 Root=3

3 5 7

9 6

Root=3 Dist=5

Root=3 Dist=4

Root=3 Dist=3

Root=3   Dist=1

Root=3 Dist=2 

3 5 7

9 6

(24)

Computation of max degree

max_degree

u

:  maximum degree of the current tree

If  ¬Coherent(u)

max_degreeu =  degree of u in the tree

Otherwise

Use of PIF protocol (Propagation of Information with Feedback) 

[Blin, Cournier, Villain, SSS, 2003], 

[Cournier, Datta, Petit, Villain, J. High Speed Networks, 2005]

Feedback phase : Propagation phase : 

(25)

Reduction of max degree

Works like [FR92], but for all fundamental cycles

Let a tree T, for each edge (u,v) T :

Find its fundamental cycle (DFS search),

Check if  (u,v) is an improving edge,

Perform an improvement (if improving edge).

Each edge is managed by the node with minimum id

(26)

Reduction of max degree

a b

c d

e

u

v

x

y [e,2],[d,2],[c,3]

[a,4],[b,3]

Δ(T)=4 T

(x,y) is not an improving edge

Δ(T)=3

: Search

(27)

Module Composition

An upper layer must not destabilize a lower one

Max. degree layer:

does not change parentu and distu

Degree reduction layer:

reduces the degree (higher degree =>  no improvement)

changes parentu (update distance to maintain tree coherency)

(28)

Conclusion and perspectives

We propose a self‐stabilizing algorithm resolving the  MDST problem

Best approximation (unless P=NP):   Δ(T) ≤ Δ*+1

Extension: 

Steiner tree [FR92]

Oriented Graphs 

Approximation:   Δ(T) ≤ Δ*+log n

(29)

Thank you

(30)

Approximation proof (1/2)

Theorem [FR92]: If G contains no edge between trees in  F, then Δ(T) ≤ Δ *+1.

S B

F

T

(31)

Approximation proof (2/2)

Lemma [FR92]: 

When algorithm completes,  Δ(T) ≤ Δ *+1.

Proof:

The algorithm stops only if there is no edge between trees in F.

T satisfies the conditions of the previous theorem and  thus we have Δ(T) ≤ Δ*+1.

Remark: The set SuB is a witness set which allows to 

check that Δ(T) ≤ Δ *+1.

(32)

Sequential algorithm

Blocking node:  node u with degree deg(u)=Δ(T)‐1, 

such that edge (u,v) not in T and node w in C(u,v) with

degree deg(w)=Δ(T).

(33)

Reduction of max degree

a b

c d

e

x

y [e,2],[d,2],[c,3]

[a,4],[b,3]

Δ(T)=4 T

(x,y) is not an improving edge (c,v) is not an improving edge because (c is a blocking node)

Δ(T)=3

: Search : Remove : Back

v

Références

Documents relatifs

• If there is no outgoing edge, that means that the maximum degree of this spanning tree cannot be improved, this node send a message ”stop” to its parents.. The ”stop” message

The first stage is a uniform randomized stabilizing unique naming protocol, and the second stage is a stabilizing MDST protocol, designed as a fair composition of

of a number of heterogeneous geographic areas. The model includes con- sideration of area differences in advertising response, media efficiency and impact, distribution levels in

Pendant toutes ces heures de pratique, le musicien développe des compétences motrices (rapidité, précision), de coordination motrice (e.g., synchronisation et indépendance

In order to allow constraint solvers to handle GIPs in a global way so that they can solve them eciently without loosing CP's exibility, we have in- troduced in [1] a

The proposed algorithm has been applied on a real problem for locating stations of a Carsharing service for electrical vehicles.. The good results we obtained in comparison to PLS

This algorithm combines an original crossover based on the union of independent sets proposed in [1] and local search techniques dedicated to the minimum sum coloring problem

running CPU time in seconds; rp: denotes the ratio y c + where y + is the capacity level where the algorithm detects that the periodicity level y ∗ is reached; vrs: number of