csce 668 distributed algorithms and systems
DESCRIPTION
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS. Spring 2014 Prof. Jennifer Welch. Asynchronous Lower Bound on Messages. ( n log n ) lower bound for any leader election algorithm A that (1) works in an asynchronous ring necessary for result to hold (2) is uniform (doesn't use ring size) - PowerPoint PPT PresentationTRANSCRIPT
CSCE 668DISTRIBUTED ALGORITHMS AND SYSTEMS
Spring 2014Prof. Jennifer WelchCSCE 668
Set 4: Asynchronous Lower Bound for LE in Rings
1
Asynchronous Lower Bound on Messages
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
2
(n log n) lower bound for any leader election algorithm A that(1) works in an asynchronous ring
necessary for result to hold(2) is uniform (doesn't use ring size)
necessary for this proof to work(3) elects maximum id
no loss of generality(4) guarantees everyone learns id of winner
no loss of generality
Statement of Key Result
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
3
Theorem (3.5): For every n that is a power of 2 and every set of n ids, there is a ring using those ids on which any uniform asynchronous leader election algorithm has a schedule in which at least M(n) messages are sent, where M(2) = 1 and M(n) = 2M(n/2) + (n/2 - 1)/2, n > 2.
Why does this give (n log n) result? because M(n) = (n log n) (cf. how to solve
recurrences)
Discussion of Statement
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
4
power of 2: can be adapted for other case "schedule": the sequence of events (and
events only) extracted from an execution, i.e., discard the configurations configuration gives away number of processors but we will want to use the same sequence of
events in different size rings relies on assumption of uniform algorithm (ring
size unknown)
Idea of Asynchronous Lower Bound
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
5
The lower bound on the number of messages, M(n), is described by a recurrence: M(n) = 2 M(n/2) + (n/2 - 1)/2
Prove the bound by induction Double the ring size at each step
so induction is on the exponent of 2 Show how to construct an expensive
execution on a larger ring by starting with two expensive executions on smaller rings (2*M(n/2)) and then causing about n/4 extra messages to be sent
Open Schedules
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
6
To make the induction go through, the expensive executions must have schedules that are "open".
Definition of open schedule: There is an edge over which no message is delivered.
An edge over which no message is delivered is called an open edge.
Proof of Base Case
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
7
Suppose n = 2.
Suppose x > y. Then p0 wins and p1 must learn that the
leader id is x. So p0 must send at least one message to p1. Truncate execution immediately after the
first message is sent (before it is delivered) to get desired open schedule with M(2) = 1 message.
p0 p1p1x y
Proof of Inductive Step
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
8
Suppose n ≥ 4. Split S (set of ids) into two halves, S1
and S2. By inductive hypothesis, there are two
rings, R1 and R2:
Apply Inductive Hypothesis
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
9
R1 has an open schedule 1 in which at least M(n/2) messages are sent and e1 = (p1,q1) is an open edge.
R2 has an open schedule 2 in which at least M(n/2) messages are sent and e2 = (p2,q2) is an open edge.
Paste Together Two Rings
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
10
Paste R1 and R2 together over their open edges to make big ring R.
Next, build an execution of R with M(n) messages…
Paste Together Two Executions
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
11
Execute 1: procs. on left cannot tell difference between being in R1 and being in R. So they behave the same and send M(n/2) msgs in R. Next…
Execute 2: procs. on right cannot tell difference between being in R2 and being in R. So they behave the same and send M(n/2) msgs in R.
Generating Additional Messages
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
12
Now we have 2*M(n/2) msgs. How to get the extra (n/2 - 1)/2 msgs?
Case 1: Without unblocking (delivering a msg on) ep or eq, there is an extension of 1 2 on R in which (n/2 - 1)/2 more msgs are sent.
Then this is the desired open schedule.
Generating Additional Messages
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
13
Case 2: Without unblocking (delivering a msg on) ep or eq, every extension of 1 2 on R leads to quiescence: no proc. will send another msg. unless it
receives one no msgs are in transit except on ep and eq
Let 3 be any extension of 1 2 that leads to quiescence without unblocking ep or eq.
Getting n/2 More Messages
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
14
Let 4'' be an extension of 1 2 3 that leads to termination.
Claim: At least n/2 messages are sent in 4''. Why? Each of the n/2 procs. in the half of R not
containing the leader must receive a msg to learn the leader's id.
Until 4'' there has been no communication between the two halves of R (remember the open edges)
Getting an Open Schedule
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
15
Remember we want to use this ring R and this expensive execution as building blocks for the next larger power of 2, in which we will paste together two open executions
So we have to find an expensive open execution (with at least one edge over which no msg is delivered).
1 2 3 4'' might not be open A little more work is needed…
Getting an Open Schedule
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
16
As msgs in ep and eq are delivered in
4'', procs. "wake up" from quiescent state and send more msgs.
Sets of awakened procs. (P and Q) expand outward around ep and eq :
Getting an Open Schedule
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
17
Let 4' be the prefix of 4'' when n/2 - 1 msgs have been sent
P and Q cannot meet in 4', since less than n/2 msgs are sent in 4'
W.l.o.g., suppose the majority of these msgs are sent by procs in P (at least (n/2 - 1)/2 msgs)
Let 4 be the subsequence of 4' consisting of just the events involving procs. in P
Getting an Open Schedule
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
18
When executing 1234, processors in P behave the same as when executing 1234'. Why?
The only difference between 4 and 4' is that 4 is missing the events by procs. in Q.
But since there is no communication in 4 between procs. in P and procs. in Q, procs. in P cannot tell the difference.
Wrap Up
CSCE 668Set 4: Asynchronous Lower Bound for
LE in Rings
19
Consider schedule 1234 . During 1, M(n/2) msgs are sent, none
delivered over ep or eq
During 2, M(n/2) msgs are sent, none delivered over ep or eq
During 3, all msgs are delivered except those over ep or eq; possibly some more msgs are sent
During 4, (n/2 - 1)/2 msgs are sent, none delivered over eq (why??)
This is our desired schedule for the induction!