Csce 411 design and analysis of algorithms
This presentation is the property of its rightful owner.
Sponsored Links
1 / 44

CSCE 411 Design and Analysis of Algorithms PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on
  • Presentation posted in: General

CSCE 411 Design and Analysis of Algorithms. Set 13: Link Reversal Routing Prof. Jennifer Welch Spring 2012. Routing [Gafni & Bertsekas 1981]. Undirected connected graph represents communication topology of a distributed system computing nodes = graph vertices

Download Presentation

CSCE 411 Design and Analysis of Algorithms

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


Csce 411 design and analysis of algorithms

CSCE 411Design and Analysis of Algorithms

Set 13: Link Reversal Routing

Prof. Jennifer Welch

Spring 2012

CSCE 411, Spring 2012: Set 13


Routing gafni bertsekas 1981

Routing [Gafni & Bertsekas 1981]

  • Undirected connected graph represents communication topology of a distributed system

    • computing nodes = graph vertices

    • message channels = graph edges

  • Unique destination node in the system

  • Assign virtual directions to the graph edges (links) s.t.

    • if nodes forward messages over the links, they reach the destination

  • Directed version of the graph must

    • be acyclic

    • have destination as only sink

      Thus every node has a path to destination.

CSCE 411, Spring 2012: Set 13


Routing example

Routing Example

D

3

1

2

4

5

6

4 wants to

send a msg

to D

CSCE 411, Spring 2012: Set 13


Mending routes

Mending Routes

  • What happens if some edges go away?

    • Might need to change the virtual directions on some remaining edges (reverse some links)

  • More generally, starting with an arbitrary directed graph, each vertex should decide independently which of its incident links to reverse

CSCE 411, Spring 2012: Set 13


Mending routes example

Mending Routes Example

D

3

1

2

4

5

6

CSCE 411, Spring 2012: Set 13


Sinks

Sinks

  • A vertex with no outgoing links is a sink.

  • The property of being a sink can be detected locally.

  • A sink can then reverse some incident links

  • Basis of several algorithms…

sink

CSCE 411, Spring 2012: Set 13


Full reversal routing algorithm

Full Reversal Routing Algorithm

  • Input: directed graph G with destination vertex D

  • Let S(G) be set of sinks in G other than D

  • while S(G) is nonempty do

    • reverse every link incident on a vertex in S(G)

    • G now refers to resulting directed graph

CSCE 411, Spring 2012: Set 13


Full reversal fr routing example

D

D

D

3

1

2

2

1

3

3

2

1

4

5

4

6

5

6

5

4

6

D

D

D

3

2

1

3

2

1

1

2

3

4

5

6

4

5

6

4

5

6

Full Reversal (FR) Routing Example

CSCE 411, Spring 2012: Set 13


Why does fr terminate

Why Does FR Terminate?

  • Suppose it does not.

  • Let W be vertices that take infinitely many steps.

  • Let X be vertices that take finitely many steps; includes D.

  • Consider neighboring vertices w in W, x in X.

  • Consider first step by w after last step by x: link is w g x and stays that way forever.

  • Then w cannot take any more steps, contradiction.

CSCE 411, Spring 2012: Set 13


Why is fr correct

Why is FR Correct?

  • Assume input graph is acyclic.

  • Acyclicity is preserved at each iteration:

    • Any new cycle introduced must include a vertex that just took a step, but such a vertex is now a source (has no incoming links)

  • When FR terminates, no vertex, except possibly D, is a sink.

  • A DAG must have at least one sink:

    • if no sink, then a cycle can be constructed

  • Thus output graph is acyclic and D is the unique sink.

CSCE 411, Spring 2012: Set 13


Pair algorithm

Pair Algorithm

  • Can implement FR by having each vertex v keep an ordered pair (c,v), the height (or vertex label) of vertex v

    • c is an integer counter that can be incremented

    • v is the id of vertex v

  • View link between v and u as being directed from vertex with larger height to vertex with smaller height (compare pairs lexicographically)

  • If v is a sink then v sets c to be 1 larger than maximum counter of all v’s neighbors

CSCE 411, Spring 2012: Set 13


Pair algorithm example

Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

CSCE 411, Spring 2012: Set 13


