650 likes | 816 Views
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
E N D
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
target ? 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.
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)
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 perturbation 2 0 3 3 4 4 4 5 5 5 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 0 Bad data is propagated onwards 1 3 4 4 4 5 5 5 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 Correction is too slow 2 2 1 3 4 4 4 5 5 5 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 2 3 3 4 2 2 5 5 5 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 2 3 3 4 4 4 3 3 3 6
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 2 3 3 4 4 4 5 5 5 4
The Bellman-Ford algorithm stabilizes slowly r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
The Count to infinity problem r 0 1 1 1 1 1000 1 2
The Count to infinity problem r 0 Link failure 1 1 1 1000 1 2
The Count to infinity problem r 0 1 1 3 1000 1 2
The Count to infinity problem r 0 1 1 3 1000 1 4
The Count to infinity problem r 0 1 1 5 1000 1 4
The Count to infinity problem r 0 1 1 5 1000 1 6
The Count to infinity problem • The count to infinity problem may pop up whenever there are loops (of any length) during the stabilization phase. And after a very long while…. r 0 1 1 1001 1000 1 1002
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 nodes We 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:
Dependent nodes – an Example r 0 1 1 2 2 State q: 3 3 4 4 4 5 5 5 6
Dependent nodes – an Example r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
Dependent nodes – an Example • Note that the definition of dependent nodes is independent of any algorithm. r 0 1 1 2 5 3 4 4 6 5 5 5 6
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)
Example: r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
Example: r 0 1 1 2 15 3 3 4 4 4 5 5 5 6
Example: r 0 1 1 2 3 3 4 4 4 5 5 5 6
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.
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.
The LSRP Algorithm In Action r 0 1 1 perturbation 2 0 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 0 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 0 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 ∞ 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 ∞ 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 ∞ 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 2 3 3 4 4 4 5 5 5 6
The LSRP Algorithm In Action r 0 1 1 2 2 3 3 4 4 4 5 5 5 6 We’ve Stabilized!
Another Example of LSRP r 0 1 1 Link failure 2 2 3 3 4 4 4 5 5 5 6
Another Example of LSRP r 0 1 1 2 2 3 3 4 4 4 5 5 5 6