A Blueprint for Constructing Peer-to-Peer Systems Robust to Dynamic Worst-Case Joins and Leaves

30
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 Yale University, New Haven, CT, USA, J

description

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) - PowerPoint PPT Presentation

Transcript of A Blueprint for Constructing Peer-to-Peer Systems Robust to Dynamic Worst-Case Joins and Leaves

Page 1: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

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

Page 2: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 2

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- …

Page 3: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 3

Brief Intro to Peer-to-Peer Computing (2)

• Examples:

- computing power (Folding@Home, …)

- file sharing (eMule, Kangoo, …)

- internet telephony (Skype, …)

- media streaming (Swistry, …)

file sharing

distributed computations

Swistry (live media streaming)

Page 4: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 4

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.)!

Page 5: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 5

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?

Page 6: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 6

Churn (3)

• Churn is important, as it threatens “advantages of P2P computing”!

a lot of churn

• We have to actively maintain P2P systems!

Page 7: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 7

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…

Page 8: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 8

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 9: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 9

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 10: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 10

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).

Page 11: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 11

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 12: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 12

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 13: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 13

Topology Maintenance

• An efficient P2P topology under churn:

π1 π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?

Page 14: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 14

Our Approach

Simple idea: Simulate the topology!

Page 15: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 15

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).

Page 16: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 16

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 17: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 17

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 18: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 18

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 {l1, …, ld} of set {1,…,d}

– Two nodes u and v are adjacent iff u is a prefix-inversion of v

4-dimensional pancake: 1234 4321

2134

3214

Page 19: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 19

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!

Page 20: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 20

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!

Page 21: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 21

The Pancake System

Page 22: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 22

Page 23: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 23

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!

Page 24: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 24

Internals (1)

• How are peers connected in the simulated topology?

• Idea:

Clique 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!

Page 25: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 25

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!

Page 26: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 26

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)!

Page 27: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 27

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 28: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 28

Talk Outline

• A model for dynamics

• Overview of techniques

• Example: A robust system with degree and diameter O(log n / loglog n)

• Conclusion

Page 29: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 29

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.

Page 30: A Blueprint for Constructing  Peer-to-Peer Systems Robust to  Dynamic Worst-Case Joins and Leaves

Stefan Schmid, ETH Zurich @ IWQoS 2006 30

Questions and Feedback?

Stefan SchmidDistributed Computing Group

[email protected]

http://dcg.ethz.ch/members/stefan.html

Thank you for your attention!