On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.

30
On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten

Transcript of On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.

On dynamic distributed algorithms

Amos Korman

Technion

Based on a paper with Shay Kutten

Motivation

Most known algorithms are static.However, in most realistic contexts,and especially distributed contexts ,

(the Internet, peer to peer networks etc).

setting is dynamic :

i.e., at any time, nodes and links may be added or removed.

Motivation – cont.

Therefore, for a distributed scheme to be useful, it should be capable of reflecting up-to date information in dynamic setting,

which may require occasional updates.

It is therefore important to find efficient schemes that solve basic problems in dynamic settings.

A

B

C

D

A crashed

Basic problems

Size-estimation : some center node

maintains an approximation of # nodes.

Dynamic name assignment : maintain at each node u, a unique short identity id(u). )Tipically O)log n( bits, n is current # nodes(.

Dynamic models -Uncontrolled model : topo. changes

occur spontaneously without any constrains.

- Serialized model : a topological changeoccurs only after all updates concerningprevious topo. changes have occurred.

The first is weaker and more realistic. The second allows investigating the combinatorial aspects

without getting into asynchrony issues.

The problems in the uncontrolled model

The size-estimation problem cannot be solved in the uncontrolled model ,

unless correctness is guaranteed only when the system is quiet for sufficiently long time

(which may never happen.)

ROOT

dynamic name-assignment problem in the uncontrolled

model

If nodes can only join ,

problem can be

partially solved :

each node eventually

has a short unique identity.

If nodes can be deleted ,

identities cannot be

short w. respect to

current # of nodes.

dynamic name-assignment problem in the uncontrolled

model – cont.

log N bits

N=total # nodes

Intermediate dynamic model

Controlled model : when a topo. Change

``wishes’’ to occur at node u, it refrains from occurring until u receives a permit from the control protocol to perform the change .

It is required that every request to perform a topo. change eventually receives a permit

and subsequently the change occurs .

u

Request : please delete your edge (u,v)

v

Can I? control protocol

Messages are sent to update

nodeso.k

u

v

u deletes (u,v)

Related workAfek, Awerbuch, Plotkin and Saks

showed (J. of ACM) how to solve these problems in the controlled model using O(log2n) amortized message complexity, per topological change.They assume that the underlying network is a tree

and the tree can only grow and only by allowing leaves to join. )In fact, since non-tree edges can be ignored, their scheme can be applied on a general underlying graph spanned by a growing tree(.

To solve the problems, they use a machinery called

an (M,W)-CONTROLLER .

An (M,W)-controller

Requests arrive )from environment( to nodes. Each request is eventually either

granted a permit or rejected .

If a request is to perform a topo. change is granted a permit then the change occurs .

uRequest

v

signal control protocolMessages are sent to update

nodes

permit or reject

An (M,W)-controller : Requirements:

Safety:At most M permits are issued.Liveness:

If a request is rejected then at least M-W permits

are eventually granted(W is the waste)

Given dynamic model ▲, if a controller can operate under ▲

then it can solve the size-estimation problem in.▲

The controller can estimate the # of topological changes since it is the one issuing the permits to perform them.

The (M,W)-controller of [AAPS]

Can operate on a growing tree allowing

only leaves to join the tree.

Has O)nlog2n log) (( message complexity.

Solves the size-estimation and dynamic name assignment

problems on a growing tree using O)log2n( amortized message complexity .

W+1M

New (M,W)-controller

We establish an extended (M,W)-controller operating under a more general model: allowing both additions and deletions of both leaves and internal nodes.

We manage to keep the same

message complexity: O(nlog2n log( )).

(for above problems: complexity=O)log2n(.)W+1M

Extended (M,W)-controller

ROOT

M permits

0

root sends packages of different sizes

containing permits.Total # permits sent:

no more than M.i

Level i package contains preciselyρ2i permits

Level 0 package contains between

1 and ρ permits

Safety

The root does not send more than M permits. If it has sent M permits then

It starts sending rejects to coming requests .

ROOT

request

request

request

(to delete a child)

(to add a child)

0

One permit from P is given to the request. Subsequently :

a) size(P)=size(P)-1 ,b) a child is added .

P

ROOT

request

0Looking for a level-0 package

at distance between0 and 2Ψ.

Issue permit

u

ROOT

request

iLooking for a level-i package

at distance between2i Ψ and 2i+1 Ψ

u

request

22Ψ

23Ψ

24Ψroot

Look for level-0

Look for level-1

Look for level-2

Look for level-3

U

request

22Ψ

23Ψ

24Ψ

3

Move & split

request

22Ψ

23Ψ

24Ψ

3

1

0

2

0

No other level-2 package

Correctness

Safety: The root does issue more that M permits.

Liveness : If a request is rejected, we need to show # granted requests is at least M-W .

If a request is rejected, them M permits were issued. Therefore, # granted requests is M minus the

wasted tokens in existing packages .

It is therefore enough to show that

W> # wasted tokens in existing packages .

request

22Ψ

23Ψ

24Ψ

3

1

0

2

0

No other level-2 package

Domain

22Ψ

23Ψ

2

Domain

No other level-2 package

1) Domain of level-i package is of size ~2iΨ2) Domains of two level-i package are disjoint.

#of wasted tokens #of wasted tokens in all level-i packages is

n/(2iΨ) · size(i) = n/(2iΨ) · 2iρ= n (Ψ/ρ).

ρ=log n · max{n/W,1}, Ψ= max{W/n,1}

Therefore, Ψ/ρ= W/(n log n).

Therefore wasted tokens in level-i packages ≤ W/log n. Altogether, wasted tokens is at most W.

Communication

Need only bound move of packages.A level-i package travels to distance O(2iΨ).

At most M/(size(i))=M/2iρ level-i packages are created. Therefore, total messages incurred by

level-i packages ≤ O(M(ρ/Ψ))=O(n·log n·(M/W)).

Summing over all levels: # messages is O(n·log2 n·(M/W)). Using iterations,reduce to O(n·log2 n·log(M/W)).

conclusion

The field of dynamic distributed algorithms brings many challenging and important problems. )In particular, transform known static schemes to dynamic ones.(

We managed to solve the size estimation and dynamic name assignment problems using O)log2 n( amortized massage complexity.

Can we do better?