CPSC 668 Distributed Algorithms and Systems - PowerPoint PPT Presentation

About This Presentation
Title:

CPSC 668 Distributed Algorithms and Systems

Description:

(n log n) lower bound for any leader election algorithm A that (1) works in an ... Truncate immediately after the message is sent (before it is delivered) to get ... – PowerPoint PPT presentation

Number of Views:14
Avg rating:3.0/5.0
Slides: 20
Provided by: jennife380
Category:

less

Transcript and Presenter's Notes

Title: CPSC 668 Distributed Algorithms and Systems


1
CPSC 668Distributed Algorithms and Systems
  • Fall 2006
  • Prof. Jennifer Welch

2
Asynchronous 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
3
Statement 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)

4
Discussion 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

5
Idea 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

6
Open 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.

7
Proof 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
8
Proof 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

9
Apply 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.
10
Paste 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

11
Paste 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.

12
Generating 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.

13
Generating 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.

14
Getting 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
15
Getting 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

16
Getting 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

17
Getting 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

18
Getting 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
19
Wrap 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!
Write a Comment
User Comments (0)
About PowerShow.com