Pair algorithm example1

Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

(3,2)

CSCE 411, Spring 2012: Set 13


Pair algorithm example2

Pair Algorithm Example

(1,0)

0

3

1

2

(0,1)

(0,2)

(2,3)

(2,1)

(3,2)

CSCE 411, Spring 2012: Set 13


Partial reversal routing algorithm

Partial Reversal Routing Algorithm

  • Try to avoid repeated reversals of the same link.

  • Vertices keep track of which incident links have been reversed recently.

  • Link (u,v) is reversed by v iff the link has not been reversed by u since the last iteration in which v took a step.

CSCE 411, Spring 2012: Set 13


Partial reversal pr routing example

D

D

D

3

1

2

2

1

3

3

2

1

4

5

4

6

5

6

5

4

6

D

D

D

3

2

1

3

2

1

1

2

3

4

5

6

4

5

6

4

5

6

Partial Reversal (PR) Routing Example

CSCE 411, Spring 2012: Set 13


Why is pr correct

Why is PR Correct?

  • Termination can be proved similarly as for FR: difference is that it might take two steps by w after last step by x until link is w g x .

  • Preservation of acyclicity is more involved, deferred to later.

CSCE 411, Spring 2012: Set 13


Triple algorithm

Triple Algorithm

  • Can implement PR by having each vertex v keep an ordered triple (a,b,v), the height (or vertex label) of vertex v

    • a and b are integer counters

    • v is the id of vertex v

  • View link between v and u as being directed from vertex with larger height to vertex with smaller height (compare triples lexicographically)

  • If v is a sink then v

    • sets a to be 1 greater than smallest a of all its neighbors

    • sets b to be 1 less than smallest b of all its neighbors with new value of a (if none, then leave b alone)

CSCE 411, Spring 2012: Set 13


Triple algorithm example

Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

CSCE 411, Spring 2012: Set 13


Triple algorithm example1

Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

(1,-1,2)

CSCE 411, Spring 2012: Set 13


Triple algorithm example2

Triple Algorithm Example

(0,1,0)

0

3

1

2

(0,0,1)

(0,0,2)

(0,2,3)

(1,0,1)

(1,-1,2)

CSCE 411, Spring 2012: Set 13


General vertex label algorithm

General Vertex Label Algorithm

  • Generalization of Pair and Triple algorithms

  • Assign a label to each vertex s.t.

    • labels are from a totally ordered, countably infinite set

    • new label for a sink depends only on old labels for the sink and its neighbors

    • sequence of labels taken on by a vertex increases without bound

  • Can prove termination and acyclicity preservation, and thus correctness.

CSCE 411, Spring 2012: Set 13


Binary link labels routing charron bost et al spaa 2009

Binary Link Labels Routing [Charron-Bost et al. SPAA 2009]

  • Alternate way to implement and generalize FR and PR

  • Instead of unbounded vertex labels, apply binary link labels to input DAG

    • link directions are independent of labels (in contrast to algorithms using vertex labels)

  • Algorithm for a sink:

    • if at least one incident link is labeled 0, then reverse all incident links labeled 0 and flip labels on all incident links

    • if no incident link is labeled 0, then reverse all incident links but change no labels

CSCE 411, Spring 2012: Set 13


Binary link labels example

Binary Link Labels Example

0

1

0

3

1

2

1

0

CSCE 411, Spring 2012: Set 13


Binary link labels example1

Binary Link Labels Example

0

1

0

3

1

2

1

0

CSCE 411, Spring 2012: Set 13


Binary link labels example2

Binary Link Labels Example

0

1

0

3

1

2

0

1

CSCE 411, Spring 2012: Set 13


Why is bll correct

Why is BLL Correct?

  • Termination can be proved very similarly to termination for PR.

  • What about acyclicity preservation? Depends on initial labeling:

3

3

1

1

0

0

1

0

2

2

1

1

0

0

0

0

CSCE 411, Spring 2012: Set 13


Conditions on initial labeling

Conditions on Initial Labeling

  • All labels are the same

    • all 1’s => Full Reversal

    • all 0’s => Partial Reversal

  • Every vertex has all incoming links labeled the same (“uniform” labeling)

  • Both of the above are special cases of a more general condition that is necessary and sufficient for preserving acyclicity

