





























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Chang-robert's algorithm for constructing a spanning tree in distributed systems. The algorithm uses parent pointers and message passing between nodes to build the tree. The document also covers the message complexity, uniqueness of the tree, and challenges in implementation. It is part of a university course on distributed systems.
Typology: Study notes
1 / 37
This page cannot be seen from the preview
Don't miss anything!






























these slides are based on ideas and material from the following sources:
Chang-Robert’s algorithm
0
1 2
3 4
5 root
For a graph G=(V,E), a spanning tree is a maximally connected subgraph T=(V,E’), E’ E,such that if one more edge is added, then the subgraph is no more a tree.
Parent pointer
0, 2
0
0, 2
1, 2
0, 2
1, 2 1, 1 0
1, 2
1, 1
1, 2
0
1, 2
1, 1
1, 2
1, 2 1, 1
1, 00, 0
1, 1
1, 0
0, 0
0
1, 1
1, 0
0, 0
0, 2
0, 2 0, 2 (^) 0, 2
0, 1 0
1, 0
1, 0
0, 0
0, 1
0, 0
0, 0
Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) E’ E such that the sum of the weights of all the edges is minimum.
Applications Minimum latency brodcast On Euclidean plane, approximate solutions to the traveling salesman problem , Lease phone lines to connect the different offices with a minimum cost, Visualizing multidimensional data (how entities are related to each other)
We are interested in distributed algorithms only
The traveling salesman problem asks for the shortest route to visit a collection of cities and return to the starting point.
Gallagher-Humblet-Spira (GHS) Algorithm
Fragment (^) Fragment
1
2
3
4
5
6
7
8
9
(^0) e 2
3
(^15)
4 6
T1 T
Challenge 1. How will the nodes in a given fragment identify the edge to be used to connect with a different fragment?
A root node in each fragment is the root/coordinator so. each fragment is a rooted tree
(each fragment in level L has at least 2L^ nodes)
to test if an edge is outgoing, each node sends a test message through a candidate edge
the receiving node may send accept or reject
root broadcasts initiate in its own fragment, collects the report from other n odes about eligible edges and determines the least weight outgoing edge (lwoe)
1
2
3
4
5
6
7
8
9
(^0) e 2
3
(^15)
4 6
T1 T
test
reject
accept
repeat
1 Test edges as outgoing or not
2 Determine lwoe - it becomes a tree edge
3 Send join (or respond to join)
4 Update level & name & identify new
coordinator/root
until done