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?