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 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 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. Request u v signal control protocol Messages are sent to update nodes If a request is to perform a topology change is granted a permit then the change occurs. An (M,W)-controller : Requirements: Safety: At most M permits are given. Liveness: If the controller gives a reject then at least M-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 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. M permits request Problem: message complexity Ω(Mn). ROOT 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. M Has O(n·log2n·log ( ) message complexity. W+1 (n is the final number of nodes) Therefore, if W=M/2 then their controller can solve the size estimation and name assignment problems with O(log2n) amortized message complexity. 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 M 2 message complexity: O(log n log(W+1)). Size estimation and name assignment in extended dynamic model Constant size estimation with amortized message complexity=O(log2n). Mainiatining unique identities using log n+O(1) bits per identity and O(log2n) amortized message complexity. 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. ROOT Therefore it is not clear how to adapt the previous controller to the more general dynamic setting. Extended (M,W)-controller M permits ROOT large package root sends packages of different sizes containing permits. Total # permits sent: no more than M. 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 sends packages of different sizes containing permits. ROOT Level i package contains precisely ρ2i permits i 0 Level 0 package contains between 1 and ρ permits The algorithm ROOT P 0 request request (to add a child) 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. ROOT Pi P 0 request request (to delete the node) 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. If no level 0 package at u ROOT 0 Looking for a level-0 package at distance between 0 and 2Ψ. u request Issue permit Looking for a level-i package at distance between 2i Ψ and 2i+1 Ψ u request i ROOT root 24Ψ Look for level-3 23Ψ Look for level-2 22Ψ Look for level-1 2Ψ Look for level-0 U request root 24Ψ 3 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 U request 24Ψ 3 23Ψ Move & split 22Ψ 2Ψ request 24Ψ 3 23Ψ No other level-2 package 2 22Ψ 1 2Ψ 0 0 request 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. . ROOT M permits were sent 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 i j i 24Ψ 3 23Ψ No other level-2 package 2 Domain 22Ψ 1 2Ψ 0 0 request Domain invariants 1) Domain of level-i package is of size ~2iΨ 2) Domains of two level-i package are disjoint. 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 is n (ρ/Ψ). We fix ρ and Ψ so that ρ/Ψ= W/(n log n). Therefore wasted permits in level-i packages ≤ W/log n. Altogether, wasted permits is at most W. 24Ψ communication: Need only bound move of packages 3 23Ψ Move & split Search for package 22Ψ 2Ψ request Communication – cont. Fix level i. A permit belongs to at most one level i package. 3 2 1 0 0 request 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? THANK YOU
© Copyright 2026 Paperzz