370 likes | 501 Vues
Controller and Estimator for Dynamic Networks. Amos Korman Shay Kutten Technion. Motivation. Many known algorithms are static . However , in most realistic contexts, and especially distributed contexts, ( the Internet, peer to peer networks etc.) setting is dynamic :. Remove edge.
E N D
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion
Motivation Manyknown algorithms are static. However, in most realistic contexts, and especially distributed contexts, (the Internet, peer to peer networks etc.) setting is dynamic: Remove edge Remove node Add node Add edge
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. C A removed A D B
Basic update problems Size-estimation : some center node maintains an approximation of # nodes. Name assignment : maintain at each node u, a unique short identity id(u). (Typically O(log n) bits, n is current # nodes).
Dynamic models For simplicity, in this talk, we assume the Serialized model : a topological change occurs only after all updates concerning previous topology changes have occurred. In fact, the protocols work also under the Controlled model [Afek et at.], in which topology changes may occur concurrently, as long as we can delay for arbitrary (but finite) time periods. The Controlled model, may be useful in overlay networks
Related work Afek, Awerbuch, Plotkin, and Saks showed (J. of ACM) how to solve the size-estimation and name-assignment problems on growing trees using O(log2n) amortized message complexity, per topology change. They assumed that the tree can only grow and only by allowing leaves to join. To solve the problems, they use a machinery called (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 topology change is granted a permit then the change occurs. u control protocol Request signal Messages are sent to update nodes v permit or reject
An (M,W)-controller : Requirements: Safety: At most M permits are given. Liveness: If the controller gives a reject then at leastM-W permits were given (W is the waste)
Controller knows how to stop when the # of permits is between M and M-W M-W M (in case w=0, the controller stops after precisely M permits were given.)
Trivial controller M permits Whenever a vertex u asks for a request, a signal is sent to the root. In turn, the root returns a permit to u, unless is has already given M permits. If the root has already given M permits, it returns reject to u. Problem: message complexity Ω(Mn). ROOT request
reduction from size-estimation and name assignment to controller E (n/2,n/4)-controller with O(π) amortized message complexity size estimation and name assignment protocols with O(π) amortized message complexity. (Even if the number of topology changes is not bounded (using iterations) [Afek et. Al]).
The (M,W)-controller of [AAPS] Can operate on a growing tree allowing only leaves to join the tree. Has O(n·log2n·log ( ) message complexity. (n is the final number of nodes) Therefore, if W=M/2 then their controller can solve the size estimation and name assignment problems withO(log2n) amortized message complexity. M W+1
New Extended (M,W)-controller In this paper, we give an extended (M,W)-controller operating under a more general model allowing both additions and deletions of both leaves and internal nodes. Same amortized message complexity: O(log2n log( )). M W+1
Size estimation and name assignment in extended dynamic model Constant size estimation with amortized messagecomplexity=O(log2n). Mainiatining unique identities usinglog n+O(1) bits per identity andO(log2n)amortized messagecomplexity.
Remark The behavior of node v in the controller of AAPS depends strongly on the depth of v which does not change in their scenario. Therefore it is not clear how to adapt the previous controller to the more general dynamic setting. ROOT
Extended (M,W)-controller M permits root sends packages of different sizes containing permits. Total # permits sent: no more thanM. ROOT large package small package
Safety The root does not send more than M permits. If it has sent M permits then it broadcasts a reject message to all nodes. Message complexity resulting from this `reject’ broadcast is O(n).
Extended (M,W)-controller M permits ROOT root sends packages of different sizes containing permits. Level i package contains precisely ρ2i permits i Level 0 package contains between 1 and ρ permits 0
The algorithm ROOT One permit from P is given to the request. Subsequently: a) size(P)=size(P)-1, b) a child is added. If size(P)=0, P is canceled. P 0 request (to add a child) request
ROOT One permit from P is given to request. Subsequently: a) size(P)=size(P)-1, b) all packages move to parent. c) the node is deleted. Pi P 0 request request (to delete the node)
If no level 0 package at u ROOT 0 Looking fora level-0 package at distance between 0 and 2Ψ. Issue permit u request
ROOT Looking fora level-i package at distance between 2i Ψand 2i+1 Ψ i u request
root 24Ψ Look for level-3 23Ψ Look for level-2 22Ψ Look for level-1 2Ψ Look for level-0 request U
root 3 24Ψ If not find, then a package of the appropriate size is issued at the root (unless it issued already M permits) Look for level-3 23Ψ Look for level-2 22Ψ Look for level-1 2Ψ Look for level-0 request U
24Ψ 3 23Ψ Move & split 22Ψ 2Ψ request
24Ψ 3 23Ψ 2 No other level-2 package 22Ψ 1 2Ψ 0 request 0
Correctness Safety:The root does issue more that M permits. Liveness: If a request is rejected, and at most W are stuck in packages then # granted requests is at least M-W. . M permits were sent ROOT At most W are stuck At least M-W were given
The waste is at most W ROOT Level i package contains precisely ρ2i permits j i i
24Ψ 3 23Ψ No other level-2 package 2 Domain 22Ψ 1 2Ψ 0 request 0
Domain invariants 1) Domain of level-i package is of size ~2iΨ 2) Domains of two level-i packageare disjoint. i i i Therefore, # of level-i packages is at most n/ 2iΨ
What happens to a domain when a topology change occurs? i Domain When a node leaves a domain it is still considered as part of the domain i Domain When a node joins a domain it is considered as part of the domain and the bottom node leave the domain
# of wasted tokens # of wasted permits in all level-i packages isn (ρ/Ψ). We fix ρ and Ψ so thatρ/Ψ= W/(n log n). Therefore wasted permits in level-i packages≤ W/log n. Altogether, wasted permits is at mostW.
24Ψ 3 communication: Need only bound move of packages 23Ψ Move & split Search for package 22Ψ 2Ψ request
Communication – cont. Fix level i. Apermitbelongs to at most one level i package. 3 2 1 0 request 0
Communication –cont. At most M/(size(i))=M/2iρ level-i packages ever exist. Each level-i package travels to distance O(2iΨ). Total messages incurred by level-i packages ≤ O(M(Ψ/ρ)) = O(n·log n·(M/W)). Summing over all levels: # messages is O(n·log2n·(M/W)). Using iterations, reduce to O(n·log2 n·log(M/(W+1))).
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(log2n) amortized massage complexity. Can we do better?