CSCE 411, Spring 2012: Set 13


What about complexity

What About Complexity?

  • Busch et al. (2003,2005) initiated study of the performance of link reversal routing

  • Work complexity of a vertex: number of steps taken by the vertex

  • Global work complexity: sum of work complexity of all vertices

  • Time complexity: number of iterations, assuming all sinks take a step in each iteration (“greedy” execution)

CSCE 411, Spring 2012: Set 13


Worst case work complexity bounds busch et al

Worst-Case Work Complexity Bounds [Busch et al.]

  • bad vertex: has no (directed) path to destination

  • Pair algorithm (Full Reversal):

    • for every input, global work complexity is O(n2), where n is number of initial bad vertices

    • for every n, there exists an input with n bad vertices with global work complexity Ω(n2)

  • Triple algorithm (Partial Reversal): same as Pair algorithm

CSCE 411, Spring 2012: Set 13


Exact work complexity bounds

Exact Work Complexity Bounds

  • A more fine-grained question: Given any input graph and any vertex in that graph, exactly how many steps does that vertex take?

  • Busch et al. answered this question for FR.

  • Charron-Bost et al. answered this question for BLL (as long as labeling satisfies Acyclicity Condition): includes FR and PR.

CSCE 411, Spring 2012: Set 13


Definitions charron bost et al spaa 2009

Definitions [Charron-Bost et al. SPAA 2009]

  • Let X = <v1, v2, …, vk> be a chain in the labeled input DAG (series of vertices s.t. either (vi,vi+1) or (vi+1,vi) is a link).

  • r: number of links that are labeled 1 and rightway ((vi,vi+1) is a link)

  • s: number of occurrences of vertices s.t. the two adjacent links are incoming and labeled 0

  • Res: 1 if last link in X is labeled 0 and rightway,

    else 0

CSCE 411, Spring 2012: Set 13


Example of definitions

Example of Definitions

For chain <D,7,6,5>: r = 1, s = 0, Res = 1

For chain <D,1,2,3,4,5>: r = 2, s = 1, Res = 0

1

0

1

1

2

3

8

0

0

D

4

1

1

1

0

7

6

5

CSCE 411, Spring 2012: Set 13


Bll work complexity

BLL Work Complexity

  • Theorem: Consider any vertex v.

    Let ωmin be the minimum, over all chains from D to v, of 2(r+s)+Res.

    Number of steps taken by v is

    • (ωmin+1)/2 if initially v is a sink with all incoming links labeled 0

    • ωmin/2 if initially v has all incoming links (if any) labeled 1

    • ωmin otherwise

CSCE 411, Spring 2012: Set 13


Work complexity for fr

Work Complexity for FR

  • Corollary: For FR (all 1’s labeling), work complexity of vertex v is minimum, over all chains from D to v, of r, number of links in the chain that are rightway (directed away from D).

  • Worst-case graph for global work complexity:

    D  1  2  …  n

    • vertex i has work complexity i

    • global work complexity then is Θ(n2)

CSCE 411, Spring 2012: Set 13


Work complexity for pr

Work Complexity for PR

  • Corollary: for PR (all 0’s labeling), work complexity of vertex v is

    • min, over all D-to-v chains, of s + Res if v is a sink or a source

    • min, over all D-to-v chains, of 2s + Res if v is neither a sink nor a source

  • Worst-case graph for global work complexity:

    D  1  2  3  …  n

    • work complexity of vertex i is Θ(i)

    • global work complexity is Θ(n2)

CSCE 411, Spring 2012: Set 13


Comparing fr and pr

Comparing FR and PR

  • Looking at worst-case global work complexity shows no difference – both are quadratic in number of vertices

  • Can use game theory to show some meaningful differences (Charron-Bost et al. ALGOSENSORS 2009):

    • global work complexity of FR can be larger than optimal (w.r.t. all uniform labelings) by a factor of Θ(n)

    • global work complexity of PR is never more than twice the optimal

  • Another advantage of PR over FR:

    • In PR, if k links are removed, each vertex takes at most 2k steps

    • In FR, if 1 link is removed, a vertex might have to take n-1 steps

