lsrp: local stabilization in shortest path routing hongwei zhang and anish arora presented by aviv...
Post on 20-Dec-2015
216 views
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