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.

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
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 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.
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.
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
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.
Secure Overlay Services Adam Hathcock Information Assurance Lab Auburn University.
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 網路應用與服務.
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.
Chord & CFS Presenter: Gang ZhouNov. 11th, University of Virginia.
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.
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.
Lecture 2 Distributed Hash Table
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.
Chord Advanced issues. Analysis Search takes O(log(N)) time –Proof 1 (intuition): At each step, distance between query and peer hosting the object reduces.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P Systems.
Md Tareq Adnan Centralized Approach : Server & Clients Slow content must traverse multiple backbones and long distances Unreliable.
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.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
Magdalena Balazinska, Hari Balakrishnan, and David Karger
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
Chord Advanced issues.
Chord Advanced issues.
Reading Report 11 Yin Chen 1 Apr 2004
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
Consistent Hashing and Distributed Hash Table
P2P: Distributed Hash Tables
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

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 Karger, M.Frans Kaashoek, Hari Balakrishnan, In Proc. ACM SIGCOMM, August

2 The Base Chord Protocol Consistent Hashing Identifier  A node’s identifier : hash the node’s IP address  A key identifier : hash the key  Identifiers are ordered in an identifier circle modulo 2 m Successor Node  Key k is assigned to the first node whose identifier is equal to or follows k in the identifier space. This node is called successor node of key k, successor (k).  If identifiers are represented as a circle of numbers from 0 to 2 m -1, successor (k) is the first node clockwise from k.  i.e. An identifier circle with m=3. The circle has 3 nodes: 0,1,3. The successor of identifier 1 is node 1, so key 1 is located at node 1, key 2 is located at node 3, and key 6 at node 0. THEOREM 1. For any set of N nodes and K keys, with high probability: 1. Each node is responsible for at most (1 + ε)K/N keys. ( the bound of ε = O (log N)) 2. When an (N + 1) st node joins or leaves the network, responsibility for O(K/N) keys changes hands (and only to or from the joining or leaving node).

3 The Base Chord Protocol Scalable Key Location Finger table  Each node n maintains a finger table, containing the IP address of a node halfway about the ID space from it, a quarter-of-the-way, an eighth-of-the-way, and so on.  The i th entry in the finger table at node n contains the identity of the first node s, that succeeds n by at least 2 i -1 on the identifier circle, i.e., s = successor (n + 2 i -1 ), where 1 ≤ i ≤ m (n is the number of bits in the key/node identifiers). The node s is call the i th finger of node n. (n.finger[i].node). The first finger of n is its immediate successor in the circle.  i.e. the finger table of node 1 points to the successor nodes of identifiers ( ) mod 2 3 = 2, ( ) mod 2 3 = 3, and ( ) mod 2 3 = 5, and the same as other nodes. Table 1: Definition of variables for node n, using m-bit identifiers

4 The Base Chord Protocol Scalable Key Location (Cont.) Searching mechanism  If a node n does not know the successor of a key k, it search its finger table to find a node whose ID is closer to k, repeatedly, that node will find a node whose ID is closest to k.  i.e. Suppose node 3 wants to find the successor of key 1. Since 1 belongs to the circular interval [7,3), which belongs to the 3 rd entry with successor of 0. Because node 0 has information about 1’s successor, it return node 1 to node 3. THEOREM 2. With high probability (or under standard hardness assumptions), the number of nodes that must be contacted to find a successor in an N-node network is O (log N).

5 The Base Chord Protocol Node Joins Each node maintains a predecessor pointer, which containing the identifier and IP address of the immediate predecessor of that node. Initializing fingers and predecessor  A new node n asks an existing node n’ to look up its predecessor. Since n’s table will be similar to its neighbor’s, it copies its predecessor’s complete finger table, and then use the contents of the table as hints to find the correct values. Updating fingers of existing nodes  Node n will need to be entered into the finger tables of some existing nodes.  Node n will become the i th finger of node p if and only if 1. p precedes n by at least 2 i-1, and 2. the i th finger of node p succeeds n.  The first node, p, meeting these two conditions is the immediate predecessor of n-2 i-1. Thus, for a given n, starts with the i th finger on node n, and continues to walk in the counter-clock-wise direction until reaches a node whose i th finger precedes n. Transferring keys : To move responsibility for all the keys for which node n is now the successor, n only needs to contact the immediately following node.

