lsrp: local stabilization in shortest path routing

Post on 17-Jan-2016

47 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

LSRP: Local Stabilization in Shortest Path Routing. Hongwei Zhang and Anish Arora Presented by Aviv Zohar. On the agenda. A quick overview of routing algorithms The concept of local stabilization Why conventional algorithms fail to stabilize locally Quantifying the perturbation - PowerPoint PPT Presentation

TRANSCRIPT

LSRP: Local Stabilization in Shortest Path Routing

Hongwei Zhang and Anish Arora

Presented by Aviv Zohar

On the agenda

• A quick overview of routing algorithms

• The concept of local stabilization– Why conventional algorithms fail to stabilize locally

– Quantifying the perturbation

– Properties of F-Local stabilizing algorithms

• The LSRP algorithm for local stabilization in shortest path routing

The routing problem

• Given a network with a topology:

• With some cost function on the edges:

• Build and maintain optimal routing tables at each node– Which neighbor should packets be sent

through?– The routing choices describe a “cheapest

path” tree for each destination node.

),( EVG

R: EC

?

target

Types of Routing algorithms

There are two main types of routing algorithms:• Link State algorithms.

– Each node keeps a global view of the network graph and computes optimal paths independently.

– When a link is down, all nodes in the network must be notified.

• Distance Vector algorithms.– Nodes maintain only a local view of the topology.

– Global information is usually propagated in the form of distance to the targets.

The Bellman-Ford Algorithm• Every node ‘j’ in the graph maintains two variables

for every target ‘r’:– Distance of the optimal path to the target

– The neighbor we route through

• Regular nodes keep updating:

• While the root node simply sets:

Actually - we’ve seem this algorithm last week (BFS)

)kjc(d.kp.jj)Neighbors(k

),(minarg:

j)c(j,pjpd.d.j .).(:

d.j

p.j

rp.r

0. rd

The Bellman-Ford algorithm stabilizes slowly

r

11

22

33

444

555

6

0

The Bellman-Ford algorithm stabilizes slowly

r

11

02

33

444

555

6

perturbation

0

The Bellman-Ford algorithm stabilizes slowly

r

11

02

13

444

555

6

Bad data is propagated

onwards

0

The Bellman-Ford algorithm stabilizes slowly

r

11

22

13

444

555

6

Correction is too slow

0

The Bellman-Ford algorithm stabilizes slowly

r

11

22

33

224

555

6

0

The Bellman-Ford algorithm stabilizes slowly

r

11

22

33

444

333

6

0

The Bellman-Ford algorithm stabilizes slowly

r

11

22

33

444

555

4

0

The Bellman-Ford algorithm stabilizes slowly

r

11

22

33

444

555

6

0

The Count to infinity problem

r

11

11

10001

2

0

The Count to infinity problem

r

11

1

10001

2

Link failure0

The Count to infinity problem

r

31

1

10001

2

0

The Count to infinity problem

r

31

1

10001

4

0

The Count to infinity problem

r

51

1

10001

4

0

The Count to infinity problem

r

51

1

10001

6

0

The Count to infinity problem

• The count to infinity problem may pop up whenever there are loops (of any length) during the stabilization phase.

r

10011

1

10001

1002

And after a very long while….

0

Motivation

• In both cases the change that the system had to make was small. The perturbation should have been easy to recover from.

• We’d like to avoid loops during stabilization in order to be free of the count-to-infinity problem.

• We would also like to find a stabilization algorithm that contains faults in a small region around the area where they occur and minimizes contamination.

• In order to do that we have to understand which areas must change after a perturbation and which can remain untouched.

The dependent set of nodesWe define the state of the system at a given instant

as it’s topology + the internal states of all nodes

• We now define the nodes at state q that are dependent on vertices V’ and edges E’ as:

qqEqVG state systemat topology The).,.(

qiq state systemat i node of state internal The)(

i node of variablesspecific problem of state internal The)( piq

G from removedor added are E',V' when variables

specific problem their change must that qin nodes',' EVDSq

Glogy with topostates system legitimate All)( GQl

Dependent nodes – an Example

r

11

22

33

444

555

6

0

State q:

Dependent nodes – an Example

r

11

22

33

444

555

6

0

','' EVG

Dependent nodes – an Example

r

11

2

53

644

555

6

0

','' EVG

',' EVDSq

• Note that the definition of dependent nodes is independent of any algorithm.

The perturbation size

• We are now ready to define the perturbation size:

q’ is the possible state we may have had before the perturbation.

(The Nodes that stayed up but got “scrambled”)

(The nodes that are now up but need to change their routing because of topology changes)

'''

min)( qqQq

BAqPl

)(')('..:' iqiqqVqViiAq

'.\.,'.\.

.'\.,.'\..:

'

'

' qEqEqVqVDS

qEqEqVqVDSiqViiB

q

q

q

Example:

r

11

22

33

444

555

6

0

0)( qP

Example:

r

11

152

33

444

555

6

0

1)( qP

Example:

r

11

2

33

444

555

6

0

3)( qP

Contamination

• Nodes that were not perturbed may take part in the stabilization and change their value.

• We define the range of contamination as the farthest node from the perturbed region that changed during stabilization.

Healthy

Contaminated

Perturbed

F- local stabilization

• Definition:– A system is “F-Local Stabilizing” if starting from any

system state q, The system stabilizes in F(P(q)) time.

• Good properties of F-stabilizing systems:– Because information can only travel a limited distance

in limited time, faults are contained locally.

– Stabilizing concurrently in different regions.

– Stabilizing under recurring perturbations.

• LS Algorithms cannot stabilize locally.

The Intuition behind LSRP• A variant of Bellman-Ford• Use stabilization wave to correct errors• Use faster containment wave to stop bad

stabilization waves.• Use fastest Super containment wave to stop bad

containment waves.

In order to do this we introduce delay into the system.

0 sccs ddd

The communication and fault models

• Fully asynchronous model is too hard – containment wave must be faster than stabilization wave. Nodes are assumed to have internal clock with clock speed ratios bounded by a constant α.

• The Alg. is presented for a shared memory model. But can be implemented for message passing.

• Each node can read it’s neighbor’s variables but cannot write to them. (1WMR registers)

• A node can read all the variables of all neighbors in one atomic action.

• Nodes and links may become “up” and “down”, and all internal variables may be scrambled.

LSRP – Stabilization

false

j

j

jjS sd

ghost toset

parent as set

toaccording distanceset

ghost anot is from ion WaveStabilizat::2

updatedt isn' distancemy but parent my is

j than or worse illegal isParent my parentmy t isn'

jn closer tha no are ghostst aren' whoneighborsmy all

mine lower than iscost s'neighbor my is

j from ion WaveStabilizat

j

j

jj

LSRP – Stabilization

parentown my Become

parentown my not am IPoint Minimal a mI'(::1 S

npropagatio of source themI'ghost a mI'

0 is distanceMy root themI'Point Minimal

LSRP – Containment Propagation

ghost a become - either way

parentown my become -n propagatiofault of source a mI' If

t wavecontainmen a propagate toneed I

npropagatiofault of source a mI'ghost anot mI'::1

cdC

0t isn' distancemy but root themI'

wrongand finite is distancemy androot not the mI'

mine than distancesmaller with neighborsghost -non no have Inpropagatiofault of Source

mine than distancelower a with neighborsghost -non no have Iit toaccordingset is distanceMy

ghost a isIt neighbor a isparent My t wavecontainmen propagate toNeed

LSRP - Collapsing the Containment Wave

todistanceset parent,own my become

substituteparent no have Iroot not the mI'

distance update andparent my make

substituteparent a have Iroot not the mI'

parentown my become 0; todistanceset

root themI'

ghost a being Stop

me from distance their updatedhat children t no have Ighost a am I::2

thenif

j

thenjif

thenif

C

neighborsghost -nonmy all from distance minimal a has

minean smaller th is distance s'childmy not ishat neighbor tghost -non a is

substituteparent a is

j

jj

j

LSRP – Super Containment

ghost a being stop

tcontainmensuper propagate should Ighost a mI':: scdSC

ghost at isn'parent my

npropagatiofault of source anot mI'root not the mI'

0 is distancemy root themI'

tcontainmensuper propagate should I

The LSRP Algorithm In Action

r

11

02

33

444

555

6

perturbation

0

The LSRP Algorithm In Action

r

11

02

33

444

555

6

Enabled 2S

Enabled 1C

0

The LSRP Algorithm In Action

r

11

02

33

444

555

6

Disabled 2S

Occurred 1C

0

Enabled 2C

The LSRP Algorithm In Action

r

11

∞2

33

444

555

6

0

Occured 2C

The LSRP Algorithm In Action

r

11

∞2

33

444

555

6

Enabled 2S

Enabled 1C

0

The LSRP Algorithm In Action

r

11

2

33

444

555

6

Enabled 2S

Enabled 1C

Occurred 1CEnabled 2S

0

The LSRP Algorithm In Action

r

11

22

33

444

555

6

Enabled SC

Occurred 2S

Enabled 1C

Enabled 2S

0

The LSRP Algorithm In Action

r

11

22

33

444

555

6

Occurred 2S

Occurred 1C

Enabled 2S

Enabled SC

0

The LSRP Algorithm In Action

r

11

22

33

444

555

6

Enabled 2S

Occurred SC

Enabled 2S

Enabled SC

0

The LSRP Algorithm In Action

r

11

22

33

444

555

6

Occurred 2S

Occurred SC

We’ve Stabilized!

0

Another Example of LSRP

r

11

22

33

444

555

6

Link failure

0

Another Example of LSRP

r

11

22

33

444

555

6

Enabled 1C

0

Another Example of LSRP

r

11

22

33

444

555

6

Occurred 1C

Enabled 1C

0

Another Example of LSRP

r

11

22

33

444

555

6

Occurred 1C

Enabled 1C

Enabled 2S

0

Another Example of LSRP

r

11

22

33

444

555

6

Occurred 2S

Occurred 1C

Occurred 1C

Occurred 1C

Occurred 1C

0

Another Example of LSRP

r

11

22

33

444

555

6Enabled 2C

0

Another Example of LSRP

r

11

22

33

444

555

Occurred 2C

Enabled 2C

0

Another Example of LSRP

r

11

2

3

44

55Occurred 2C

Occurred 2C

Occurred 2C

Occurred 2C

0

Another Example of LSRP

r

11

2

3

44

55

Enabled 2S

0

Another Example of LSRP

r

11

2

3

44

55

Occurred 2S

Enabled 2S

Enabled 2S

5

0

Another Example of LSRP

r

11

2

3

44

55

5

Occurred 2S

Occurred 2S

Occurred 2S

Occurred 2S6

6

7

8We’ve Stabilized Again!

0

LSRP Algorithm handles loops

• In every loop there must be a node with a minimal distance. – This node is either a source of fault propagation and

sets p.i:=i– Or it has a neighbor j that has a lower distance and sets

p.i:=jEither way the loop is broken Immediately

• Once loops are broken, They are never re-formed, since every node will set p.i=j only if j has a strictly lower distance value

LSRP Algorithm Stabilizes – Proof Outline

• Fixed Point - When every node points to it’s minimal neighbor and it’s distance is set accordingly, and no nodes are ghosts then no action is enabled. No more actions will take place.

• The rest of the proof is inductive. Let D denote the diameter of the system. We shall see a series of state predicates L.0,L.1,…,L.Dsuch that:– The system reaches a state in L.0 from every state– L.i is closed under the system execution.– If L.i holds, L.(i+1) will be reached in finite time.– L.D is a legitimate state for the system.

LSRP Algorithm Stabilizes

0distance a have

n propagatiofault of source not the are

ghostsnot are

nodes All0.L

stabilized haveroot thefrom 1i distance of nodes All.1. iLiL

Convergence to State L.0 is achieved in O(N) time

So this does not prove F-local stabilization just yet.

Local-Stabilization of a single region

There are two main cases:

Case 1:

The perturbed region only has greater or equal distance values compared to the surrounding healthy nodes.

root

Perturbed Region

Healthy

Healthy

ContainmentHealthy

Containment

After stabilization of the perturbed region in O(p) time – Super containment will be initiated to stop the bad containment wave. Contamination is small. What the SC wave did not manage to catch is only O(p) sized regions

Local-Stabilization of a single region

Case2:

The perturbed region has at least one node that has a smaller distance value than the surrounding healthy nodes.

Perturbed Region

Healthy

Contamination

Containment

A containment wave is initiated from within the perturbed region and stops contamination quickly. Once the containment wave has terminated contamination, it folds back and leaves all nodes with a distance value of ∞. We are thus back to case 1.

Concurrent Stabilization of Regions

• Separated regions where contaminated areas do not overlap have no interaction. They can thus stabilize in O(max(perturbed region size))

Healthy

Contamination

Perturbed Region

Contamination

Perturbed Region

top related