A Scrutiny of Fredericksons Distributed Outline Breadth-First - - PowerPoint PPT Presentation

a scrutiny of frederickson s distributed
SMART_READER_LITE
LIVE PREVIEW

A Scrutiny of Fredericksons Distributed Outline Breadth-First - - PowerPoint PPT Presentation

A Scrutiny of Fredericksons Distributed Breadth-First Search Algorithm Victor van der Veen A Scrutiny of Fredericksons Distributed Outline Breadth-First Search Algorithm Introduction Definitions Background A Simple BFS Tree


slide-1
SLIDE 1

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm

Victor van der Veen

Computer Science Vrije Universiteit Amsterdam

June 26, 2008

slide-2
SLIDE 2

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Outline

1 Introduction

Definitions Background

2 A Simple BFS Tree Algorithm

Algorithm

3 Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

4 Conclusions

Drawbacks Improvements Questions

slide-3
SLIDE 3

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Definitions

Definition

A tree is an undirected, connected, acyclic graph.

Definition

Every connected graph G = (V , E) contains a spanning tree; that is, a set E ′ ⊆ E can be chosen, such that (V , E ′) is a tree.

Definition

A spanning tree T, starting from u, of network G is a breadth-first search tree if, for each node, the tree path to u is a minimum-hop path in G.

slide-4
SLIDE 4

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Definitions

Graph G Breadth-First Search Tree of G

slide-5
SLIDE 5

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Background

Literature

  • In 1985, Greg N. Frederickson outlined a Breadth-First

Search Tree Algorithm in his paper A Single Source Shortest Path Algorithm for a Planar Distributed Network.

  • In 2000, Gerard Tel summarized the algorithm in his book

Introduction to Distributed Algorithms.

slide-6
SLIDE 6

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

A Simple BFS Tree Algorithm

Idea

Construct the BFS tree level by level.

slide-7
SLIDE 7

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

A Simple BFS Tree Algorithm

  • Initiator sends forward to

”lowest” nodes.

  • Those nodes send explore to

undiscovered nodes.

  • New nodes in tree reply with

reverse.

  • Results go back to initiator.
slide-8
SLIDE 8

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

A Simple BFS Tree Algorithm

  • Initiator sends forward to

”lowest” nodes.

  • Those nodes send explore to

undiscovered nodes.

  • New nodes in tree reply with

reverse.

  • Results go back to initiator.

Difficulties

  • What if a node is already

discovered?

slide-9
SLIDE 9

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

A Simple BFS Tree Algorithm

  • Initiator sends forward to

”lowest” nodes.

  • Those nodes send explore to

undiscovered nodes.

  • New nodes in tree reply with

reverse.

  • Results go back to initiator.

Difficulties

  • What if a node is already

discovered?

  • Simply send ”I will not be your

child” as reverse.

slide-10
SLIDE 10

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Frederickson’s BFS Tree Algorithm

Idea

Construct ℓ levels in one round (ℓ > 1).

slide-11
SLIDE 11

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Frederickson’s BFS Tree Algorithm

  • New nodes also explore
  • When ℓ levels are explored,

reverse is started

slide-12
SLIDE 12

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Frederickson’s BFS Tree Algorithm

  • New nodes also explore
  • When ℓ levels are explored,

reverse is started

Difficulties

Old-parent problem

  • What if an already discovered

node found a shorter path?

slide-13
SLIDE 13

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Frederickson’s BFS Tree Algorithm

  • New nodes also explore
  • When ℓ levels are explored,

reverse is started

Difficulties

Old-parent problem

  • What if an already discovered

node found a shorter path?

  • Somehow tell former parent

things changed...

slide-14
SLIDE 14

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Old-parent problem

Problem

  • a sends explore to b and ... c
  • b sends explore to c
  • c sends explore to neighbors
  • c ... receives explore from b
slide-15
SLIDE 15

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Old-parent problem

Frederickson’s solution

  • c sends negative to b
  • b notices that c apparantly

found another father

  • c sends explore to neighbors
  • ...
slide-16
SLIDE 16

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Old-parent problem

New solution

  • c sends explore to neighbors
  • b notices that c apparantly

found another father

  • ...
slide-17
SLIDE 17

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Supporting non-FIFO channels

Frederickson and Tel stated: only FIFO channel support, but:

  • No problems with forward/reverse
  • Delayed explore messages can be recognized.

(explore’s with high level are discarded)

  • Delayed reverse messages can be recognized.

(reverse’s from parent are discarded) My version of the algorithm works for non-FIFO channels.

slide-18
SLIDE 18

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Optimal ℓ value

  • (N is number of nodes, E is number of edges)
  • Message Complexity O
  • N2

ℓ + ℓE

  • N2

ℓ = ℓE

  • ℓ =

N √ E

slide-19
SLIDE 19

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Conclusions

Frederickson’s Description

  • Complex solution for old-parent problem.
  • Not well documented.
  • No notion about non-FIFO channels.

Tel’s Description

  • No solution for old-parent problem.
  • Not well documented.
  • No notion about non-FIFO channels.
slide-20
SLIDE 20

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Conclusions

Improvements

  • Correct and detailled description.
  • Elegant solution for old-parent problem.
  • Showed that algorithm works with non-FIFO channels.
  • Pseudocode provided.
  • Implementation provided (in ANSI C).
slide-21
SLIDE 21

A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction

Definitions Background

A Simple BFS Tree Algorithm

Algorithm

Frederickson’s BFS Tree Algorithm

Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value

Conclusions

Drawbacks Improvements Questions

Conclusions

Questions?