Title: CPSC 668 Distributed Algorithms and Systems
1CPSC 668Distributed Algorithms and Systems
- Fall 2006
- Prof. Jennifer Welch
2Asynchronous Lower Bound on Messages
- ?(n log n) lower bound for any leader election
algorithm A that - (1) works in an asynchronous ring
- (2) is uniform (doesn't use ring size)
- (3) elects maximum id
- (4) guarantees everyone learns id of winner
necessary for result to hold
necessary for this proof to work
no loss of generality
no loss of generality
3Statement of Key Result
- 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 asynchronous leader
election 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 gt 2.
- Why does this give ?(n log n) result?
- because M(n) ?(n log n)
- (cf. how to solve recurrences from CPSC 311)
4Discussion of Statement
- 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
5Idea of Asynchronous Lower Bound
- 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 (2M(n/2)) and then
causing about n/4 extra messages to be sent
6Open Schedules
- 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.
7Proof of Base Case
- Suppose n 2.
- Suppose x gt y. Then p0 wins and p1 must learn
that the leader id is x. So p0 must send a
message to p1. Truncate immediately after the
message is sent (before it is delivered) to get
desired open schedule.
p0
p1
y
p1
x
8Proof of Inductive Step
- Suppose n 4.
- Split S (set of ids) into two halves, S1 and S2.
- By inductive hypothesis, there are two rings, R1
and R2
9Apply Inductive Hypothesis
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.
10Paste Together Two Rings
- Paste R1 and R2 together over their open edges to
make big ring R. - Next, build an execution of R with M(n) messages
11Paste Together Two Executions
depends on uniform assumption
- 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. - 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.
12Generating Additional Messages
- Now we have 2M(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.
13Generating Additional Messages
- 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.
14Getting n/2 More Messages
- 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)
depends on assumption that all learn leader's id
15Getting an Open Schedule
- 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
16Getting an Open Schedule
- 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
17Getting an Open Schedule
- 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
18Getting an Open Schedule
- When executing ?1?2?3?4, processors in P behave
the same as when executing ?1?2?3?4'. 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.
depends on asynchrony assumption
19Wrap Up
- Consider schedule ?1?2?3?4 .
- 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!