Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Dynamic Load Balancing in Peer-to-Peer Networks Miroslaw Korzeniowski Outline International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski P2P on Ring Topologies Approximating the Number of Nodes Load Balancing No Experiments Transparent Data Structures Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski P2P on Ring Topologies Chord, Tapestry, Pastry, de Bruijn Space: [0,1)-Ring Arithmetics mod 1 Each node responsible for the interval from itself to its successor Links to: .1 .12 .2 .23 .25 predecessor and successor some shortcuts Diameter: log n (or log n / log log n) Out-Degree: log n In-Degree: large .3 .32 .5 Peer .45 .4 Key Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Outline Load Balancing joint work with Marcin Bieńkowski Friedhelm Meyer auf der Heide Dynamic Load Balancing in P2P Networks Load Balancing – the Problem and Results International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Load: n¢(length of the longest interval) Smoothness: ratio between the longest and the shortest int. When n nodes choose random positions: n¢|the longest interval| 2(log n), with high probability n¢|the shortest interval| 2O(1/n), with constant probability Two algorithms to make the smoothness constant: For a static scenario needs logarithmic time large communication cost For a dynamic scenario low communication cost slower reactions to the system changes Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Assumptions We know: n (the number of nodes) def. := 1/n or at least log n or at least an upper bound on log n The network organises itself and implements: join(where) leave An oblivious adversary generates the system’s dynamics Any initial state of the network The duration of the game is a half-life Additional (log n) time units for the algorithm to finish Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Half - life Def.: half-life is a period of time in which there are n nodes in the beginning new n nodes join or n/2 nodes leave Thm. (paper about Viceroy): each node has to receive network falls apart messages in a half life, or the Dynamic Load Balancing in P2P Networks Half-life animation 1 International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Dynamic Load Balancing in P2P Networks Half-life animation 2 International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Dynamic Load Balancing in P2P Networks Half-life animation 3 International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Approximating n Choose global k > (log n) Each node inserts k markers into the network Definition Weight of an interval = the number of markers in it (n¢log n) markers are distributed uniformly Theorem An interval of length (1/n) has weight (k),w.h.p. The weight of an interval is proportional to its length interval lighter than k ) interval shorter than interval heavier than k ) interval longer than Dynamic Load Balancing in P2P Networks Lazy nodes leave International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski First phase: if (weight < k/10) then leave Minimizing load = minimizing smoothness Load = the longest interval / Smoothness = ratio between the longest and the shortest interval Dynamic Load Balancing in P2P Networks Continuous scheme International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Classification of nodes / intervals: light : weight smaller than 16¢k active passive heavy : weight larger than 32¢k Heavy nodes: wait passively for help proposals Passive light nodes: are activated at gaining or losing a marker linear number of joins / leaves in a half-life each join / leave activates k nodes a node is activated O(k) times, w.h.p. logarithmic communication during activation ) communication cost =O(log2n) Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Active nodes Active nodes might die too soon to be useful Immortals: + always light + always alive - the algorithm cannot recognize them Theorem: There are linear number of immortals An active light node repeats a constant number of times: locks its light predecessor sends a help proposal to a random place Theorem 1/3 fraction of immortals are sending at any time if active linear (with arbitrarily large constant) number of help proposals sent Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski To Propose or Not to Propose Many consecutive short intervals: L L R L L R R L R L R L L L R R R L R L R L R L R L L L Dynamic Load Balancing in P2P Networks Managing the volunteers International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Outline Data Structures joint work with Christian Scheideler Dynamic Load Balancing in P2P Networks The Problem International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Consider a doubly-linked list In a linear addressable memory model In a pointer memory model Dynamic Load Balancing in P2P Networks Related work International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Y. Aumann and M.A. Bender. Fault tolerant data structures. FOCS 1996 no more than d faults take place, butterfly of width 2d in case of k failures O(k log k) nodes lost stack, FIFO, tree Dynamic Load Balancing in P2P Networks Transparent memory models International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski A transparent data structure can be emulated on a network load balance Dynamic Load Balancing in P2P Networks Transparent memory models International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski A transparent data structure can be emulated on a network dilation Dynamic Load Balancing in P2P Networks Transparent memory models International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski A transparent data structure can be emulated on a network load balance: at most logarithmic overhead dilation: at most 1 Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Continuous de Bruijn cube Virtual space: [0,1) ring Nodes: real numbers in [0,1) Links to: de Bruijn (by Naor and Wieder): .9 .925 .05 .8 .3 hypercubic (Chord): .4 Embedding of a tree: root in r 2 [0,1) descendants along de Bruijn edges Dynamic Load Balancing in P2P Networks Discrete de Bruijn cube International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski The [0,1) ring sharded among the participating peers each peer responsible for a contiguous interval each point attributed to a peer Dynamic Load Balancing in P2P Networks Hypertree International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Two kinds of edges: tree edges shortcuts to cousins Dynamic Load Balancing in P2P Networks Binary search tree - balance International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Invariant: left and right subtree of the same size, up to constant factor Rotations: expensive – rare frequent – cheap Sideways moves guarantee that no node is overloaded A rotation in parent right after a rotation in child has started Dynamic Load Balancing in P2P Networks Binary search tree - robustness International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Self – repairing: if some cells die, other notice it and restructure into a valid tree Wake-up mechanism in the underlying network A survivor can estimate the height of its subtree Dynamic Load Balancing in P2P Networks Balanced binary search tree International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Built on top of the P2P network de Bruijn edges: tree edges hypercubic edges: shortcuts to cousins Self – repairing: if some cells die, other notice it and restructure into a valid tree Robustness through replication can be added independently Search: logarithmic time and work Insert / Delete: logarithmic amortized work logarithmic time Better than in the faulty RAM model, because we use the address space of size (n¢log n). Our cost is log n instead of log2n Dynamic Load Balancing in P2P Networks International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski Thank you for your attention. My question International Graduate School of Dynamic Intelligent Systems, University of Paderborn Miroslaw Korzeniowski The question is: What is a manamana? Dynamic Load Balancing in P2P Networks