A Blueprint for Constructing Peer-to-Peer Systems Robust to Dynamic Worst-Case Joins and Leaves Fabian Kuhn, Microsoft Research, Silicon Valley Stefan.

Slides:



Advertisements
Similar presentations
CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peer-to-Peer Systems Chapter 25. What is Peer-to-Peer (P2P)? Napster? Gnutella? Most people think of P2P as music sharing.
A Robust and Efficient Reputation System for Active Peer-to-Peer Systems Dominik Grolimund, Luzius Meisser, Stefan Schmid, Roger Wattenhofer Computer Engineering.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Fabian Kuhn, Microsoft Research, Silicon Valley
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up.
Structuring Unstructured Peer-to-Peer Networks Stefan Schmid Roger Wattenhofer Distributed Computing Group HiPC 2007 Goa, India.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Resilient Peer-to-Peer Streaming Paper by: Venkata N. Padmanabhan Helen J. Wang Philip A. Chou Discussion Leader: Manfred Georg Presented by: Christoph.
Information Dissemination in Highly Dynamic Graphs Regina O’Dell Roger Wattenhofer.
Small-world Overlay P2P Network
Peer-to-Peer Networks as a Distribution and Publishing Model Jorn De Boever (june 14, 2007)
Churn and Selfishness: Two Peer-to-Peer Computing Challenges Invited Talk University of California, Berkeley 380 Soda Hall March, 2006 Stefan Schmid Distributed.
Dynamic Internet Congestion with Bursts Stefan Schmid Roger Wattenhofer Distributed Computing Group, ETH Zurich 13th International Conference On High Performance.
On the Topologies Formed by Selfish Peers Thomas Moscibroda Stefan Schmid Roger Wattenhofer IPTPS 2006 Santa Barbara, California, USA.
Peer to Peer File Sharing Huseyin Ozgur TAN. What is Peer-to-Peer?  Every node is designed to(but may not by user choice) provide some service that helps.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Taming Dynamic and Selfish Peers “Peer-to-Peer Systems and Applications” Dagstuhl Seminar March 26th-29th, 2006 Stefan Schmid Distributed Computing Group.
Distributed Computing Group A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn Fabian Kuhn Stefan Schmid Roger Wattenhofer IPTPS.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
Fault-tolerant Routing in Peer-to-Peer Systems James Aspnes Zoë Diamadi Gauri Shah Yale University PODC 2002.
Efficient Content Location Using Interest-based Locality in Peer-to-Peer Systems Presented by: Lin Wing Kai.
ETH Zurich – Distributed Computing Group Jasmin Smula 1ETH Zurich – Distributed Computing – Stephan Holzer Yvonne Anne Pignolet Jasmin.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
A TCP With Guaranteed Performance in Networks with Dynamic Congestion and Random Wireless Losses Stefan Schmid, ETH Zurich Roger Wattenhofer, ETH Zurich.
Aggregating Information in Peer-to-Peer Systems for Improved Join and Leave Distributed Computing Group Keno Albrecht Ruedi Arnold Michael Gähwiler Roger.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
An Efficient Location Service for Mobile Ad Hoc Networks Roland Flury Roger Wattenhofer Distributed Computing Group MLS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 CS 194: Distributed Systems Distributed Hash Tables Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Algorithmic Models for Sensor Networks Stefan Schmid and Roger Wattenhofer WPDRTS, Island of Rhodes, Greece, 2006.
Localized Self- healing using Expanders Gopal Pandurangan Nanyang Technological University, Singapore Amitabh Trehan Technion - Israel Institute of Technology,
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Wide-area cooperative storage with CFS
File Sharing : Hash/Lookup Yossi Shasho (HW in last slide) Based on Chord: A Scalable Peer-to-peer Lookup Service for Internet ApplicationsChord: A Scalable.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Structured P2P Network Group14: Qiwei Zhang; Shi Yan; Dawei Ouyang; Boyu Sun.
Introduction to Peer-to-Peer Networks. What is a P2P network Uses the vast resource of the machines at the edge of the Internet to build a network that.
Developing Analytical Framework to Measure Robustness of Peer-to-Peer Networks Niloy Ganguly.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Thesis Proposal Data Consistency in DHTs. Background Peer-to-peer systems have become increasingly popular Lots of P2P applications around us –File sharing,
GeoGrid: A scalable Location Service Network Authors: J.Zhang, G.Zhang, L.Liu Georgia Institute of Technology presented by Olga Weiss Com S 587x, Fall.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
CCAN: Cache-based CAN Using the Small World Model Shanghai Jiaotong University Internet Computing R&D Center.
Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash.
PODC Distributed Computation of the Mode Fabian Kuhn Thomas Locher ETH Zurich, Switzerland Stefan Schmid TU Munich, Germany TexPoint fonts used in.
A Mechanized Model for CAN Protocols Context and objectives Our mechanized model Results Conclusions and Future Works Francesco Bongiovanni and Ludovic.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
Cooperative Location- Sensing for Wireless Networks Authors : Haris Fretzagias Maria Papadopouli Presented by cychen IEEE International Conference on Pervasive.
Peer to Peer Network Design Discovery and Routing algorithms
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Monitoring Churn in Wireless Networks
A Scalable Peer-to-peer Lookup Service for Internet Applications
(slides by Nick Feamster)
Location Cloaking for Location Safety Protection of Ad Hoc Networks
CHAPTER 3 Architectures for Distributed Systems
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Chord Advanced issues.
Chord Advanced issues.
Presentation transcript:

