On dynamic distributed algorithms Amos Korman Technion Based on a paper with Shay Kutten.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Communication Networks Recitation 3 Bridges & Spanning trees.
CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Distributed Computing 1. Lower bound for leader election on a complete graph Shmuel Zaks ©
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Chapter 15 Basic Asynchronous Network Algorithms
1Department of Electrical Engineering and Computer Science, University of Michigan, USA. 2Department of Computer Science, National University of Singapore,
Lecture 7: Synchronous Network Algorithms
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
1 Complexity of Network Synchronization Raeda Naamnieh.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
B-Trees. Motivation for B-Trees Index structures for large datasets cannot be stored in main memory Storing it on disk requires different approach to.
Adaptive Splitting Protocols for RFID Tag Collision Arbitration Jihoon Myung and Wonjun Lee ACM Mobihoc 06.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Distributed Algorithms Broadcast and spanning tree.
Mesh Networks A.k.a “ad-hoc”. Definition A local area network that employs either a full mesh topology or partial mesh topology Full mesh topology- each.
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Distributed Computing Group A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn Fabian Kuhn Stefan Schmid Roger Wattenhofer IPTPS.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
A Distributed Algorithm for Minimum-Weight Spanning Trees by R. G. Gallager, P.A. Humblet, and P. M. Spira ACM, Transactions on Programming Language and.
Strategies for Implementing Dynamic Load Sharing.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
1 Internet Networking Spring 2006 Tutorial 3 Ad-hoc networks TBRPF (based on IETF tutorials on TBRPF)
MULTICASTING Network Security.
P2P Course, Structured systems 1 Introduction (26/10/05)
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
2a.1 Evaluating Parallel Programs Cluster Computing, UNC-Charlotte, B. Wilkinson.
Complexity of Bellman-Ford Theorem. The message complexity of Bellman-Ford algorithm is exponential. Proof outline. Consider a topology with an even number.
Distributed Algorithms 2014 Igor Zarivach A Distributed Algorithm for Minimum Weight Spanning Trees By Gallager, Humblet,Spira (GHS)
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
MST Many of the slides are from Prof. Plaisted’s resources at University of North Carolina at Chapel Hill.
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.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.
1 B-Trees & (a,b)-Trees CS 6310: Advanced Data Structures Western Michigan University Presented by: Lawrence Kalisz.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
On a Network Creation Game PoA Seminar Presenting: Oren Gilon Based on an article by Fabrikant et al 1.
A Novel Multicast Routing Protocol for Mobile Ad Hoc Networks Zeyad M. Alfawaer, GuiWei Hua, and Noraziah Ahmed American Journal of Applied Sciences 4:
Complexity of Bellman-Ford
Energy-Efficient Monitoring of Extreme Values in Sensor Networks Loo, Kin Kong 10 May, 2007.
B-Trees. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so much data that it.
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.
Routing and Routing Protocols
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Distributed and hierarchical deadlock detection, deadlock resolution
Tree Constructions Distributed Algorithms for Multi-Agent Networks Instructor: K. Sinan YILDIRIM.
Asynchronous Exclusive Selection Bogdan Chlebus, U. Colorado Darek Kowalski, U. Liverpool.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
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 dBBlue:Low Diameter and Self-routing Bluetooth Scatternet Wen-Zhan Song, Xiang-Yang Li, Yu Wang and Weizhao Wang Department of Computer Science Illinois.
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]
B-Trees B-Trees.
Concurrent Broadcast for Information Dissemination
THE NEED FOR DNS DOMAIN NAME SYSTEM
New Characterizations in Turnstile Streams with Applications
Multiway Search Trees Data may not fit into main memory
Pastry Scalable, decentralized object locations and routing for large p2p systems.
The Echo Algorithm The echo algorithm can be used to collect and disperse information in a distributed system It was originally designed for learning network.
Parallel and Distributed Algorithms
Multi-Way Search Trees
CSIT 402 Data Structures II With thanks to TK Prasad
Lecture 8: Synchronous Network Algorithms
B-Trees.
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Presentation transcript:

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 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.

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 nodes o.k u v u deletes (u,v)

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.

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

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(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

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

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

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 (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

ROOT request 0 Looking for a level-0 package at distance between 0 and 2 Ψ. Issue permit 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Ψ 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, 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.

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

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.

# 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.

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)).

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?