Nick McKeown CS244 Lecture 17 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications [Stoica et al 2001]

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

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 (P2P) Distributed Storage 1Dennis Kafura – CS5204 – Operating Systems.
The Chord P2P Network Some slides have been borowed from the original presentation by the authors.
CHORD: A Peer-to-Peer Lookup Service CHORD: A Peer-to-Peer Lookup Service Ion StoicaRobert Morris David R. Karger M. Frans Kaashoek Hari Balakrishnan Presented.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
Distributed Hash Tables CPE 401 / 601 Computer Network Systems Modified from Ashwin Bharambe and Robert Morris.
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up.
Robert Morris, M. Frans Kaashoek, David Karger, Hari Balakrishnan, Ion Stoica, David Liben-Nowell, Frank Dabek Chord: A scalable peer-to-peer look-up protocol.
Distributed Hash Tables: Chord Brad Karp (with many slides contributed by Robert Morris) UCL Computer Science CS M038 / GZ06 27 th January, 2009.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
Massively Distributed Database Systems Distributed Hash Spring 2014 Ki-Joune Li Pusan National University.
Presented by Elisavet Kozyri. A distributed application architecture that partitions tasks or work loads between peers Main actions: Find the owner of.
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.
1 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Robert Morris Ion Stoica, David Karger, M. Frans Kaashoek, Hari Balakrishnan.
What is a P2P system? A distributed system architecture: No centralized control Nodes are symmetric in function Large number of unreliable nodes Enabled.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Spring 2003CS 4611 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Distributed Lookup Systems
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Peer-to-Peer.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek and Hari alakrishnan.
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.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
1 Peer-to-Peer Networks Outline Survey Self-organizing overlay network File system on top of P2P network Contributions from Peter Druschel.
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
Lecture 10 Naming services for flat namespaces. EECE 411: Design of Distributed Software Applications Logistics / reminders Project Send Samer and me.
CSE 461 University of Washington1 Topic Peer-to-peer content delivery – Runs without dedicated infrastructure – BitTorrent as an example Peer.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
DHTs and Peer-to-Peer Systems Supplemental Slides Aditya Akella 03/21/2007.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
 A P2P IRC Network Built on Top of the Kademlia Distributed Hash Table.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Xiaozhou Li COS 461: Computer Networks (precept 04/06/12) Princeton 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.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Chord+DHash+Ivy: Building Principled Peer-to-Peer Systems Robert Morris Joint work with F. Kaashoek, D. Karger, I. Stoica, H. Balakrishnan,
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Dr. Yingwu Zhu.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Distributed Hash Tables Steve Ko Computer Sciences and Engineering University at Buffalo.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Peer-to-Peer (P2P) File Systems. P2P File Systems CS 5204 – Fall, Peer-to-Peer Systems Definition: “Peer-to-peer systems can be characterized as.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Peer-to-peer Systems All slides © IG.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
The Chord P2P Network Some slides taken from the original presentation by the authors.
Nick McKeown CS244: Lecture 17 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications [Stoica et al 2001] Thanks to Ion Stoica.
Peer-to-Peer Information Systems Week 12: Naming
A Scalable Peer-to-peer Lookup Service for Internet Applications
(slides by Nick Feamster)
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
P2P: Distributed Hash Tables
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

Nick McKeown CS244 Lecture 17 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications [Stoica et al 2001]

About the author Professor Ion Stoica, UC Berkeley 2

Hashing Q: How does a single-node hash table work? Q: When might we use one? 3

Hashing Single-node hash table: –key = hash(name) –put(key, value) –get(key)  value 4 hash(name) name “cat_photo.jpg” key 0x2bd5f802bddeb12 Value = Store

address 0xeb12 Hashing In a memory with n locations 5 hash(name) name “cat_photo.jpg” key 0x2bd5f802bddeb12 Value = Store n mod n

address 0xeb12 mod n Hashing In a node with m memories each with n locations 6 hash(name) name “cat_photo.jpg” key 0x2bd5f802bddeb12 Store 1 n Value = Store m n mod m store

Scaling hashing Q: If I need to distribute the values over m computers (“nodes”), why don’t I just make m and n large enough to hold m x n values? Q: How would it work with m nodes each with its own name or IP address? Q: When would it not work? 7

