Infinite Unlimited Churn

Slides:



Advertisements
Similar presentations
CS 542: Topics in Distributed Systems Diganta Goswami.
Advertisements

Chapter 15 Basic Asynchronous Network Algorithms
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
Linearizing Peer-to-Peer Systems with Oracles by Rizal Mohd Nor Mikhail Nesterenko Sébastien Tixeuil SSS 2013 Nov 13-16, 2013.
Eyal Blum Alex Honda. FaReCast Fast Reliable Application Layer Multicast for Flash Dissemination Application Layer Flash Dissemination Authors Kyungbaek.
1 Complexity of Network Synchronization Raeda Naamnieh.
CS 582 / CMPE 481 Distributed Systems
P2P Course, Structured systems 1 Introduction (26/10/05)
Election Algorithms and Distributed Processing Section 6.5.
IEEE P2P, Aachen, Germany, September Ad-hoc Limited Scale-Free Models for Unstructured Peer-to-Peer Networks Hasan Guclu
The Critical Section Problem
Controller and Estimator for Dynamic Networks Amos Korman Shay Kutten Technion.
Chapter 14 Asynchronous Network Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
Lecture 6-1 Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013 Indranil Gupta (Indy) September 12, 2013 Lecture 6 Global Snapshots Reading:
Coordination and Agreement. Topics Distributed Mutual Exclusion Leader Election.
Page 1 Distributed Systems Election Algorithms* *referred to slides by Prof. Hugh C. Lauer at Worcester Polytechnic Institute.
Probabilistic Search Verification of the Go-Back-N Protocol Adeyemi Aladesawe Annjana Ramesh Lingxue Li Nanjun Lu.
a/b/g Networks Routing Herbert Rubens Slides taken from UIUC Wireless Networking Group.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are: 1. Resource sharing 2. Avoiding concurrent update on shared data 3. Controlling the.
Corona Linearization Analysis by Dianne Foreback Advanced Operating Systems Kent State University November 2013.
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are:  Resource sharing  Avoiding concurrent update on shared data  Controlling the.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
Formal verification of distance vector routing protocols.
Distributed Systems Lecture 6 Global states and snapshots 1.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Zone Routing Protocol (ZRP)
CSE 486/586 Distributed Systems Leader Election
The Assessment Ladder Exercise
Fair K-Mutual Exclusion Algorithm for Peer to Peer Systems
A Study of Group-Tree Matching in Large Scale Group Communications
MACAW: A Media Access Protocol for Wireless LANs
The minimum cost flow problem
Routing: Distance Vector Algorithm
DHT Routing Geometries and Chord
A Scalable content-addressable network
Parallel and Distributed Algorithms
Distributed Channel Assignment in Multi-Radio Mesh Networks
Decentralized solution 1
3.4 Push-Relabel(Preflow-Push) Maximum Flow Alg.
Effective Replica Allocation
Mutual Exclusion Problem Specifications
CS 188: Artificial Intelligence Fall 2007
EEC 688/788 Secure and Dependable Computing
Mutual Exclusion CS p0 CS p1 p2 CS CS p3.
CSE 486/586 Distributed Systems Leader Election
Non-Distributed Excercises
Semaphores Chapter 6.
Distributed Systems CS
EEC 688/788 Secure and Dependable Computing
Abstraction.
Dhruv Gupta EEC 273 class project Prof. Chen-Nee Chuah
Infinite Unlimited Churn
Physical clock synchronization
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
EEC 688/788 Secure and Dependable Computing
(60GHz New Technique Proposal)
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Corona Robust Low Atomicity Peer-To-Peer Systems
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
CSE 486/586 Distributed Systems Mutual Exclusion
CSE 486/586 Distributed Systems Reliable Multicast --- 1
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

Infinite Unlimited Churn Dianne Foreback Mikhail Nesterenko Sébastien Tixeuil Lyon, France November 9, 2016