A Blueprint for Constructing Peer-to-Peer Systems Robust to Dynamic Worst-Case Joins and Leaves Fabian Kuhn, Microsoft Research, Silicon Valley Stefan Schmid, ETH Zurich Joest Smit, ETH Zurich Roger Wattenhofer, ETH Zurich 14th IEEE Int. Workshop on Quality of Service (IWQoS) Yale University, New Haven, CT, USA, June 2006

Stefan Schmid, ETH IWQoS Brief Intro to Peer-to-Peer Computing (1) P2P computing = power by accumulating distributed resources (CPU cycles, disk space, …) vs Client / Server -Centralized („one machine“) -Bottleneck -Single Point of Failure -… Peer-to-Peer -Decentralized („all machines“) -Scalable -Efficient -…

Stefan Schmid, ETH IWQoS Brief Intro to Peer-to-Peer Computing (2) Examples: - computing power …) - file sharing (eMule, Kangoo, …) - internet telephony (Skype, …) - media streaming (Swistry, …) file sharing distributed computations Swistry (live media streaming)

Stefan Schmid, ETH IWQoS Churn (1) But: unlike server, peers are transient! –Machines under control of individual users –E.g., just connecting to download one file –Membership changes are called churn Successful P2P systems have to cope with churn (i.e., guarantee correctness, efficiency, etc.)!

Stefan Schmid, ETH IWQoS Churn (2) Dynamic resources: A challenge in P2P computing! Churn characteristics: –Depends on application (Skype vs. eMule vs. …) –But: There may be dozens of membership changes per second! –Peers may crash without notice! How can peers collaborate in spite of churn?

Stefan Schmid, ETH IWQoS Churn (3) Churn is important, as it threatens “advantages of P2P computing”! a lot of churn We have to actively maintain P2P systems!

Stefan Schmid, ETH IWQoS Our Paper… Peer degree, network diameter, … „adversary“ non-stop attacks weakest part (system „never fully repaired, but always fully functional“) … presents techniques to: - … build and provably maintain P2P systems with desirable properties… - … in spite of ongoing worst-case membership changes. Unfortunately, only few P2P systems have been analyzed under churn! Our paper…

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Model for Dynamics Churn = possibly concurrent membership changes, at any time! We assume worst-case perspective: Adversary ADV(J,L) –i.e., joins and leaves may take place at the weakest spot of the network Synchronous model: time divided into rounds (e.g., max round trip time) time ADV(J,L): In each round, at most J peers may joins and at most L peers leave (crash).

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Topology Maintenance An efficient P2P topology under churn: π1π1 π2π2 Almost impossible to maintain the hypercube! –How does peer 1 know that it should replace peer 2? –How does it get there when there are concurrent joins and leaves? –… Is there a more robust topology but with same small degree and diameter?

