Você está na página 1de 25

Set 3: Leader Election in Rings

CSCE 668
DISTRIBUTED ALGORITHMS
AND SYSTEMS

CSCE 668

Fall 2011
Prof. Jennifer Welch

Ring Networks
2

In an oriented ring, processors have a


consistent notion of left and right

For example, if messages are always


forwarded on channel 1, they will cycle
clockwise around the ring
Set 3: Leader Election in Rings

CSCE 668

Why Study Rings?


3

simple starting point, easy to analyze


abstraction of a token ring
lower bounds and impossibility results
for ring topology also apply to arbitrary
topologies

Set 3: Leader Election in Rings

CSCE 668

Leader Election Definition


4

Each processor has a set of elected (won)


and not-elected (lost) states.
Once an elected state is entered,
processor is always in an elected state
(and similarly for not-elected): i.e.,
irreversible decision
In every admissible execution:

every processor eventually enters either an


elected or a not-elected state
exactly one processor (the leader) enters an
elected state
Set 3: Leader Election in Rings

CSCE 668

Uses of Leader Election


5

A leader can be used to coordinate


activities of the system:

find a spanning tree using the leader as the


root
reconstruct a lost token in a token-ring
network

We will study leader election in rings.

Set 3: Leader Election in Rings

CSCE 668

Anonymous Rings
6

How to model situation when processors


do not have unique identifiers?
First attempt: require each processor to
have the same state machine
Subtle point: does algorithm rely on
knowing the ring size (number of
processors)?

Set 3: Leader Election in Rings

CSCE 668

Uniform (Anonymous)
Algorithms

A uniform algorithm does not use the ring


size (same algorithm for each size ring)

A non-uniform algorithm uses the ring


size (different algorithm for each size ring)

Formally, every processor in every size ring is


modeled with the same state machine

Formally, for each value of n, every processor in


a ring of size n is modeled with the same state
machine An .

Note the lack of unique ids.


Set 3: Leader Election in Rings

CSCE 668

Leader Election in
Anonymous Rings

Theorem: There is no leader election


algorithm for anonymous rings, even if

algorithm knows the ring size (non-uniform)


synchronous model

Proof Sketch:

Every processor begins in same state with same


outgoing msgs (since anonymous)
Every processor receives same msgs, does same
state transition, and sends same msgs in round 1
Ditto for rounds 2, 3,
Eventually some processor is supposed to enter
an elected state. But then they all would.
Set 3: Leader Election in Rings

CSCE 668

Leader Election in
Anonymous Rings

Proof sketch shows that either safety


(never elect more than one leader) or
liveness (eventually elect at least one
leader) is violated.
Since the theorem was proved for nonuniform and synchronous rings, the same
result holds for weaker (less well-behaved)
models:

uniform
asynchronous
Set 3: Leader Election in Rings

CSCE 668

Rings with Identifiers


10

Assume each processor has a unique


id.
Don't confuse indices and ids:

indices are 0 to n - 1; used only for


analysis, not available to the processors
ids are arbitrary nonnegative integers;
are available to the processors through
local variable id.

Set 3: Leader Election in Rings

CSCE 668

Specifying a Ring
11

Start with the smallest id and list ids in


clockwise order.
id = 3

id = 37

p4

p0
p1

id = 25

p3

p2

id = 19

id = 4

Example: 3, 37, 19, 4, 25


Set 3: Leader Election in Rings

CSCE 668

12

Uniform (Non-anonymous)
Algorithms

Uniform algorithm: there is one state


machine for every id, no matter what
size ring
Non-uniform algorithm: there is one
state machine for every id and every
different ring size
These definitions are tailored for leader
election in a ring.

Set 3: Leader Election in Rings

CSCE 668

13

Overview of LE in Rings
with Ids

There exist algorithms when nodes have


unique ids.
We will evaluate them according to their
message complexity.
asynchronous ring:

synchronous ring:

(n log n) messages
(n) messages under certain conditions
otherwise (n log n) messages

All bounds are asymptotically tight.


Set 3: Leader Election in Rings

CSCE 668

14

O(n2) Messages LE
Algorithm

send value of own id to the left


when receive an id j (from the right):

