Download presentation
Presentation is loading. Please wait.
Published byDale Peregrine Chapman Modified over 9 years ago
1
On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten
2
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.
3
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
4
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).
5
Dynamic models - Uncontrolled model : topo. changes occur spontaneously without any constrains. - Serialized model : a topological change occurs only after all updates concerning previous topo. changes have occurred. The first is weaker and more realistic. The second allows investigating the combinatorial aspects without getting into asynchrony issues.
6
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
7
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.
8
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
9
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.
10
u Request : please delete your edge (u,v) v Can I ? control protocol Messages are sent to update nodes o.k u v u deletes (u,v)
11
Related work Afek, Awerbuch, Plotkin and Saks showed (J. of ACM) how to solve these problems in the controlled model using O(log 2 n) 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.
12
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. u Request v signal control protocol Messages are sent to update nodes permit or reject
13
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)
14
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.
15
The (M,W)-controller of [AAPS] Can operate on a growing tree allowing only leaves to join the tree. Has O(nlog 2 n log( )) message complexity. Solves the size-estimation and dynamic name assignment problems on a growing tree using O(log 2 n) amortized message complexity. W+1 M
16
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(nlog 2 n log( )). (for above problems: complexity=O(log 2 n)). W+1 M
17
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 ρ2 i permits Level 0 package contains between 1 and ρ permits
18
Safety The root does not send more than M permits. If it has sent M permits then It starts sending rejects to coming requests.
19
ROOT 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
20
ROOT request 0 Looking for a level-0 package at distance between 0 and 2 Ψ. Issue permit u
21
ROOT request i Looking for a level-i package at distance between 2 i Ψ and 2 i+1 Ψ u
22
request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ root Look for level-0 Look for level-1 Look for level-2 Look for level-3 U
23
request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ 3 Move & split
24
request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ 3 1 0 2 0 No other level-2 package
25
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.
26
request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ 3 1 0 2 0 No other level-2 package Domain
27
22Ψ22Ψ 23Ψ23Ψ 2 No other level-2 package 1)Domain of level-i package is of size ~2 i Ψ 2) Domains of two level-i package are disjoint.
28
# of wasted tokens # of wasted tokens in all level-i packages is n/(2 i Ψ) · size(i) = n/(2 i Ψ) · 2 i ρ= 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.
29
Communication Need only bound move of packages. A level-i package travels to distance O(2 i Ψ). At most M/(size(i))=M/2 i ρ 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·log 2 n·(M/W)). Using iterations,reduce to O(n·log 2 n·log(M/W)).
30
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(log 2 n) amortized massage complexity. Can we do better?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.