Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.

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

CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert MorrisDavid, Liben-Nowell, David R. Karger, M. Frans Kaashoek,
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications Prepared by Ali Yildiz (with minor modifications by Dennis Shasha)
Technische Universität Yimei Liao Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
IBM Haifa Research 1 Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems.
Chord: A Scalable Peer-to- Peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
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.
1 1 Chord: A scalable Peer-to-peer Lookup Service for Internet Applications Dariotaki Roula
Chord:A scalable peer-to-peer lookup service for internet applications
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
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.
Description of CHORD’s Location and routing mechanisms Vincent Matossian October 12 th 2001 ECE 579.
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.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion StoicaRobert Morris David Liben-NowellDavid R. Karger M. Frans KaashoekFrank.
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.
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.
Chord and CFS Philip Skov Knudsen Niels Teglsbo Jensen Mads Lundemann
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.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications 吳俊興 國立高雄大學 資訊工程學系 Spring 2006 EEF582 – Internet Applications and Services 網路應用與服務.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Wide-area cooperative storage with CFS
Concurrent node joins and Stabilization Παρουσίαση: Νίκος Κρεμμυδάς Πάνος Σκυβαλίδας.
Chord A Scalable Peer-to-peer Lookup Service for Internet Applications Lecture 3 1.
Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to- peer Lookup Protocol for Internet Applications Dennis Schade.
Content Overlays (Nick Feamster). 2 Content Overlays Distributed content storage and retrieval Two primary approaches: –Structured overlay –Unstructured.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
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.
1 Peer-to-Peer Systems. 2 Introduction What is peer One that of equal standing with another Peer-to-peer A way of structure distributed applications Each.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Node Lookup in P2P Networks. Node lookup in p2p networks In a p2p network, each node may provide some kind of service for other nodes and also will ask.
Presented by: Tianyu Li
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.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
Chord Advanced issues. Analysis Theorem. Search takes O (log N) time (Note that in general, 2 m may be much larger than N) Proof. After log N forwarding.
Chord Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google,
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Chapter 5 Naming (I) Speaker : Jyun-Yao Huang 1 Application and Practice of Distributed Systems.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
1 Distributed Hash tables. 2 Overview r Objective  A distributed lookup service  Data items are distributed among n parties  Anyone in the network.
The Chord P2P Network Some slides taken from the original presentation by the authors.
Peer-to-Peer Information Systems Week 12: Naming
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
A Scalable Peer-to-peer Lookup Service for Internet Applications
(slides by Nick Feamster)
DHT Routing Geometries and Chord
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Consistent Hashing and Distributed Hash Table
A Scalable Peer-to-peer Lookup Service for Internet Applications
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

Abstract Fundamental problem: location of a particular node that stores a particular data item Chord solves this problem –Data location solved by associating a key with a data item and storing the data/key pair at the node to which the key maps –Adapts efficiently as nodes join and leave system –Experiments show that chord is scalable

Chord vs. Other Systems DNS Freenet & Ohaha Globe Plaxton et. al. (used in OceanStore) CAN

Introduction to Chord Protocol for lookup in a dynamic P2P system Given a key, it maps the key onto a particular node Uses consistent hashing to assign keys to nodes (allows for balanced load) –Distributed routing information (log n entries) –Message based updates to maintain routing information (log^2 n)

System Model - Problems Load balance: spreading the load over all of the nodes in a dynamic manner Decentralization: no node is more important than any other Scalability: cost of look up grows as log n Availability: tables are automatically updated to show new nodes, node with responsible for any key can always be found Flexible Naming: no structure on the keys (naming)

The Chord Protocol Consistent Hashing Scalable Key Location Node Joins Stabilization Failures and Replication

Consistent Hashing Assigns each node and key an m-bit identifier –Uses the SHA-1 as a base hash function –Node ID: hash the node’s IP address –Key ID: hashing the key Intent – nodes can enter and leave with minimal disruption

Consistent Hashing con’t Identifiers are ordered in a circle (modulo 2^m) Key K is assined to the first node whose identifier is equal to or follows the ID of K in the identifier space This particular node is the successor node In the circle, the successor of K would be the first node clockwise from K

Consistent Hashing con’t Theorem #1 – For any set of N nodes and K keys 1.Each node is responsible for at most (1 + E)K/N keys E = O(log N) 1.When a (N+1) node joins/leaves the network, responsibility for K/N keys changes hands

Scalable Key Location aka routing information Only needs to know its successor –Queries can be passed around the circle till it reaches the node that is maps to –Resolution scheme is inefficient…why?

Scalable Key Location Each node maintains routing information in a finger table –M = number of bits in the key/node Ids –Each finger table has at most M entries –The i th entry contains the identity of the first node that succeeds N by at least 2 i-1 This node is called the finger of node N –Note: The first finger of N is its immediate successor on the circle So…first finger = successor

Scalable Key Location Each node only stores information about a small number of nodes Knows more information about nodes that are closer Finger table does not contain enough information to determine the successor of an arbitrary key K Theorem #2: the number of nodes that must be contacted to find a successor in an N-node network is O(log N)

Node Joins This is a dynamic network –Each node’s successor must be maintained –Every key K, K’s successor is responsible for K Theorem #3: any node joining/leaving will use O(log 2 N) messages to re-establish routing and finger tables The finger table also contains a predecessor pointer…why?

Node Joins 3 tasks needed when a node joins the network –Initialize the predecessor and fingers of the node –Update the fingers and predecessors of existing nodes –Transfer state for keys that node is now responsible for

Node Joins

Stabilization Join algorithm aggressively maintains finger tables of all nodes Stabilization is run on every node periodically to check for new nodes Theorem #4: Once a node can successfully resolve a given query, it will always be able to do so in the future. Theorem #5: At some time after the last join all successor pointers will be correct. Theorem #6: If we take a stable network with nodes, and another set of up to nodes joins the network with no finger pointers (but with correct successor pointers), then lookups will still take time with high probability.

Failures/Replication Key step in recovery is maintaining correct successor pointers –Successor list of its R nearest successors on the ring –If node N notices that its successor has failed, it uses the first entry from its successor list –Theorem #7: If we use a successor list of length r=O(log N) in a network that is initially stable, and then every node fails with probability 1/2, then with high probability find successor returns the closest living successor to the query key. –Theorem #8: If we use a successor list of length r=O(log N) in a network that is initially stable, and then every node fails with probability 1/2, then the expected time to execute find successor in the failed network is O(log N).

Simulation/Experimental Results Path Length Simultaneous Node Failures Lookups during stabilization

Path Length Experiment: 2 k nodes, 100*2 k keys, k=3-14

Simultaneous Node Failures Ability to remain consistent after high percentage of node failure Experiment: 10 4 nodes and 10 6 keys –Wait for network to stabilize then measure fraction of keys that could not be looked up correctly

Lookups During Stabilization Lookup after failure but before stabilization failure reasons –Node responsible for key may have failed –Nodes finger tables and predecessor pointers may be inconsistent

Chord Applications Following are good applications for which Chord could be a good foundation –Cooperative Mirroring: balance the demand for a particular file on a server with files that aren’t popular at all –Time Shared Storage: store someone else’s data when you’re machine is up and they will store yours when you are down –Distributed Indexes: keyword search –Large-Scale Combinatorial Search: ie-code breaking

The End! Questions Comments Discussion