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
Ordered slicing of very large scale overlay networks Mark Jelasity University of Bologna, Italy Anne-Marie Kermarrec INRIA Rennes/IRISA, France 20/10/2006 ALPAGE 1 Motivation • Potential of P2P technology • Several applications running on the same infrastructure • Need for network partitioning • • • • Decentralized Robust Handle dynamics Customizable Gossip-based approach to “slice” the network 20/10/2006 ALPAGE 2 Outline 1. Introduction 2. Background of gossip-based membership algorithms 3. Ordered slicing 4. Simulation results 5. Conclusion 20/10/2006 ALPAGE 3 Objective • Targeted applications • Deskstop grids • Testbed platforms (PlanetLab) • Telco applications • Resource assignment • Objective • Create and maintain partitions (slices) as subsets of the network in a fully decentralized manner • Ordered nature: along a single attribute (memory, bandwidth, computing power) • Our approach: Use a gossip-based approach to estimate to which partition a node belongs • Scalable • Robust • Based on local knowledge 20/10/2006 ALPAGE 4 Gossip-based protocols • Unstructured peer to peer networks • Highly resilient to failure and dynamics • Gossip-based membership protocols • Periodic exchange of information between nodes • Basic functionality: Peer sampling • Provide a sample of peers given a metric • Random sampling • Applications • Event dissemination • Recovery protocols • Aggregation 20/10/2006 ALPAGE 5 Gossip-based generic protocol 1295 1 3 2 2 6 10 3 10 4 9 8 6 5 7 20/10/2006 ALPAGE 6 Gossip-based generic protocol 3 2 1 2 9 5 6 10 3 1 10 4 9 8 6 5 7 20/10/2006 ALPAGE 7 Gossip-based generic protocol 2 9 10 3 2 1 10 4 9 8 6 5 7 20/10/2006 ALPAGE 8 Design space • Periodically each peer initiates communication with another peer • Peer selection Selectpeer(): return the IP@ of an alive peer • View propagation How peers exchange their membership information • View selection: Select (c, buffer) • c: size of the resulting view • Buffer: information exchanged 20/10/2006 ALPAGE 9 Peer sampling algorithm • Common framework for existing gossip-based protocols • Lpbcast [Eugster & al, ACM TOCS 2003] • Cyclon [Voulgaris & al JNSM 2005] • Newscast [Jelasity & van Steen, 2002] • Peer selection: Select a peer at random from the view • View propagation: Pushpull • View selection: Select the freshest entries 20/10/2006 ALPAGE 10 Random slices 3 2 1 10 4 9 8 6 5 7 20/10/2006 ALPAGE 11 Random slices 3 0.52 2 0.11 1 0.21 10 0.98 8 0.67 9 0.43 6 0.55 4 0.22 5 0.87 7 0.09 20/10/2006 ALPAGE 12 Random slices 3 0.52 2 0.11 1 0.21 10 0.98 8 0.67 9 0.43 6 0.55 4 0.22 5 0.87 7 0.09 20/10/2006 ALPAGE 13 Random slices 3 0.52 2 0.11 1 0.21 10 0.98 8 0.67 9 0.43 6 0.55 4 0.22 5 0.87 7 0.09 20/10/2006 ALPAGE 14 Ordered slices: System model • Problem • Automatically assign a node to a slice • Along an attribute metric • System model • Crash-only nodes • Each node i has • an attribute i • a random number i • a view of c entries (peer sampling) • a time stamp • Each node belongs to one slice x 20/10/2006 r ALPAGE 15 Ordered slicing algorithm: basic operation Node a xi ri xi ri xi ri 20/10/2006 12 34 22 0.6 0.4 0.3 12 34 22 0.6 0.4 2 12 0.12 0.21 Node b 35 56 78 98 2 37 13 0.45 0.87 0.77 0.21 0.65 0.98 0.12 35 56 78 98 0.65 0.45 0.87 0.77 0.21 13 22 0.3 0.4 34 35 37 2 0.3 56 37 13 0.98 0.12 78 98 0.45 0.6 0.65 0.77 0.87 0.98 ALPAGE 16 Ordered slicing algorithm Wait (t) p<- random element from view buffer<-view U {(my@, my_stamp, xq , rq )} Send buffer to p Receive buffer(p) view<-freshest c entries from {buffer(p) U view} i<- peer such that ( xi xq )( ri rq ) 0 Send ( xq , rq ) to i Receive buffer(q) from q buffer<-view U {(my@, my_stamp, x p , rp)} Send buffer to q view<-freshest c entries from {buffer(p) U view} rq ri Active thread at peer q 20/10/2006 ALPAGE Passive thread at peer p 17 Ordered slicing algorithm: maintenance • New nodes discovered using the random peer sampling • Random number ensures uniform spread • Once the order stabilizes: each node knows to which slice it belongs • Example • A peer with a number <0.5 knows in the first 50% of the nodes according to the metric • Slice creation and maintenance 20/10/2006 ALPAGE 18 Disorder measure (t , ri (t ) ,...., ri 1 20/10/2006 N 2 ) ( t ) 1 / N ( j i ( t )) j N (t ) j 1 ALPAGE 19 Analogy with average • Weight conserving property N N N j 1 j 1 j 1 1 / N j i j (t ) 1 / N j 1 / N i j (t ) 0 • The swapping does not influence this value (=0) but always reduces the disorder value 20/10/2006 ALPAGE 20 Exponential decrease of the disorder 20/10/2006 ALPAGE 21 Swaps over time 20/10/2006 ALPAGE 22 Simulation set-up • PeerSim simulator • Configurations • Network size: 30,000 – 100,000 – 300,000 node overlay • Views: c=20, 40 and 80 • Unreliable communication channels • Churn • Age bias: peer selection based on age similarity • Metric: disorder 20/10/2006 ALPAGE 23 Churn 0.1% 20/10/2006 1% ALPAGE 24 Age-based technique Young nodes disordered Old nodes protected 20/10/2006 ALPAGE 25 Example • Quick stabilization • Relatively welldefined slices • constant churn • massive failure • massive join • Stabilizes as soon as churn stops 20/10/2006 ALPAGE 26 Conclusion & future work • Gossip-based solution to partition a dynamic network according to a given metric • Resilient to churn • Future work • Slices maintenance • Improve the peer selection 20/10/2006 ALPAGE 27 Thank you ! 20/10/2006 ALPAGE 28