CSCE 411, Spring 2012: Set 13


Time complexity

Time Complexity

  • Time complexity is number of iterations in greedy execution

  • Busch et al. observed that time complexity cannot exceed global work complexity

    • Thus O(n2) iterations for both FR and PR

  • Busch et al. also showed graphs on which FR and PR require Ω(n2) iterations

  • Charron-Bost et al. (2011) derived an exact formula for the last iteration in which any vertex takes a step in any graph for BLL…

CSCE 411, Spring 2012: Set 13


Fr time complexity

FR Time Complexity

  • Theorem: For every (bad) vertex v, termination time of v is

    1 + max{len(X): X is chain ending at v with r = σv – 1}

    where σv is the work complexity of v

  • Worst-case graph for global time complexity:

n

n-1

D

1

2

n/2

n/2+3

vertex n/2 has work complexity n/2;

consider chain that goes around the loop

counter-clockwise n/2-1 times starting and

ending at n/2: has r = n/2-1 and length Θ(n2)

n/2+1

n/2+2

CSCE 411, Spring 2012: Set 13


Bll time complexity

BLL Time Complexity

  • What about other link labelings?

  • Transform to FR!

  • In more detail: for every labeled input graph G (satisfying the Acyclicity Condition), construct another graph T(G) s.t.

    • for every execution of BLL on G, there is a “corresponding” execution of FR on T(G)

    • time complexities of relevant vertices in the corresponding executions are the same

CSCE 411, Spring 2012: Set 13


Idea of transformation

Idea of Transformation

  • If a vertex v is initially a sink with some links labeled 0 and some labeled 1, or is not a sink with an incoming link labeled 0, then its incident links are partitioned into two sets:

    • all links on one set reverse at odd-numbered steps by v

    • all links in the other set reverse at even-numbered steps by v

  • Transformation replaces each such vertexwith two vertices, one corresponding to odd steps by v and the other to even steps, and inserts appropriate links

CSCE 411, Spring 2012: Set 13


Pr time complexity

PR Time Complexity

  • Theorem: For every (bad) vertex v, termination time of v is

    • 1 + max{len(X): X is a chain ending at v with s + Res = σv – 1} if v is a sink or a source initially

    • 1 + max{len(X): X is a chain ending at v with 2s + Res = σv – 1} otherwise

  • Worst-case graph for global time complexity:

    D  1  2  3  …  n/2  n/2+1  …  n

    Vertex n/2 has work complexity n/2. Consider chain that starts at n/2, ends at n/2, and goes back and forth between n/2 and n making (n-2)/4 round trips. 2s+Res for this chain is n/2-1, and length is Θ(n2).

CSCE 411, Spring 2012: Set 13


Fr vs pr again

FR vs. PR Again

  • On chain on previous slide, PR has quadratic time complexity.

  • But FR on that chain has linear time complexity

    • in fact, FR has linear time complexity on any tree

  • On chain on previous slide, PR has slightly better global work complexity than FR.

CSCE 411, Spring 2012: Set 13


References

References

  • Busch, Surapaneni and Tirthapura, “Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks,” SPAA 2003.

  • Busch and Tirthapura, “Analysis of Link Reversal Routing Algorithms,” SIAM JOC 2005.

  • Charron-Bost, Fuegger, Welch and Widder, “Full Reversal Routing as a Linear Dynamical System,” SIROCCO 2011.

  • Charron-Bost, Fuegger, Welch and Widder, “Partial is Full,” SIROCCO 2011.

  • Charron-Bost, Gaillard, Welch and Widder, “Routing Without Ordering,” SPAA 2009.

  • Charron-Bost, Welch and Widder, “Link Reversal: How to Play Better to Work Less,” ALGOSENSORS 2009.

  • Gafni and Bertsekas, “Distributed Algorithms for Generating Loop-Free Routes in Networks with Frequently Changing Topology,” IEEE Trans. Comm. 1981.

  • Welch and Walter, “Link Reversal Algorithms,” Synthesis Lectures on Distributed Computing Theory #8, Morgan & Claypool Publishers, 2012.

CSCE 411, Spring 2012: Set 13


  • Login