csce 668 distributed algorithms and systems

19
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 4: Asynchronous Lower Bound for LE in Rings 1

Upload: naomi-ramirez

Post on 31-Dec-2015

22 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

CSCE 668DISTRIBUTED ALGORITHMS AND SYSTEMS

Spring 2014Prof. Jennifer WelchCSCE 668

Set 4: Asynchronous Lower Bound for LE in Rings

1

Page 2: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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

Page 3: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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)

Page 4: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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)

Page 5: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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

Page 6: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 7: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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

Page 8: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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:

Page 9: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 10: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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…

Page 11: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 12: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 13: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 14: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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)

Page 15: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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…

Page 16: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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 :

Page 17: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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

Page 18: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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.

Page 19: CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS

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!