Chapter 15.5 from “Distributed Algorithms” by Nancy A. Lynch

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Distributed Minimum Spanning Tree Gallagher, Humblet, Spira (1983) pseudocode adaptation by Kenneth J. Goldman September 2002.
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
Minimum Spanning Trees GHS algorithm Based on “A distributed algorithm for minimum-weight spanning trees”, Gallager, Humblet, Spira 1983 גיא בניי ו - ירון.
1 2 Lecture Outline 1.Problem description TThe distinct weights demand 2.Review of spanning trees PProperties of spanning trees KKruskal’s algorithm.
Breadth-First Search and Shortest Path Kevin Schaffer Chapter 15.4 from “Distributed Algorithms” by Nancy A. Lynch.
Minimum Spanning Trees
Minimum Spanning Trees
Discussion #36 Spanning Trees
CPSC 668Set 2: Basic Graph Algorithms1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
Tree tree = connected graph with no cycle tree = connected graph with |V|-1 edges tree = graph with |V|-1 edges and no cycles.
Minimum-Cost Spanning Tree weighted connected undirected graph spanning tree cost of spanning tree is sum of edge costs find spanning tree that has minimum.
Lecture 12 Minimum Spanning Tree. Motivating Example: Point to Multipoint Communication Single source, Multiple Destinations Broadcast – All nodes in.
A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.
Minimum Spanning Trees
Distributed Algorithms 2014 Igor Zarivach A Distributed Algorithm for Minimum Weight Spanning Trees By Gallager, Humblet,Spira (GHS)
Minimum Spanning Tree Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
UNC Chapel Hill Lin/Foskey/Manocha Minimum Spanning Trees Problem: Connect a set of nodes by a network of minimal total length Some applications: –Communication.
Minimum Spanning Trees and Kruskal’s Algorithm CLRS 23.
1 Broadcast. 2 3 Use a spanning tree Root 4 synchronous It takes the same time at link to send a message It takes the same time at each node to process.
EMIS 8374 Optimal Trees updated 25 April slide 1 Minimum Spanning Tree (MST) Input –A (simple) graph G = (V,E) –Edge cost c ij for each edge e 
Prim's Algorithm This algorithm starts with one node. It then, one by one, adds a node that is unconnected to the new graph to the new graph, each time.
Spanning Trees CSIT 402 Data Structures II 1. 2 Two Algorithms Prim: (build tree incrementally) – Pick lower cost edge connected to known (incomplete)
Minimum Spanning Tree. Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
Union-Find  Application in Kruskal’s Algorithm  Optimizing Union and Find Methods.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 2: Basic Graph Algorithms 1.
Minimum Spanning Trees CSE 373 Data Structures Lecture 21.
1 22c:31 Algorithms Minimum-cost Spanning Tree (MST)
Prims Algorithm for finding a minimum spanning tree
Minimum Spanning Tree Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
CIS 825 Lecture 9. Minimum Spanning tree construction Each node is a subtree/fragment by itself. Select the minimum outgoing edge of the fragment Send.
CIS 825 Lecture 8. Leader Election Aim is to elect exactly one node as the leader.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Paola Flocchini Election in Arbitrary Networks Mega-Merger Yo-Yo Some Considerations.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
Chapter 9 : Graphs Part II (Minimum Spanning Trees)
Minimum Spanning Tree Chapter 13.6.
A Distributed Algorithm for Minimum-Weight Spanning Trees
Lecture 22 Minimum Spanning Tree
CS60002: Distributed Systems
Lecture 12 Algorithm Analysis
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Data Structures & Algorithms Graphs
Minimum-Cost Spanning Tree
MST GALLAGER HUMBLET SPIRA ALGORITHM
Minimum Spanning Tree.
EMIS 8373: Integer Programming
Connected Components Minimum Spanning Tree
Tree Construction (BFS, DFS, MST) Chapter 5
Minimum Spanning Tree.
Minimum Spanning Tree.
The Minimum Spanning Tree Problem
Minimum-Cost Spanning Tree
Minimum Spanning Tree.
Data Structures – LECTURE 13 Minumum spanning trees
Kruskal’s Algorithm for finding a minimum spanning tree
Minimum-Cost Spanning Tree
Kruskal’s Minimum Spanning Tree Algorithm
Lecture 12 Algorithm Analysis
MST GALLAGER HUMBLET SPIRA ALGORITHM
Minimum Spanning Tree.
Minimum Spanning Trees
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Homework #6: Local Access Design
Minimum Spanning Trees (MSTs)
Lecture 12 Algorithm Analysis
Minimum-Cost Spanning Tree
Minimum Spanning Trees
Presentation transcript:

Chapter 15.5 from “Distributed Algorithms” by Nancy A. Lynch Minimum Spanning Tree Kevin Schaffer Chapter 15.5 from “Distributed Algorithms” by Nancy A. Lynch

GHS Named for Gallager, Humblet, and Spira Synchronous version is SynchGHS Components are combined into larger components through minimum-weight outgoing edges (MWOEs) Assuming all weights to be unique ensures a unique MST Combining is done in levels; at level k all components have at least 2k nodes

Difficulties in GHS Processes i and j might be in the same component but not realize it since process j might not have received notification Components might be combined in an unbalanced way leading to a O(n2) message complexity Possible interference from components at different levels

How GHS Works Processes in a component work together to find the MWOE Once found, the component and the one attached to it across the MWOE combine into a new component Every component has a level, but levels are not synchronized Initially components are individual nodes with level 0 Process continues until there is one component

Combining Components Components C and C’ can combine in one of two ways Merge: If level(C) = level(C’) and C and C’ share a common MWOE then they form a new component whose level is level(C) + 1 Absorb: If level(C) < level(C’) and the MWOE of C connects to a node in C’ then C is added to C’ Ensures that components do not become unbalanced if some lag behind

Messages in GHS initiate: Starts the process to find an MWOE and carries the component identifier report: Convergecast MWOE information test, accept, reject: Test whether neighbors belong to the same component changeroot, connect: Combine components

Complexity of GHS Message complexity: O(n log n + |E|) test messages that lead to rejection and reject messages: O(|E|) All other messages: O(n log n) Time complexity: O(n log n(l + d))

SimpleMST Works more like SynchGHS Processes wait until all their neighbors are at the same level before continuing Much simpler than GHS Higher message complexity: O(|E| log n) Same time complexity