A Scrutiny of Frederickson’s Distributed Breadth-First Search Algorithm Victor van der Veen A Scrutiny of Frederickson’s Distributed Outline Breadth-First Search Algorithm Introduction Definitions Background A Simple BFS Tree Victor van der Veen Algorithm Algorithm Computer Science Frederickson’s BFS Tree Vrije Universiteit Amsterdam Algorithm Algorithm Old-parent June 26, 2008 problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Outline Distributed Breadth-First Search Algorithm 1 Introduction Victor van der Definitions Veen Background Outline 2 A Simple BFS Tree Algorithm Introduction Definitions Algorithm Background A Simple BFS 3 Frederickson’s BFS Tree Algorithm Tree Algorithm Algorithm Algorithm Frederickson’s Old-parent problem BFS Tree Algorithm Supporting non-FIFO channels Algorithm Optimal ℓ value Old-parent problem Supporting non-FIFO 4 Conclusions channels Optimal ℓ value Drawbacks Conclusions Improvements Drawbacks Improvements Questions Questions
A Scrutiny of Frederickson’s Definitions Distributed Breadth-First Search Algorithm Victor van der Veen Definition Outline A tree is an undirected, connected, acyclic graph. Introduction Definitions Background Definition A Simple BFS Tree Every connected graph G = ( V , E ) contains a spanning tree; Algorithm that is, a set E ′ ⊆ E can be chosen, such that ( V , E ′ ) is a tree. Algorithm Frederickson’s BFS Tree Definition Algorithm Algorithm A spanning tree T , starting from u , of network G is a Old-parent problem breadth-first search tree if, for each node, the tree path to u is Supporting non-FIFO a minimum-hop path in G . channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Definitions 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 Graph G Breadth-First Search Tree of G Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Background Distributed Breadth-First Search Algorithm Victor van der Veen Outline Literature Introduction Definitions • In 1985, Greg N. Frederickson outlined a Breadth-First Background A Simple BFS Search Tree Algorithm in his paper A Single Source Tree Algorithm Shortest Path Algorithm for a Planar Distributed Network. Algorithm Frederickson’s BFS Tree Algorithm • In 2000, Gerard Tel summarized the algorithm in his book Algorithm Introduction to Distributed Algorithms. Old-parent problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s A Simple BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction Definitions Background Idea A Simple BFS Tree Algorithm Construct the BFS tree level by level. 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 A Simple BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der • Initiator sends forward to Veen ”lowest” nodes. Outline • Those nodes send explore to Introduction undiscovered nodes. Definitions Background • New nodes in tree reply with A Simple BFS Tree reverse . Algorithm Algorithm • Results go back to initiator. Frederickson’s BFS Tree Algorithm Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s A Simple BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der • Initiator sends forward to Veen ”lowest” nodes. Outline • Those nodes send explore to Introduction undiscovered nodes. Definitions Background • New nodes in tree reply with A Simple BFS Tree reverse . Algorithm Algorithm • Results go back to initiator. Frederickson’s BFS Tree Algorithm Difficulties Algorithm Old-parent problem • What if a node is already Supporting non-FIFO channels discovered? Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s A Simple BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der • Initiator sends forward to Veen ”lowest” nodes. Outline • Those nodes send explore to Introduction undiscovered nodes. Definitions Background • New nodes in tree reply with A Simple BFS Tree reverse . Algorithm Algorithm • Results go back to initiator. Frederickson’s BFS Tree Algorithm Difficulties Algorithm Old-parent problem • What if a node is already Supporting non-FIFO channels discovered? Optimal ℓ value Conclusions • Simply send ”I will not be your Drawbacks child” as reverse . Improvements Questions
A Scrutiny of Frederickson’s Frederickson’s BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction Definitions Background Idea A Simple BFS Tree Algorithm Construct ℓ levels in one round ( ℓ > 1). 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 Frederickson’s BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der Veen • New nodes also explore Outline • When ℓ levels are explored, Introduction reverse is started 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 Frederickson’s BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der Veen • New nodes also explore Outline • When ℓ levels are explored, Introduction reverse is started Definitions Background A Simple BFS Difficulties Tree Algorithm Old-parent problem Algorithm • What if an already discovered Frederickson’s BFS Tree node found a shorter path? Algorithm Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Frederickson’s BFS Tree Algorithm Distributed Breadth-First Search Algorithm Victor van der Veen • New nodes also explore Outline • When ℓ levels are explored, Introduction reverse is started Definitions Background A Simple BFS Difficulties Tree Algorithm Old-parent problem Algorithm • What if an already discovered Frederickson’s BFS Tree node found a shorter path? Algorithm Algorithm • Somehow tell former parent Old-parent problem Supporting things changed... non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Old-parent problem Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction Problem Definitions Background • a sends explore to b and ... c A Simple BFS Tree • b sends explore to c Algorithm Algorithm Frederickson’s • c sends explore to neighbors BFS Tree Algorithm • c ... receives explore from b Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Old-parent problem Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction Frederickson’s solution Definitions Background • c sends negative to b A Simple BFS Tree • b notices that c apparantly Algorithm Algorithm found another father Frederickson’s BFS Tree • c sends explore to neighbors Algorithm Algorithm Old-parent • ... problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Old-parent problem Distributed Breadth-First Search Algorithm Victor van der Veen Outline Introduction New solution Definitions Background • c sends explore to neighbors A Simple BFS Tree • b notices that c apparantly Algorithm Algorithm found another father Frederickson’s BFS Tree • ... Algorithm Algorithm Old-parent problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
A Scrutiny of Frederickson’s Supporting non-FIFO channels Distributed Breadth-First Search Algorithm Victor van der Veen Outline Frederickson and Tel stated: only FIFO channel support, but: Introduction • No problems with forward / reverse Definitions Background A Simple BFS • Delayed explore messages can be recognized. Tree Algorithm ( explore ’s with high level are discarded) Algorithm Frederickson’s • Delayed reverse messages can be recognized. BFS Tree Algorithm ( reverse ’s from parent are discarded) Algorithm Old-parent My version of the algorithm works for non-FIFO channels. problem Supporting non-FIFO channels Optimal ℓ value Conclusions Drawbacks Improvements Questions
Recommend
More recommend