Stefan Schmid, ETH IWQoS Our Approach Simple idea: Simulate the topology!

Stefan Schmid, ETH IWQoS General Recipe for Robust Topologies 1.Take a graph with desirable properties -Low diameter, low peer degree, etc. 2.Replace vertices by a set of peers 3. Maintain it: a. Permanently run a peer distribution algorithm which ensures that all vertices have roughly the same amount of peers (“token distribution algorithm”). b. Estimate the total number of peers in the system and change “dimension of topology” accordingly (“information aggregation algorithm” and “scaling algorithm”). Resulting structure has similar properties as original graph (e.g., connectivity, degree, …), but is also maintainable under churn! There is always at least one peer per node (but not too many either).

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS The Pancake Graph (1) A robust system with degree and diameter O(log n / loglog n): the pancake graph –E.g., Papadimitriou & Gates! Pancake of dimension d: –d! nodes represented by unique permutation {l 1, …, l d } of set {1,…,d} –Two nodes u and v are adjacent iff u is a prefix-inversion of v 4-dimensional pancake:

Stefan Schmid, ETH IWQoS The Pancake Graph (2) Properties –Node degree Θ (log n / loglog n) –Diameter Θ (log n / loglog n) –… where n is the total number of nodes –A factor loglog n better than hypercube! –But: difficult graph (diameter unknown!) No other graph can have a smaller degree and a smaller diameter!

Stefan Schmid, ETH IWQoS Contribution Using peer distribution and information aggregation algorithms… … on the simulated pancake topology, we can construct: a peer-to-peer system (“distributed hash table”) with –Peer degree and lookup / network diameter in Θ (log n / loglog n) –Robustness to ADV(Θ (log n / loglog n), Θ (log n / loglog n)) –No data is ever lost! Asymptotically optimal!

Stefan Schmid, ETH IWQoS The Pancake System

Stefan Schmid, ETH IWQoS

Stefan Schmid, ETH IWQoS Basic Components Peer Distribution Algorithm –Balance peers between neighboring nodes –One (pancake-) dimension after the other! Information Aggregation Algorithm –Exploit recursive structure of pancake –Aggregate „sub-pancakes“ with increasing order Both happens concurrently to ongoing churn! If fast enough, pancake is maintained! Always at least one peer per node!

Stefan Schmid, ETH IWQoS Internals (1) How are peers connected in the simulated topology? Idea: Clique Matching Problem: - There are up to Θ ((log n / loglog n) 2 ) many peers in each node - Clique would render peer degree too large! Inside node, peers have to form a grid!

Stefan Schmid, ETH IWQoS Internals (2) Solution: Grid Matching Grid Each peer is connected to all peers which are either in the same row or column Degree is OK now, and still robust enough to churn!

Stefan Schmid, ETH IWQoS Internals (3) “Distributed Hash Table”: - Stores data at nodes - But on which peers of node of given ID? - On just one is bad in dynamic enviroment! All? - Possible! - But much data movement during peer distribution. Better idea: - Peers of a node fall into two categories: Protons and Electrons - Protons = „core peers“, store data, are „seldom“ used during token distribution - Electrons = „peripheral peers“, do not store data, are used for balancing - Make sure that there are always enough protons (no data loss)!

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Talk Outline A model for dynamics Overview of techniques Example: A robust system with degree and diameter O(log n / loglog n) Conclusion

Stefan Schmid, ETH IWQoS Conclusion Contribution: A scheme to maintain quality of a peer-to-peer system in spite of worst- case membership changes. –Ingredients: “base graph”, token distribution & information aggregation algorithm –Proofs possible! Simulated graph can have similar properties as base graph. –Degree, diameter, etc. –May require some additional thinking, though! (e.g., grid) A peer-to-peer system with degree and diameter in O(log n/loglog n) which tolerates O(log n/loglog n) joins and leaves per round. –Better than often-used hypercube graph! –But: difficult graph! (e.g., dimension change) Open questions –How to coordinate dynamic peers or resources: An exciting field of research! –E.g.: Self-stabilization, dirty leaves, etc.

Stefan Schmid, ETH IWQoS Questions and Feedback? Stefan Schmid Distributed Computing Group Thank you for your attention!