Why people care Motivated by Napster, Gnutella, Freenet Four simultaneous papers –Chord (Stoica et al. >12,000 citations ) –CAN (Ratnasamy et al.) –PASTRY (Rowstron et al.) –Tapestry (Zhao et al.)

Distributed Hash Tables Q: Why use this interface? put(index, value) get(index)  value Q: What are its shortcomings? Q: What are the potential uses?

Proposed Uses for DHTs 1. Global file systems [OceanStore, CFS, PAST, Pastiche, UsenetDHT] 2. Naming services [Chord-DNS, Twine, SFR] 3. DB query processing [PIER, Wisc] 4. Internet-scale data structures [PHT, Cone, SkipGraphs] 5. Communication services [i3, MCAN, Bayeux, VRR] 6. Event notification [Scribe, Herald] 7. File sharing [OverNet ]

Background: DHTs Q: What properties would we like a DHT to have? 1.Decentralized: no central authority 2.Scalable: low network traffic overhead 3.Fast: find items quickly 4.Fault-tolerant & dynamic: nodes fail, new nodes join 5.General-purpose: flexible naming 6.Secure

The Lookup Problem N1N1 N2N2 N4N4 N3N3 N5N5 put(key,value) value  get(key) ?

Napster N1N1 N2N2 N4N4 N3N3 N5N5 DB put(key,value) SetLoc(key,N 4 ) value  get(key)

Gnutella N1N1 N2N2 N4N4 N3N3 N5N5 IP  search(key)

Chord Q: What is Chord’s contribution?

Chord goals “The Chord project explored how to build scalable, robust distributed systems using peer-to-peer ideas. The basis for much of our work is the Chord distributed hash lookup primitive. Chord is completely decentralized and symmetric, and can find data using only log(N) messages, where N is the number of nodes in the system. Chord's lookup mechanism is provably robust in the face of frequent node failures and re-joins.” 16

Consistent Hashing [Karger ‘97] 17 N1 N32 N90 N105 Circular 7-bit ID space K5 K20 K80 A key is stored at its successor: the node with next higher ID Q: What are the consequences of how keys are distributed?

Basic Lookup 18 N1 N32 N90 N105 K80 “Where is key 80?” “N90 has key 80”

Basic Lookup Lookup(my-id, key-id) n = my successor if my-id < n < key-id call Lookup(key-id) on node n else return my successor //done (Correctness depends only on successors) 19 Q: How does Chord accelerate the lookup?

Lookup with Fingers 20 Finger i points to successor of n + 2 i (Fingers accelerate queries without affecting correctness)

Lookup with Finger Tables Lookup(my-id, key-id) look in local finger table for highest node n s.t. my-id < n < key-id if n exists call Lookup(key-id) on node n else return my successor // done Q: Fingers accelerate lookups. Do fingers affect correctness of the key? 21

Consistency during “joins” 22 stabilize(): - run periodically by each node. - fixes predecessor pointers.

Consistency Key consistency: All nodes agree on who holds a particular key Data consistency: All nodes agree on the value associated with a key Reachability consistency: All nodes are connected in the ring and can be reached in a lookup. (Chord aims to provide eventual reachability consistency, upon which key and data consistency are built.) 23

Controversy over correctness Using Lightweight Modeling To Understand Chord – P. Zave, ACM CCR April 2012 Claims eventual reachability not guaranteed. Counter-examples suggest simultaneous joins can lead to misordering in the ring. 24

Background DHTs Chord’s Interface key = hash(data) lookup(key)  IP address send-RPC(IP address, PUT, key, value) send-RPC(IP address, GET, key) -> value

Background DHTs Application DHT Lookup Service Node Put(key, value) Get(key) data Lookup(key) Node IP address

Chord Analysis

Chord Discussion OpenDHT: Public DHT service Primary complaint: Too Slow! 99 th latency percentile measured in seconds Median latency sometimes over ½ second Q: What’s going on here? Rhea et al. FIXING the Embarrassing Slowness of OpenDHT on PlanetLab

DHT Performance Problems Few arbitrarily slow nodes cause the problem Disk reads can take tens of seconds Computations can be very slow on overloaded nodes Inter-node latencies can be high Q: What is the paradox here? Q: How can it be fixed?