PRESENTED BY KEVIN LARSON & WILL DIETZ 1 P2P Apps.

Slides:



Advertisements
Similar presentations
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advertisements

Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK
Storage management and caching in PAST Antony Rowstron and Peter Druschel Presented to cs294-4 by Owen Cooper.
Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility Antony Rowstron, Peter Druschel Presented by: Cristian Borcea.
Storage management and caching in PAST, a large-scale, persistent peer- to-peer storage utility Antony Rowstron, Peter Druschel.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
1 PASTRY Partially borrowed from Gabi Kliot ’ s presentation.
Pastry Scalable, decentralized object location and routing for large-scale peer-to-peer systems Peter Druschel, Rice University Antony Rowstron, Microsoft.
Secure routing for structured peer-to-peer overlay networks M. Castro, P. Druschel, A. Ganesch, A. Rowstron, D.S. Wallach 5th Unix Symposium on Operating.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Applications over P2P Structured Overlays Antonino Virgillito.
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.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel Proc. of the 18th IFIP/ACM.
Storage Management and Caching in PAST, a large-scale, persistent peer- to-peer storage utility Authors: Antony Rowstorn (Microsoft Research) Peter Druschel.
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
Goal: To build a ubiquitous and robust storage infrastructure Requirement: Scalability, availability, performance, robustness Solution: Dynamic object.
Pastry Partially borrowed for Gabi Kliot. Pastry Scalable, decentralized object location and routing for large-scale peer-to-peer systems  Antony Rowstron.
1 Pastry and Past Based on slides by Peter Druschel and Gabi Kliot (CS Department, Technion) Alex Shraer.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Large Scale Sharing GFS and PAST Mahesh Balakrishnan.
1 Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility Gabi Kliot, Computer Science Department, Technion Topics.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
Fixing the Embarrassing Slowness of OpenDHT on PlanetLab Sean Rhea, Byung-Gon Chun, John Kubiatowicz, and Scott Shenker UC Berkeley (and now MIT) December.
Wide-area cooperative storage with CFS
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Tapestry: A Resilient Global-scale Overlay for Service Deployment Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, Anthony D. Joseph, and John.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems (Antony Rowstron and Peter Druschel) Shariq Rizvi First.
Storage management and caching in PAST PRESENTED BY BASKAR RETHINASABAPATHI 1.
Mobile Ad-hoc Pastry (MADPastry) Niloy Ganguly. Problem of normal DHT in MANET No co-relation between overlay logical hop and physical hop – Low bandwidth,
Tapestry GTK Devaroy (07CS1012) Kintali Bala Kishan (07CS1024) G Rahul (07CS3009)
1 PASTRY. 2 Pastry paper “ Pastry: Scalable, decentralized object location and routing for large- scale peer-to-peer systems ” by Antony Rowstron (Microsoft.
PIC: Practical Internet Coordinates for Distance Estimation Manuel Costa joint work with Miguel Castro, Ant Rowstron, Peter Key Microsoft Research Cambridge.
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.
CH2 System models.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
Healing the Web: An Overview of CoDeeN & Related Projects Vivek Pai, Larry Peterson + many others Princeton University.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton University.
Security Michael Foukarakis – 13/12/2004 A Survey of Peer-to-Peer Security Issues Dan S. Wallach Rice University,
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
Storage Management and Caching in PAST A Large-scale persistent peer-to-peer storage utility Presented by Albert Tannous CSE 598D: Storage Systems – Dr.
An IP Address Based Caching Scheme for Peer-to-Peer Networks Ronaldo Alves Ferreira Joint work with Ananth Grama and Suresh Jagannathan Department of Computer.
Kaleidoscope – Adding Colors to Kademlia Gil Einziger, Roy Friedman, Eyal Kibbar Computer Science, Technion 1.
Scalable Content- Addressable Networks Prepared by Kuhan Paramsothy March 5, 2007.
Paper Survey of DHT Distributed Hash Table. Usages Directory service  Very little amount of information, such as URI, metadata, … Storage  Data, such.
Efficient P2P Search by Exploiting Localities in Peer Community and Individual Peers A DISC’04 paper Lei Guo 1 Song Jiang 2 Li Xiao 3 and Xiaodong Zhang.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel, Middleware 2001.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Pastry Antony Rowstron and Peter Druschel Presented By David Deschenes.
Plethora: Infrastructure and System Design. Introduction Peer-to-Peer (P2P) networks: –Self-organizing distributed systems –Nodes receive and provide.
Peer to Peer Network Design Discovery and Routing algorithms
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Peer-to-Peer Networks 11 Past Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
P2P Search COP P2P Search Techniques Centralized P2P systems  e.g. Napster, Decentralized & unstructured P2P systems  e.g. Gnutella.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
The Design and Implementation of a Next Generation Name Service for the Internet V. Ramasubramanian, E. Gun Sirer Cornell Univ. SIGCOMM 2004 Ciprian Tutu.
Plethora: A Locality Enhancing Peer-to-Peer Network Ronaldo Alves Ferreira Advisor: Ananth Grama Co-advisor: Suresh Jagannathan Department of Computer.
Peer-to-Peer Networks 11 Past Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Peer-to-Peer Networks 05 Pastry Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Fabián E. Bustamante, Fall 2005 A brief introduction to Pastry Based on: A. Rowstron and P. Druschel, Pastry: Scalable, decentralized object location and.
Vivek Pai, Larry Peterson, & the CoDeeN group Princeton University
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Co* Projects : CoDNS, CoDeploy, CoMon
Plethora: Infrastructure and System Design
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Presentation transcript:

PRESENTED BY KEVIN LARSON & WILL DIETZ 1 P2P Apps

P2P In General 2 Distributed systems where workloads are partitioned between peers  Peer: Equally privileged members of the system In contrast to client-server models, peers both provide and consume resources. Classic Examples:  Napster  Gnutella

P2P Apps 3 CoDNS  Distribute DNS load to other clients in order to greatly reduce latency in the case of local failures PAST  Distribute files and replicas across many peers, using diversion and hashing to increase utilization and insertion success UsenetDHT  Use peers to distribute the storage and costs of the Usenet service

OSDI 2004 PRINCETON KYOUNGSOO PARK ZHE WANG VIVEK PAI LARRY PETERSON PRESENTED BY KEVIN LARSON 4 CoDNS

What is DNS? 5 Domain Name System  Remote server  Local resolver Translates hostnames into IP addresses  Ex: -> Ubiquitous and long-standing: Average user not aware of its existence Desired Performance, as observed PlanetLab nodes at Rice and University of Utah

Environment and Workload 6 PlanetLab  Internet scale test-bed  Very large scale  Geographically distributed CoDeeN  Latency-sensitive content delivery network (CDN)  Uses a network of caching Web proxy servers  Complex distribution of node accesses + external accesses  Built on top of PlanetLab  Widely used (4 million plus accesses/day)

Observed Performance 7 Cornell University of Oregon University of Michigan University of Tennessee

Traditional DNS Failures 8 Comcast DNS failure  Cyber Monday 2010  Complete failure, not just high latency  Massive overloading

What is not working? 9 DNS lookups have high reliability, but make no latency guarantees:  Reliability due to redundancy, which drives up latency  Failures significantly skew average lookup times Failures defined as:  5+ second latency – the length of time where the system will contact a secondary local nameserver  No answer

Time Spent on DNS lookups 10 Three classifications of lookup times:  Low: <10ms  Regular: 10ms to 100ms  High: >100ms High latency lookups account for 0.5% to 12.9% of accesses 71%-99.2% of time is spent on high latency lookups

Suspected Failure Classification 11 Cornell University of Oregon University of Michigan University of Tennessee Long lasting, continuous failures: - Result from nameserver failures and/or extended overloading Short sporadic failures: - Result from temporary overloading Periodic Failures – caused by cron jobs and other scheduled tasks

CoDNS Ideas 12 Attempt to resolve locally, then request data from peers if too slow Distributed DNS cache - peer may have hostname in cache Design questions:  How important is locality?  How soon should you attempt to contact a peer?  How many peers to contact?

CoDNS Counter-thoughts 13 This seems unnecessarily complex – why not just go to another local or root nameserver?  Many failures are overload related, more aggressive contact of nameservers would just aggravate the problem Is this worth the increased load on peer’s DNS servers and the bandwidth of duplicating requests?  Failure times were not consistent between peers, so this likely will have minimal negative effect

CoDNS Implementation 14 Stand-alone daemon on each node  Master & slave processes for resolution  Master reissues requests if slaves are too slow  Doubles delay after first retry How soon before you contact peers? It depends  Good local performance – Increase reissue delay up to 200ms  Frequently relying on remote lookups – Reduce reissue delay to as low as 0ms

Peer Management & Communication 15 Peers maintain a set of neighbors  Built by contacting list of all peers  Periodic heartbeats determine liveness  Replace dead nodes with additional scanning of node list Uses Highest Random Weight (HRW) hashing  Generates ordered list of nodes given a hostname  Sorted by a hash of hostname and peer address  Provides request locality

Results 16 Overall, average responses improved 16% to 75%  Internal lookups: 37ms to 7ms  Real traffic: 237ms to 84ms At Cornell, the worst performing node, average response times massively reduced:  Internal lookups: 554ms to 21ms  Real traffic: 1095ms to 79ms

Results: One Day of Traffic 17 Local DNS CoDNS

Observations 18 Three observed cases where CoDNS doesn’t provide benefit:  Name does not exist  Initialization problems result in bad neighbor set  Network prevents CoDNS from contacting peers CoDNS uses peers for 18.9% of lookups 34.6% of remote queries return faster than local lookup

Overhead 19 Extra DNS lookups:  Controllable via variable initial delay time  Naive 500ms delay adds about 10% overhead  Dynamic delay adds only 18.9% Extra Network Traffic:  Remote queries and heartbeats only account for about 520MB/day across all nodes  Only 0.3% overhead

Questions 20 The CoDeeN workload has a very diverse lookup set, would you expect different behavior from a less diverse set of lookups? CoDNS proved to work remarkably well in the PlanetLab environment, where else could the architecture prove useful? The authors took a black box approach towards observing and working with the DNS servers, do you think a more integrated method could further improve observations or results? It seems a surprising number of failures result from Cron jobs, should this have been a task for policy or policy enforcement?

“STORAGE MANAGEMENT AND CACHING IN PAST, A LARGE-SCALE PERSISTENT PEER-TO-PEER STORAGE UTILITY” SOSP 2001 ANTONY ROWSTRON PETER DRUSCHEL PRESENTED BY WILL DIETZ 21 PAST

PAST Introduction 22 Distributed Peer-to-Peer Storage System  Meant for archival backup, not as filesystem  Files stored together, not split apart Built on top of Pastry  Routing layer, locality benefits Basic concept as DHT object store  Hash file to get fileID  Use pastry to send file to node with nodeID closest to fileID API as expected  Insert, Lookup, Reclaim

Pastry Review 23 Self-organizing overlay network  Each node hashed to nodeID, circular nodeID space. Prefix routing  O(log(n)) routing table size  O(log(n)) message forwarding steps Network Proximity Routing  Routing entries biased towards closer nodes  With respect to some scalar distance metric (# hops, etc)

Pastry Review, continued 24 d467c4 65a1fc d13da3 d4213f d462ba Proximity space New node: d46a1c d46a1c Route(d46a1c) d462ba d4213f d13da3 65a1fc d467c4 d471f1 NodeId space

PAST – Insert 25 fileID = insert(name, …, k, file)  ‘k’ is requested duplication Hash (file, name, and random salt) to get fileID Route file to node with nodeID closest to fileID  Pastry, O(log(N)) steps Node and it’s k closest neighbors store replicas  More on what happens if they can’t store the file later

PAST – Lookup 26 file = lookup(fileID); Route to node closest to fileID. Will find closest of the k replicated copies  (With high probability)  Pastry’s locality properties

PAST – Reclaim 27 reclaim(fileId, …) Send messages to node closest to file  Node and the replicas can now delete file as they see fit Does not guarantee deletion  Simply no longer guarantees it won’t be deleted Avoids complexity of deletion agreement protocols

Is this good enough? 28 Experimental results on this basic DHT store  Numbers from NATLR web proxy trace  Full details in evaluation later  Hosts modeled after corporate desktop environment Results  Many insertion failures (51.1%)  Poor system utilization (60.8%) What causes all the failures?

The Problem 29 Storage Imbalance File assignment might be uneven  Despite hashing properties Files are different sizes Nodes have different capacities  Note: Pastry assumes order of 2 magnitude capacity difference  Too small, node rejected  Too large, node requested to rejoin as multiple nodes Would imbalance be as much of a problem if the files were fragmented? If so, why does PAST not break apart the files?

The Solution: Storage Management 30 Replica Diversion  Balance free space amongst nodes in a leaf set File Diversion  If replica diversion fails, try elsewhere Replication maintenance  How does PAST ensure sufficient replicas exist?

Replica Diversion 31 Concept  Balance free space amongst nodes in a leaf set Consider insert request: fileId Insert fileId k=4

Replica Diversion 32 What if node ‘A’ can’t store the file?  Tries to find some node ‘B’ to store the files instead AN k=4 CB ……

Replica Diversion 33 How to pick node ‘B’? Find the node with the most free space that:  Is in the leaf set of ‘A’  Is not be one of the original k-closest  Does not already have the file Store pointer to ‘B’ in ‘A’ (if ‘B’ can store the file)

Replica Diversion 34 What if ‘A’ fails?  Pointer doubles chance of losing copy stored at ‘B’ Store pointer in ‘C’ as well! (‘C’ being k+1 closest) AN k=4 CB ……

Replica Diversion 35 When to divert?  (file size) / (free space) > t ?  ‘t’ is system parameter Two ‘t’ parameters  t_pri – Threshold for accepting primary replica  t_div – Threshold for accepting diverted replica t_pri > t_div  Reserve space for primary replicas What happens when node picked for diverted replica can’t store the file?

File Diversion 36 What if ‘B’ cannot store the file either? Create new fileID Try again, up to three times If still fails, system cannot accommodate the file  Application may choose to fragment file and try again

Replica Management 37 Node failure (permanent or transient)  Pastry notices failure with keep-alive messages  Leaf sets updated  Copy file to node that’s now k-closest AN k=4 C ……

Replica Management 38 When node fails, some node ‘D’ is now k-closest What if ‘D’ node cannot store the file? (threshold)  Try Replica Diversion from ‘D’! What if ‘D’ cannot find a node to store replica?  Try Replica Diversion from farthest node in ‘D’s leaf set What if that fails?  Give up, allow there to be < k replicas  Claim: If this happens, system must be too overloaded Discussion: Thoughts?  Is giving up reasonable?  Should file owner be notified somehow?

Caching 39 Concept:  As requests are routed, cache files locally Popular files cached  Make use of unused space Cache locality  Due to Pastry’s proximity Cache Policy: GreedyDual-Size (GD-S)  Weighted entries: (# cache hits) / (file size) Discussion:  Is this a good cache policy?

Security 40 Public/private key encryption  Smartcards Insert, reclaim requests signed Lookup requests not protected  Clients can give PAST an encrypted file to fix this Randomized routing (Pastry) Storage quotas

Evaluation 41 Two workloads tested Web proxy trace from NLANR  1.8million unique URLS  18.7 GB content, mean 10.5kB, median 1.3kB, [0B,138MB] Filesystem (combination of filesystems authors had)  2.02million files  166.6GB, mean 88.2kB, median 4.5kB, [0,2.7GB] 2250 Past nodes, k=5  Node capacities modeled after corporate network desktops  Truncated normal distribution, mean +- 1 standard deviation

Evaluation (1) 42 As t_pri increases:  More utilization  More failures  Why?

Evaluation (2) 43 As system utilization increases:  More failures  Smaller files fail more What causes this?

Evaluation (3) 44 Caching

Discussion 45 Block storage vs file storage? Replace the threshold metric?  (file size)/(freespace) > t Would you use PAST? What for? Is P2P right solution for PAST?  For backup in general? Economically sound?  Compared to tape drives, compared to cloud storage Resilience to churn?

NDSI ’08 EMIL SIT ROBERT MORRIS M. FRANS KAASHOEK MIT CSAIL 46 UsenetDHT

Background: Usenet 47 Distributed system for discussion Threaded discussion  Headers, article body  Different (hierarchical) groups Network of peering servers  Each server has full copy  Per-server retention policy  Articles shared via flood-fill (Image from

UsenetDHT 48 Problem:  Each server stores copies of all articles (that it wants)  O(n) copies of each article! Idea:  Store articles in common store  O(n) reduction of space used UsenetDHT:  Peer-to-peer applications  Each node acts as Usenet frontend, and DHT node  Headers flood-filled as normal, articles stored in DHT

Discussion 49 What does this system gain from being P2P?  Why not separate storage from front-ends? (Articles in S3?) Per-site filtering? For those that read the paper…  Passing tone requires synchronized clocks– how to fix this? Local caching  Trade-off between performance and required storage per node  How does this effect the bounds on number of messages? Why isn’t this used today?