On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.
-
Upload
dale-peregrine-chapman -
Category
Documents
-
view
218 -
download
2
Transcript of 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
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 .
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?