6.852: distributed algorithmscourses.csail.mit.edu/6.852/08/lectures/distalgs-08-2.pdf6.852:...
TRANSCRIPT
![Page 1: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/1.jpg)
6.852: Distributed Algorithms
Leader election in a synchronous ring– lower bound for comparison-based algorithms– non-comparison-based algorithms
Algorithms in general synchronous networks– leader election– breadth-first search– broadcast and convergecast– shortest paths
Reading: chap 3.6, 4.1-2 Next: 4.3-4
![Page 2: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/2.jpg)
Last lecture
Leader election in a synchronous ring– LeLann-Chang-Roberts algorithm
pass UIDs in one direction, elect max proof: invariants time complexity: n (or 2n for halting, unknown size) msg complexity: O(n2)
– Hirschberg-Sinclair algorithm successive doubling (uses bidirectional channels) msg complexity: O(n log n) time complexity: O(n) (dominated by last phase)
– Non-comparison-based algorithms wait quietly until your “turn”, determined by UID msg complexity: O(n) time complexity: O(umin n), or O(n 2umin) if n unknown
![Page 3: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/3.jpg)
Lower bounds for leader election
Can we get lower time complexity?– easy n/2 lower bound (informal)
Can we get lower message complexity?– Ω(n log n) message complexity
Assumptions– comparison-based algorithm– unique start state (except for UID), deterministic
![Page 4: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/4.jpg)
Comparison-based algorithms
Depend only on relative order of UIDs– identical start state, except for UID– manipulate ids only by copying, sending, receiving,
and comparing (<, =, and >)– can use results of comparisons to decide what to do
what (if anything) to send to neighbors whether to elect self leader local state transition
![Page 5: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/5.jpg)
Lower bound proof (overview) For any n, there is a ring of size n such that in
that ring, any leader election algorithm has:– Ω(n) “active” rounds– Ω(n/i) msgs sent in active round i (for i > √n)– Thus, Ω(n log n) msgs total.
For n = 2b, use “bit-reversal ring” Generalize for other n: c-symmetric rings Key lemma: Processes whose neighborhoods
“look the same” act the same (until information from outside their neighborhoods reaches them).– need lots of active rounds to break symmetry
![Page 6: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/6.jpg)
a round is active if some (non-null) msg is sent k-neighborhood of a process:
the 2k+1 processes within distance k (u1, u2,..., uk) & (v1, v2,..., vk) order-equivalent if
– ui < uj iff vi ≤ vj for all i,j
two process states s and t correspond with respect to (u1, u2,..., uk) & (v1, v2,..., vk) if they are identical except that occurences of ui in s are replaced by vi in t for all i (& no other UIDs)– analagous defn for corresponding messages
Lower bound proof
![Page 7: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/7.jpg)
Lower bound proof
Key lemma: Suppose A is a comparison-based algorithm on a synchronous ring network with processes i and j. If the sequences of UIDs in their k-neighborhoods are order-equivalent then at any point after at most k active rounds, i and j are in corresponding states (with respect to their k-neighborhoods' UID sequences).
Proof: Induction on r = #completed rounds. Base: r = 0.
– Start states of i and j are identical except for UIDs.– They correspond wrt k-nbhd for any k≥0.
![Page 8: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/8.jpg)
Lower bound proof
Inductive case: – Assume true after round r-1, for all i,j,k.– Prove true after round r, for all i,j,k.– Fix i,j,k, where i and j have order-equiv k-nbhds.– Assume i ≠ j and at most k of first r rounds are active.
Trivial otherwise– By IH: i and j in corresponding states wrt k-nbhds.– Case analysis:
If neither i nor j receives non-null msg, make corresponding transition, so end up in corresponding states (wrt k-nbhds).
![Page 9: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/9.jpg)
Lower bound proof
Either i or j receives non-null msg in round r.– round r is active: at most k-1 active of first r-1 rounds– (k-1)-nbhds of i-1 and j-1 are order-equivalent– By IH: after round r-1, processes i-1 and j-1 in
corresponding states wrt their (k-1)-nbhds (and thus wrt k-nbhds of i and j).
– Thus, msg from i-1 to i and from j-1 to j correspond.– Similarly for msgs from i+1 to i and from j+1 to j.– So i and j are in corresponding states and receive
corresponding messages, so make corresponding transition and end up in corresponding state.
![Page 10: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/10.jpg)
Lower bound proof Corollary 1: Suppose A is a comparison-based
leader-election algorithm on a synchronous ring network and k is an integer such that for any process i, there is a distinct process j such that i and j have order-equivalent k-neighborhoods. Then A has more than k active rounds.
Proof: By contradiction.– Suppose A elects i in at most k active rounds.– By assumption, there is a distinct process j with an
order-equivalent k-neighborhood.– By previous lemma, i and j are in corresponding
states, so j is also elected—a contradiction.
![Page 11: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/11.jpg)
Lower bound proof Corollary 2: Suppose A is a comparison-based
algorithm on a synchronous ring network, and k and m are integers such that the k-neighborhood of any process is order-equivalent to that of at least m-1 other processes. Then at least m messages are sent in A's kth active round.
Proof: By defn, some process sends a message in A's kth active round. By assumption, at least m-1 other processes have order-equivalent k-neighborhoods. By the lemma, immediately before this round, all these processes are in corresponding states. Thus, they all send messages in this round, so at least m messages are sent.
![Page 12: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/12.jpg)
Lower bound proof
We want a ring with many order-equivalent neighborhoods.
For powers of 2: bit-reversal rings– UID is bit-reversed process number– for every segment of length n/2b, there are (at least)
2b order-equivalent segments (including original) for every process i, at least n/4k processes (including i) with
order-equivalent k-neighborhoods for k < n/4.– more than n/8 active rounds– #msgs ≥ n/4 + n/8 + n/12 + ... + 2 = Ω(n log n)
![Page 13: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/13.jpg)
Lower bound proof
c-symmetric ring: For every l such that √n < l < n, and every sequence S of length l in the ring, there are at least ⎣cn/l⎦ order-equivalent occurrences.
[Frederickson-Lynch] There exists c such that for every positive integer n, there is a c-symmetric ring of size n.
Given c-symmetric ring, argue similarly to before.
![Page 14: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/14.jpg)
General synchronous networks
Digraph G = (V,E) and set of messages M– V = set of processes– E = set of communication channels– distance(i,j) = shortest distance from i to j– diam = max distance(i,j) for all i,j– assume: strongly connected (diam < ∞), UIDs
For each process:– states– start: nonempty subset of states– msgs: maps (state,out-nbr) to M⊥ – trans: maps (state,in-nbrs→M⊥) to states
![Page 15: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/15.jpg)
Leader election in general network
Simple “flooding” algorithm:– Assume diameter is known (diam).– Every round: Send max UID seen to all neighbors.– Stop after diam rounds.– Elect self iff own UID is max seen.
![Page 16: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/16.jpg)
Leader election in general network states
– UID– max-uid (initially UID)– status (one of: unknown, leader, not-leader)– round
msgs– if round < diam send send max-uid to all neighbors
trans– increment round– max-uid := max (max-uid, UIDs received)– if round = diam then
status := leader if max-uid = UID, not-leader otherwise
![Page 17: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/17.jpg)
Leader election in general network
1
5
43
2
6
1
2
5
3
6
4
Start configuration
![Page 18: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/18.jpg)
Leader election in general network
1
5
43
2
6
1
2
5
3
6
4
2
13
5
6
6
4
21
2
5
Round 1 (msgs)
![Page 19: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/19.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
2
13
5
6
6
4
21
2
5
Round 1 (trans)
![Page 20: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/20.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
Round 2 (start)
![Page 21: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/21.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
5
36
5
6
6
6
53
5
5
Round 2 (msgs)
![Page 22: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/22.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
5
36
5
6
6
6
53
5
5
Round 2 (trans)
![Page 23: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/23.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
Round 3 (start)
![Page 24: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/24.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
5
66
6
6
6
6
56
5
6
Round 3 (msgs)
![Page 25: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/25.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
5
66
6
6
6
6
56
5
6
Round 3 (trans)
![Page 26: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/26.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
Round 4 (start)
![Page 27: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/27.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
6
66
6
6
6
6
66
6
6
Round 4 (msgs)
![Page 28: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/28.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
Round 4 (trans)
![Page 29: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/29.jpg)
Leader election in general network
Simple “flooding” algorithm:– Assume diameter is known (diam).– Every round: Send max UID seen to all neighbors.– Stop after diam rounds.– Elect self iff own UID is max seen.– Time complexity: diam– Msg complexity: diam |E|
Proof?
![Page 30: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/30.jpg)
Leader election in general network
After round r:– if distance(j,i) ≤ r then max-uidi ≥ UIDj
Proof (by induction on r):– Base: r = 0
distance(j,i) = 0 implies j = i, and max-uidi = UIDi
– Inductive step: assume for r-1, prove for r
![Page 31: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/31.jpg)
Leader election in general network
Do we need to know diameter? Can we reduce time complexity? Can we reduce message complexity?
![Page 32: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/32.jpg)
Leader election in general network
Reducing message complexity– don't send same UID twice– new state var: new-info: Boolean, initially true– only send max-uid if new-info = true– new-info := (max UID received > max-uid)
![Page 33: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/33.jpg)
Leader election in general network
1
5
43
2
6
1
2
5
3
6
4
Start configuration
![Page 34: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/34.jpg)
Leader election in general network
1
5
43
2
6
1
2
5
3
6
4
2
13
5
6
6
4
21
2
5
Round 1 (msgs)
![Page 35: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/35.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
2
13
5
6
6
4
21
2
5
Round 1 (trans)
![Page 36: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/36.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
Round 2 (start)
![Page 37: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/37.jpg)
Leader election in general network
1
5
43
2
6
3
5
5
6
6
6
5
36
6
53
Round 2 (msgs)
5
![Page 38: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/38.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
5
36
6
53
Round 2 (trans)
5
![Page 39: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/39.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
Round 3 (start)
![Page 40: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/40.jpg)
Leader election in general network
1
5
43
2
6
6
5
6
6
6
6
6
6
6 6
Round 3 (msgs)
![Page 41: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/41.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
6
6
6 6
Round 3 (trans)
![Page 42: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/42.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
Round 4 (start)
![Page 43: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/43.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
6
6
6
Round 4 (msgs)
![Page 44: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/44.jpg)
Leader election in general network
1
5
43
2
6
6
6
6
6
6
6
Round 4 (trans)
![Page 45: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/45.jpg)
Leader election in general network
Reducing message complexity– don't send same UID twice– new state var: new-info: Boolean, initially true– only send max-uid if new-info = true– new-info := (max UID received > max-uid)
Proof– repeat previous proof– simulation
![Page 46: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/46.jpg)
Simulation relation
“Run two algorithms side by side” Define simulation relation between states
– satisfied by start states– preserved by every transition– outputs should be the same in related states
![Page 47: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/47.jpg)
Simulation relation
All state variables in original are the same in both algorithms
Base case: by definition Inductive step Invariant:
– If i is in-nbr of j and maxuidi > maxuidj thennewi = true
– prove by induction
![Page 48: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/48.jpg)
What's with the proofs?
![Page 49: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/49.jpg)
Next week
Breadth-first search Shortest paths Spanning trees
![Page 50: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/50.jpg)
![Page 51: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/51.jpg)
Non-comparison-based algorithms Can we reduce msg complexity if we aren't
constrained to comparison-based algorithms? Consider the case where:
– n is known– UIDs are positive integers
Algorithm:– Phase 1, 2, 3,....; n rounds each– Phase k exclusively dedicated to UID k
Process with UID k sends it on first round of phase k then become leader and halt (elects min)
Other processes pass it on, then halt (not leader).– Msg complexity: n– Time complexity: umin n
![Page 52: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/52.jpg)
Non-comparison-based algorithms
What if we don't know n? VariableSpeeds algorithm in book
– UID k moves one hop every 2k rounds– propagate only smallest seen so far– msg complexity: O(n)– time complexity: O(n 2umin)
What if we know more?
![Page 53: 6.852: Distributed Algorithmscourses.csail.mit.edu/6.852/08/lectures/Distalgs-08-2.pdf6.852: Distributed Algorithms Leader election in a synchronous ring – lower bound for comparison-based](https://reader034.vdocuments.us/reader034/viewer/2022043013/5facf7533432363e1e1f4dfe/html5/thumbnails/53.jpg)
Leader election in general network
??
??
?
?
?
?
?