Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Chapter 15 Basic Asynchronous Network Algorithms
Dynamic Planar Convex Hull Operations in Near- Logarithmic Amortized Time TIMOTHY M. CHAN.
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
An Improved Succinct Dynamic k-Ary Tree Representation (work in progress) Diego Arroyuelo Department of Computer Science, Universidad de Chile.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Graph Isomorphism Algorithms and networks. Graph Isomorphism 2 Today Graph isomorphism: definition Complexity: isomorphism completeness The refinement.
Lecture 7: Synchronous Network Algorithms
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn.
Information Dissemination in Highly Dynamic Graphs Regina O’Dell Roger Wattenhofer.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
1 Minimum Spanning Trees Gallagher-Humblet-Spira (GHS) Algorithm.
Adaptive Splitting Protocols for RFID Tag Collision Arbitration Jihoon Myung and Wonjun Lee ACM Mobihoc 06.
Distributed Algorithms Broadcast and spanning tree.
Chapter 4 - Self-Stabilizing Algorithms for Model Conservation4-1 Chapter 4: roadmap 4.1 Token Passing: Converting a Central Daemon to read/write 4.2 Data-Link.
Routing So how does the network layer do its business?
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
1 Brief Announcement: Distributed Broadcasting and Mapping Protocols in Directed Anonymous Networks Michael Langberg: Open University of Israel Moshe Schwartz:
CS218 – Final Project A “Small-Scale” Application- Level Multicast Tree Protocol Jason Lee, Lih Chen & Prabash Nanayakkara Tutor: Li Lao.
P2P Course, Structured systems 1 Introduction (26/10/05)
Data Transmission and Base-Station Placement for Optimizing Network Lifetime Esther M. Arkin and Joseph S. B. Mitchell Stony Brook University Swaminathan.
Minimal Spanning Trees What is a minimal spanning tree (MST) and how to find one.
Complexity of Bellman-Ford Theorem. The message complexity of Bellman-Ford algorithm is exponential. Proof outline. Consider a topology with an even number.
Algorithms 2005 Ramesh Hariharan. Amortization in Dynamic Algorithms A single insertion/deletion might take say O(log n) time Does a sequence of n insertions.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
All that remains is to connect the edges in the variable-setters to the appropriate clause-checkers in the way that we require. This is done by the convey.
1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.
Minimum Spanning Tree Given a weighted graph G = (V, E), generate a spanning tree T = (V, E’) such that the sum of the weights of all the edges is minimum.
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
On a Network Creation Game PoA Seminar Presenting: Oren Gilon Based on an article by Fabrikant et al 1.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
The Routing Table Last Update Copyright Kenneth M. Chipps Ph.D.
Complexity of Bellman-Ford
PODC Distributed Computation of the Mode Fabian Kuhn Thomas Locher ETH Zurich, Switzerland Stefan Schmid TU Munich, Germany TexPoint fonts used in.
04/06/2016Applied Algorithmics - week101 Dynamic vs. Static Networks  Ideally, we would like distributed algorithms to be: dynamic, i.e., be able to.
Energy-Efficient Monitoring of Extreme Values in Sensor Networks Loo, Kin Kong 10 May, 2007.
A correction The definition of knot in page 147 is not correct. The correct definition is: A knot in a directed graph is a subgraph with the property that.
Union-find Algorithm Presented by Michael Cassarino.
A Membership Management Protocol for Mobile P2P Networks Mohamed Karim SBAI, Emna SALHI, Chadi BARAKAT.
On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.
Routing and Routing Protocols
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport Massachusetts Computer Associates,Inc. Presented by Xiaofeng Xiao.
CS 61B Data Structures and Programming Methodology Aug 7, 2008 David Sun.
1 Fat heaps (K & Tarjan 96). 2 Goal Want to achieve the performance of Fibonnaci heaps but on the worst case. Why ? Theoretical curiosity and some applications.
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
Deterministic Distributed Resource Discovery Shay Kutten Technion David Peleg Weizmann Inst. Uzi Vishkin Univ. of Maryland & Technion.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
1 Optimal Allocation of Electronic Content in Networks Israel Cidon- Technion Shay Kutten- Technion Ran Soffer- Redux.
Introduction Wireless Ad-Hoc Network  Set of transceivers communicating by radio.
Delivery Categories of Messaging. Messaging Categories Unicast: Messages are sent to a single, specific recipient Multicast: Messages are sent to a group.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Andreas Klappenecker [partially based on the slides of Prof. Welch]
Concurrent Broadcast for Information Dissemination
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Michael Langberg: Open University of Israel
Algorithms and networks
Red-Black Trees Motivations
Data Structures and Algorithms
Parallel and Distributed Algorithms
Multi-Way Search Trees
Algorithms and networks
Lecture 8: Synchronous Network Algorithms
Clustering.
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Presentation transcript:

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: Add node Remove edge Add edge Remove node

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. A B C D A removed

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(log 2 n) 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 Request v signal control protocol Messages are sent to update nodes permit or reject

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)

M M-W Controller knows how to stop when the # of permits is between M and M-W (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. Problem: message complexity Ω(Mn). ROOT M permits request

reduction from size-estimation and name assignment to controller (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]). E

The (M,W)-controller of [AAPS] Can operate on a growing tree allowing only leaves to join the tree. Has O(n·log 2 n·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 with O(log 2 n) amortized message complexity. W+1 M

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(log 2 n log( )). W+1 M

Size estimation and name assignment in extended dynamic model Constant size estimation with amortized message complexity=O(log 2 n). Mainiatining unique identities using log n+O(1) bits per identity and O(log 2 n) 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. Therefore it is not clear how to adapt the previous controller to the more general dynamic setting. ROOT

Extended (M,W)-controller ROOT M permits root sends packages of different sizes containing permits. Total # permits sent: no more than M. 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 ROOT M permits 0 root sends packages of different sizes containing permits. i Level i package contains precisely ρ2 i permits Level 0 package contains between 1 and ρ permits

ROOT request (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. If size(P)=0, P is canceled. P The algorithm

ROOT request (to delete the node) 0 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. P PiPi

ROOT request 0 Looking for a level-0 package at distance between 0 and 2 Ψ. Issue permit u If no level 0 package at u

ROOT request i Looking for a level-i package at distance between 2 i Ψ and 2 i+1 Ψ u

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

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 3 If not find, then a package of the appropriate size is issued at the root (unless it issued already M permits)

request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ 3 Move & split

request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ No other level-2 package

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 ρ2 i permits i j i

request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ No other level-2 package Domain

Domain invariants 1) Domain of level-i package is of size ~2 i Ψ 2) Domains of two level-i package are disjoint. i Therefore, # of level-i packages is at most n/ 2 i Ψ i i

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.

request 2Ψ2Ψ 22Ψ22Ψ 23Ψ23Ψ 24Ψ24Ψ 3 Move & split Search for package communication : Need only bound move of packages

Communication – cont. Fix level i. A permit belongs to at most one level i package. request

At most M/(size(i))=M/2 i ρ level-i packages ever exist. Each level-i package travels to distance O(2 i Ψ). 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+1))). Communication –cont.

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?

THANK YOU