p2p-approximately

p2p-approximately - Peer-to-Peer 15-441 2 Scaling Problem...

Info iconThis preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Peer-to-Peer 15-441 2 Scaling Problem • Millions of clients ! server and network meltdown 3 P2P System • Leverage the resources of client machines (peers) – Computation, storage, bandwidth 4 Why p2p? • Scaling: Create system whose capacity grows with # of clients - automatically! • Self-managing – This aspect attractive for corporate/datacenter needs – e.g., Amazon ! s 100,000-ish machines, google ! s 300k+ • Harness lots of “spare” capacity at end-hosts • Eliminate centralization – Robust to failures, etc. – Robust to censorship, politics & legislation?? – Create apps/services without having huge resources 5 Today ! s Goal • p2p is hot. • There are tons and tons of instances • But that ! s not the point • Identify fundamental techniques useful in p2p settings • Understand the challenges • Look at the (current!) boundaries of where 2p is particularly useful 5 6 Outline • p2p Fle sharing techniques – Downloading: Whole-Fle vs. chunks – Searching • Centralized index (Napster, etc.) • ¡looding (Gnutella, etc.) • Smarter ¢ooding (KaZaA, …) • Routing (¡reenet, etc.) • Uses of p2p - what works well, what doesn ! t? – servers vs. arbitrary nodes – Hard state (backups!) vs soft-state (caches) • Challenges 7 Searching & ¡etching Human: “I want to watch that great 80s cult classic " Better Off Dead ! ” 1. Search: “better off dead” -> better_off_dead.mov or -> 0x539fba83ajdeadbeef 2. Locate sources of better_off_dead.mov 3. Download the Fle from them 7 8 Searching Internet N 1 N 2 N 3 N 6 N 5 N 4 Publisher Key=“title” Value=MP3 data… Client Lookup(“title”) ? 9 Search Approaches • Centralized • Flooding • A hybrid: Flooding between “Supernodes” • Structured 9 10 Different types of searches • Needles vs. Haystacks – Searching for top 40, or an obscure punk track from 1981 that nobody ! s heard of? • Search expressiveness – Whole word? Regular expressions? File names? Attributes? Whole-text search? • (e.g., p2p gnutella or p2p google?) 11 Framework • Common Primitives: – Join : how to I begin participating? – Publish : how do I advertise my ¡le? – Search : how to I ¡nd a ¡le? – Fetch : how to I retrieve a ¡le? 12 Centralized • Centralized Database: – Join : on startup, client contacts central server – Publish : reports list of ¡les to central server – Search : query the server => return node(s) that store the requested ¡le 13 Napster Example: Publish I have X, Y, and Z! Publish insert(X, 123.2.21.23) ... 123.2.21.23 14 Napster: Search Where is file A? Query Reply search(A)--> 123.2.0.18 Fetch 123.2.0.18 15 Napster: Discussion • Pros: – Simple – Search scope is O(1) for even complex searches (one index, etc.) – Controllable (pro or con?) • Cons: – Server maintains O(N) State – Server does all processing – Single point of failure • Technical failures + legal (napster shut down 16 Searching Wrap-Up Type O(search) storage Fuzzy?...
View Full Document

This note was uploaded on 11/02/2011 for the course CS 440 taught by Professor Anderson during the Spring '11 term at Carnegie Mellon.

Page1 / 17

p2p-approximately - Peer-to-Peer 15-441 2 Scaling Problem...

This preview shows document pages 1 - 5. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online