6 Concurrent Operations and Failures Stabilization The “stabilization” protocol is used to keep node’ successor pointers up to date. Those successor pointers are used to verify and correct finger table entries, which allows these lookups to be fast as well as correct. Mechanism  Every node runs stabilize periodically (this is how newly joined nodes are noticed by the network).  Stabilize asks n’s successor for the successor’s predecessor p, and decides whether p should be n’s successor instead. (if node p recently joined the system)  Stabilize also notifies node n’s successor of n’s existence, giving the successor the n chance to change its predecessor to n. The finger table accelerates lookups, but does NOT need to be accurate when nodes join, because joins don’s substantially damage the performance of fingers :  If a node has a finger into each interval, then these fingers can still be used  New joins influence the lookup only by getting in between the old predecessor and successor of a target query.

7 Concurrent Operations and Failures Failures and Replication Goal  When a node n fails, nodes whose finger tables include n must find n’s successor.  The failure of n must not be allowed to disrupt queries that are in progress as the system is re- stabilizing. Solution  Each node maintains a “successor-list” of its r nearest successors on the Chord ring.  If node n notices that its successor has failed, it replaces it with the first live entry in its successor list.  As time passes, stabilize will correct finger table entries and successor-list entries pointing to the failed node. 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 ½, 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 ½, then the expected time to execute find_successor in the failed network is O(log N).

8 Evaluation Load Balance  The number of keys per node exhibits large variation that increase linearly with the number of keys.  The probability that a particular bin does NOT contain any node is (1-1/N) N, (for large values of N this approaches e -1 = 0.368)  Adding virtual nodes can significantly improve load balance, but will increase routing table space usage. Figure 1 : The mean and 1 st and 99 th percentiles of the number of keys stored per node in a 10 4 node network Figure 2 : The probability density function (PDF) of the number of keys per node. The total number of keys is 5 х 10 5

9 Evaluation Path Length  From Theorem 2, with high probability, the length of the path to resolve a query is O(log N).  As expected, the mean path length increases logarithmically with the number of nodes, as about ½ log 2 N. Figure 3 : The path length as a function of network sizeFigure 4 : The PDF of the path length in the case of a 2 12 node network

10 Evaluation Simultaneous Node Failures :  There is NO significant lookup failure in the Chord network. (Figure 5) Lookup During Stabilization  A lookup issued after some failures but before stabilization has completed may fail for 2 reasons: The node responsible for the key may have failed Some nodes’ finger tables and predecessor pointers may be inconsistent due to concurrent joins and node failures.  A lookup is considered to have succeeded if it reaches the current successor of the desired key. The simulator does not retry queries, the result can be the worst-case scenario.  Chord’s performance will be sensitive to the frequency of node joins and leaves versus the frequency at which the stabilization protocol is invoked. (Figure 6) Figure 5 : The fraction of lookups that fail as a function of the fraction of nodes that fail Figure 6 : The fraction of lookups that fail as a function of the rate (over time) at which nodes fail and join. Only failures caused by Chord state inconsistency are included, not failures due to lost keys.

11 Evaluation Latency measurements  The median latency ranges from 180 to 285ms depending on number of nodes.  The low 5 th percentile latencies care caused by lookups for keys close to the querying node and by query hops that remain local to the physical site.  The high 95 th percentiles are caused by lookup whose hops follow high delay paths.  The lookup latency grows slowly with the total number of nodes.  Demonstrate Chord’s scalability. Figure 7 : Lookup latency on the Internet prototype, as a function of the total number of nodes. Each of the ten physical sites runs multiple independent copies of the Chord node software.