Why Infinite Unlimited Churn Overlay networks continuously undergo topology changes An infinite number of churn requests (joining or leaving requests) and no bound on concurrently joining or leaving processes in a peer-to-peer overlay network While overlay network maintains services (e.g. content retrieval) . . . join(h) join(x2) join(y1) join(m) join(k) join(x2) join(l) join(j2) . . . This is motivation A link is the state of channels between a pair of neighbor processes. As a churn algorithm services requests, it may temporarily violate the overlay net- work topology that is being maintained. A transitional link violates the overlay network topology while a stable link conforms to it. a b c d e f u v w x y z leave(b) leave(c) leave(e) leave(f) leave(x) leave(y)

Infinite Unlimited Churn Problem Statement Message Safety: message in a transitional link is not lost Terminating Transition: every transitional link eventually becomes stable Message Progress: a message in a stable link is either delivered or forwarded closer to the destination Linear Topology State Transition x y z leave(y, z) received at x join(y) received at x OR Unfair Version Fair Version Request Progress: if there is a process that is requesting to join or to exit the network, then eventually some process respectively joins or exits the network Fair Request: if there is a process that is requesting to join or to exit the network, then eventually this process joins or exits the network. c p g k g requests to join k joins g eventually joins

Global vs. Local Solution Global (centralized) solution: a single processes manages the processing of all churn requests Local solution: only processes in the immediate vicinity of the joining/leaving process are involved in processing the request Local Solution Impossible Local Solution Possible Unfair Version Fair Version Request Progress: if there is a process that is requesting to join or to exit the network, then eventually some process respectively joins or exits the network Fair Request: if there is a process that is requesting to join or to exit the network, then eventually this process joins or exits the network. c p g k g requests to join c p g k g eventually joins c p g k g requests to join c p g k k joins

Local Fair Unlimited Infinite Churn Impossible Fair Request (a particular churn request) cannot be satisfied join(y3) join(y1) Request for y3 to join but y’ joins first x y z join(y3) join(y2) Request for y3 to join but now y2 joins. Can be repeated infimum. x y y’ z

Unfair Infinite Unlimited Churn (UIUC) Algorithm Linear Topology State Transition x y z leave(y, z) received at x join(y) received at x OR UIUC join and leave request handling 5. ftd a. join(y) x y z 3. tda 1.1 sua(z) 4. tdb 1.2 sua 2.2 sub 2.1 sub b. leave(y, z) 1. sua 3.1 tda 2. sub 3.2 tda 4.2 tdb 4.1 tdb Maybe split this into two slides (top part as one slide and bottom as another) When y’s leave request accepted at x, the links on top left are transitional links whereas those on right are stable. Just the opposite when y’s join request is accepted at x, the links on the upper right are transitional whereas those on the right are stable. Important that no messages are lost when transitioning from one state to another. Lemma 1. Message td* is the last message in the channel in every teardown stage. Message su* is the first message in a channel in every set up stage. Lemma 2. The two links of a churning process transition through stages 1 through 5. No link participates in concurrent transitions. Corollary 1. Every transitional link is eventually stable. Note that after the link is stable, it may transition again. Lemma 3. No message in a transitional link is lost. (FIFO channel) Lemma 4. Unless the link starts transitioning, a message in a stable link is either eventually delivered or forwarded to a process closer to destination. (Fair message receipt is assumed ) Lemma 5. If there is a churn request in the overlay network, some churn re- quest is eventually satised. Lemma 6. The locality of UIUC is 1.

Extending to Skip Lists level join order level leave order 3 2 levels Processes have links on multiple levels. Processes linearlized at lowest level. In higher levels, procs have links to progressively distant peers (accelerates searches and other ops). To extend UIUC to such a structure a separate version of UIUC should be run at each level. The churn request should bear the level number to differentiate which level UIUC they belong to. The churning process should proceed up and down the levels as follows. A joining process first joins the first, linear, level, then the next and so on until it joins all the levels appropriate to the particular structure. The leavingprocess should proceed in reverse: the leaving process requests to leave the levelsin decreasing order. 1 x y processes

Infinite Unlimited Churn Thank you! Questions?