1 / 32

Pastry

Pastry. Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors. Outline. Background Pastry Pastry proximity routing PAST. Background. Peer-to-peer systems distribution decentralized control

Download Presentation

Pastry

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors

  2. Outline • Background • Pastry • Pastry proximity routing • PAST

  3. Background Peer-to-peer systems • distribution • decentralized control • self-organization • symmetry (communication, node roles)

  4. Common issues • Organize, maintain overlay network • Resource allocation/load balancing • Resource location • Network proximity routing Pastry provides a generic p2p substrate

  5. Architecture Event notification Network storage ? P2p application layer P2p substrate (self-organizing overlay network) Pastry TCP/IP Internet

  6. Structured p2p overlays The primitive route(M, X) routes message M to the live node with node Id closest to key X Node ids and keys are from a large, sparse id space

  7. Distributed Hash Tables (DHT) nodes k1,v1 k2,v2 k3,v3 P2P overlay network Operations: insert(k,v) lookup(k) k4,v4 k5,v5 k6,v6 • p2p overlay maps keys to nodes • completely decentralized and self-organizing • robust, scalable

  8. Outline • Background • Pastry • Pastry proximity routing • PAST • SCRIBE • Conclusions

  9. Pastry: Object distribution 2128-1 O • Consistent hashing • [Karger et al. ‘97] • 128 bit circular id space • nodeIds(uniform random) • objIds (uniform random) • Invariant: node with numerically closest nodeId maintains object objId nodeIds

  10. Pastry: Object insertion/lookup 2128-1 O Msg with key X is routed to live node with nodeId closest to X Problem: complete routing table not feasible X Route(X)

  11. Pastry: Routing Tradeoff • O(log N) routing table size • O(log N) message forwarding steps

  12. Routing table of # 65a1fcx Row 0 Row 1 Row 2 Row 3 log16 N rows

  13. Pastry: Routing Properties log16 N steps O(log N) state d471f1 d467c4 d462ba d46a1c d4213f Route(d46a1c) d13da3 65a1fc

  14. Pastry: Leaf sets • Each node maintains IP addresses of the nodes with the L/2 numerically closest larger and smaller nodeIds, respectively. • routing efficiency/robustness • fault detection (keep-alive) • application-specific local coordination

  15. Pastry: Routing procedure if (destination is within range of our leaf set) forward to numerically closest member else let l = length of shared prefix let d = value of l-th digit in D’s address if (Rld exists) (Rld = entry at column d row l) forward to Rld else forward to a known node that (a) shares at least as long a prefix (b) is numerically closer than this node

  16. Pastry: Performance Integrity of overlay/ message delivery: • guaranteed unless L/2 simultaneous failures of nodes with adjacent nodeIds Number of routing hops: • No failures: < log16N expected, 128/b + 1 max • During failure recovery: • O(N) worst case, average case much better

  17. Self-organization How are the routing tables and leaf sets initialized and maintained? • Node addition • Node departure (failure)

  18. Pastry: Node addition d471f1 d467c4 d462ba d46a1c d4213f New node: d46a1c Route(d46a1c) d13da3 65a1fc

  19. Node departure (failure) Leaf set members exchange heartbeat • Leaf set repair (eager): request set from farthest live node in set • Routing table repair (lazy): get table from peers in the same row, then higher rows

  20. Pastry: Experimental results Prototype • implemented in Java • emulated network • deployed currently at ~25 sites worldwide

  21. Pastry: Average # of hops L=16, 100k random queries

  22. Outline • Background • Pastry • Pastry proximity routing

  23. Pastry: Proximity routing Proximity metric = time delay estimated by ping A node can probe distance to any other node Each routing table entry uses a node close to the local node (in the proximity space), among all nodes with the appropriate node Id prefix.

  24. d467c4 d471f1 d467c4 Proximity space d462ba d46a1c d4213f Route(d46a1c) d13da3 d4213f 65a1fc 65a1fc d462ba d13da3 NodeId space Pastry: Routes in proximity space

  25. Pastry: Distance traveled L=16, 100k random queries, Euclidean proximity space

  26. Pastry: Locality properties Expected distance traveled by a message in the proximity space is within a small constant of the minimum Among k nodes with node Ids closest to the key, message likely to reach the node closest to the source node first

  27. d467c4 d471f1 d467c4 d462ba d46a1c d4213f Proximity space Route(d46a1c) d13da3 65a1fc d4213f New node: d46a1c 65a1fc NodeId space d462ba d13da3 Pastry: Node addition

  28. Pastry delay vs IP delay GATech top., .5M hosts, 60K nodes, 20K random messages

  29. Pastry: API • route(M, X): route message M to node with nodeId numerically closest to X • deliver(M): deliver message M to application • forwarding(M, X):message M is being forwarded towards key X • newLeaf(L): report change in leaf set L to application

  30. Pastry: Security • Secure nodeId assignment • Secure node join protocols • Randomized routing • Byzantine fault-tolerant leaf set membership protocol

  31. Pastry: Summary • Generic p2p overlay network • Scalable, fault resilient, self-organizing, secure • O(log N) routing steps (expected) • O(log N) routing table size • Network proximity routing

  32. PAST: File Retrieval C k replicas Lookup file located in log16 N steps (expected) usually locates replica nearest client C fileId

More Related