Download Load Balancing

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Peering wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Airborne Networking wikipedia , lookup

Distributed operating system wikipedia , lookup

Peer-to-peer wikipedia , lookup

Transcript
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