10 graph algorithms n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
10.- Graph Algorithms PowerPoint Presentation
Download Presentation
10.- Graph Algorithms

Loading in 2 Seconds...

play fullscreen
1 / 23

10.- Graph Algorithms - PowerPoint PPT Presentation


  • 114 Views
  • Uploaded on

Sistemas Distribuidos. 10.- Graph Algorithms. Introduction Routing Algorithms Computation of Shortest Path Distance Vector Routing Link-State Routing Interval Routing. Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional. Graph. Graph G : G = (V, E)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '10.- Graph Algorithms' - calais


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
10 graph algorithms

Sistemas Distribuidos

10.- GraphAlgorithms

Introduction

Routing Algorithms

Computation of Shortest Path

Distance Vector Routing

Link-State Routing

Interval Routing

Jorge Antonio Perez Espinoza

Centro de Investigación y Estudios Avanzados del Instituto Politécnico Nacional

graph
Graph

Graph G:

G = (V, E)

V = Set of nodes 0….N-1.

E= Set of edges representing links: (A,B),(A,C)

  • Eachedge w(i, j) has a weight.

B

A

2

4

1

1

E

C

5

3

D

graphs on distributed system
Graphs on DistributedSystem
  • The topology of a distributed system is represented by a graph where the nodes represent processes, and the links represent communication channels.
  • Static vs. Dynamic Topology.

B

A

2

4

1

1

E

C

5

3

D

routing algorithms
ROUTING ALGORITHMS
  • Routing is a fundamental problem in networks.
  • Discover and maintain an acyclic path from the source of a message to its destination.
  • The routing table is updated when the topology changes.
  • A path can have many attributes: hops, delay.
computation of shortest path
COMPUTATION OF SHORTEST PATH

Given a graph G:

G = (V, E)

V = Set of nodes 0….N-1.

E= Set of edges representing links.

  • Eachedge w(i, j) has a weight.

The topology is static.

B

A

2

4

1

1

E

C

1

3

D

chandy and misra algorithm
Chandy and Misra Algorithm

N0

N4

  • A refinement of the Bellman-Ford Algorithm.
  • Designed to work with a single initiator node 0.
  • D(i): Distance to node 0
  • Each node knows the weights of all edges incident on it.

Initially :

D(0) = 0

∀i : i > 0 : D(i) = ∞.

6

2

3

N2

N5

4

N1

1

5

N4

3

for each node
For each node:

N0

N4

  • 1. D, the current shortest distance of node 0 to itself. Initially D(0) = 0, D(i: i > 0) = ∞
  • 2. A node called parent: Initially parent (j) = j
  • 3. A variable deficit, representing the number of unacknowledged messages. Initially deficit=0.

6

2

3

N2

N5

4

N1

1

5

N4

3

slide8

program shortest path {for process i >0};

define D, S : distance;

{S denotes the shortest distance received through a message}

parent : process

deficit : integer;

N: set of neighbors of process i;

initially D= ∞, parent = i, deficit = 0

N0

N4

6

2

3

N2

N5

4

{for process 0}

send (w(0,i), 0) to each neighbor i;

deficit := |N(0)|;

do ack -> deficit := deficit – 1 od;

{deficit = 0 signals termination}

{for process i > 0}

do message = (S ,k) ^ S < D if parent ≠ k or i -> send ack to parent fi;

parent := k; D := S;

send (D + w(i,j), i) to each neighbor j ≠ parent;

deficit := deficit + |N(i)| -1

message (S,k) ^ S ≥ D -> send ack to sender

ack -> deficit := deficit – 1

deficit = 0 ^ parent ≠ i -> send ack to the parent

od

N1

1

5

N4

3

lemma
Lemma :
  • When the algorithm terminates, let k = parent (i). If D(k) is the distance of the shortest path from k to 0, then D(i) = D(k) + w(k, i) is the distance of the shortest path from i to 0 and the shortest path includes k.
  • Proof:

Suppose this is false :

Theshortestpathfrom 0 toiisviaj , wherej ≠k.

Message D(i)>D(j)+w(j,i).

MessageD(i)>D(k)+w(k,i).

1

0

K

1

i

2

2

j

distance vector routing
DISTANCE VECTOR ROUTING

Shortest path routing, but handles topology changes.

D[i, j] = 0 when i = j,

= 1 when j is a neighbor of i, and

= ∞ when i = j and j is not a neighbor of i

Each node j periodically broadcasts its distance vector to its immediate neighbors

∀k ≠ i :D[i,k]=minj(w[i,j]+D[j,k])

distance vector routing1
DISTANCE VECTOR ROUTING

Following this, the distance vectors

are corrected, and routing table is eventually recomputed.

count to infinity problem
Count to Infinity Problem

A

B

C

E

D

1

1

1

1

1.- Node A. -> B(A,A,1)

2.- Node B. -> C(A,B,2)

3.- Node C. -> B(A,C,3)

4.- Node B. -> C(A,B,4)

5.- Node C. -> B(A,C,5)

.

.

.

.

link state routing
LINK-STATE ROUTING
  • This is an alternative method of shortest path routing.
  • Converges faster.
  • Each node i periodically broadcasts the weights of all edges (i,j) incident on it (this is the link state) to all its neighbors
interval routing
INTERVAL ROUTING
  • Consider a connected network of N nodes.
  • The conventional routing table used to route a message from one node to another has N − 1 entries, one for each destination node.

13 Entries

interval routing1
Interval routing
  • Santoro and Khatib first proposed interval routing for tree topologies only.
  • Each node has two ports:
    • port 0 is connected to the node with a higher id.
    • port 1 is connected with the node of lower id
interval routing2
Interval Routing
  • For a set of N nodes 0 ….N − 1, define the interval [p, q) between a pair of p and q as follows:
  • if p < q then [p,q) = p, p + 1, p + 2 , . . ., q − 2, q − 1
  • if p ≥ q then [p, q) = p, p + 1, p + 2, . . .,N − 1, 0, 1, . . ., q − 2, q − 1

As an example, if N = 8, then [5, 5) = 5, 6, 7, 0, 1, 2, 3, 4.

routing for a tree network
Routing for a tree Network

Subtree under i: L(i),L(i)+T(i) + 1 mod N)

Comp: [L(i)+T(i)+1 mod N,L(i))

  • 1. Label the root as node 0.
  • 2. Do a preorder traversal of the tree, and label the successive nodes in ascending order starting from 1.
  • 3. For each node, label the port towards a child by the node number of the child. Then label
  • the port towards the parent by L(i) + T(i) + 1 mod N, where
    • • L(i) is the label of the node i
    • • T(i) is the number of nodes in the subtree under node i (excluding i)
adaptation to changes in the topology
Adaptation to changes in the topology .
  • Every time a new node is added to a network, or an existing node is removed from the network, in general all node labels and port labels have to be recomputed.
prefix routing
Prefix Routing

if X = Y → Deliver the message locally

X = Y → Find the port with the longest prefix of X as its label;

Forward the message towards that port

fi