if j > id then
forward

if j = id then
elect

j to the left (this processor has lost)

self (this processor has won)

if j < id then
do

nothing

Set 3: Leader Election in Rings

CSCE 668

Analysis of O(n2) Algorithm


15

Correctness: Elects processor with largest


id.

msg containing largest id passes through every


processor

Time: O(n)
Message complexity: Depends how the ids
are arranged.

largest id travels all around the ring (n msgs)


2nd largest id travels until reaching largest
3rd largest id travels until reaching largest or
second largest
etc.
Set 3: Leader Election in Rings

CSCE 668

Analysis of O(n2) Algorithm


16

Worst way to arrange the ids is in decreasing


order:

2nd largest causes n - 1 messages


3rd largest causes n - 2 messages
etc.

Total number of messages is n + (n-1) + (n-2) +


+ 1 = (n2).

Set 3: Leader Election in Rings

CSCE 668

17

Can We Use Fewer


Messages?

The O(n2) algorithm is simple and works


in both synchronous and asynchronous
model.
But can we solve the problem with fewer
messages?
Idea:

Try to have msgs containing smaller ids


travel smaller distance in the ring

Set 3: Leader Election in Rings

CSCE 668

18

O(n log n) Leader Election


Algorithm

Each proc. tries to probe successively larger


neighborhoods in both directions

size of neighborhood doubles in each phase

If probe reaches a node with a larger id, the


probe stops
If probe reaches end of its neighborhood,
then a reply is sent back to initiator
If initiator gets back replies from both
directions, then go to next phase
If proc. receives a probe with its own id, it
elects itself
Set 3: Leader Election in Rings

CSCE 668

19

O(n log n) Leader Election


Algorithm
probe
reply

probe
reply

probe

probe

reply

reply

probe probe

probe

reply

reply

reply

pi

probe
reply
probe probe
reply

reply

probe probe
reply

reply

Set 3: Leader Election in Rings

probe probe
reply

CSCE 668

reply

20

Analysis of O(n log n)


Leader Election Algorithm

Correctness: Similar to O(n2)


algorithm.
Message Complexity:

Each msg belongs to a particular phase and


is initiated by a particular proc.
Probe distance in phase k is 2k
Number of msgs initiated by a proc. in
phase k is at most 4*2k (probes and replies
in both directions)

Set 3: Leader Election in Rings

CSCE 668

21

Analysis of O(n log n)


Leader Election Algorithm

How many procs. initiate probes in phase


k?
For k = 0, every proc. does
For k > 0, every proc. that is a "winner"
in phase k - 1 does

"winner" means has largest id in its 2 k-1


neighborhood

Set 3: Leader Election in Rings

CSCE 668

22

Analysis of O(n log n) Leader


Election Algorithm

Maximum number of phase k - 1 winners


occurs when they are packed as densely
as possible:
2k-1 processors

a phase
k-1 winner

a phase
k-1 winner

total number of phase k - 1 winners is at


most
n/(2k-1 + 1)
Set 3: Leader Election in Rings

CSCE 668

23

Analysis of O(n log n) Leader


Election Algorithm

How many phases are there?


At each phase the number of (phase)
winners is cut approx. in half

from n/(2k-1 + 1) to n/(2k + 1)

So after approx. log2 n phases, only one


winner is left.

more precisely, max phase is log(n1) +1

Set 3: Leader Election in Rings

CSCE 668

24

Analysis of O(n log n) Leader


Election Algorithm

Total number of messages is sum, over all


phases, of number of winners at that
phase times number of messages
originated by that winner:
log(n1) +1

phase 0 msgs
termination
msgs

4n + n + 42kn/(2k-1+1)
k=1

< 8n(log n + 2) + 5n
msgs for
phases 1 to
log(n1) +1

= O(n log n)
Set 3: Leader Election in Rings

CSCE 668

Can We Do Better?
25

The O(n log n) algorithm is more


complicated than the O(n2) algorithm but
uses fewer messages in worst case.
Works in both synchronous and
asynchronous case.
Can we reduce the number of messages
even more?
Not in the asynchronous model

Set 3: Leader Election in Rings

CSCE 668

Você também pode gostar