The Cost of Inconsistency in Chord Shelley Zhuang, Ion Stoica, Randy Katz OASIS/i3 Retreat, January 2005.

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
Evaluation of a Scalable P2P Lookup Protocol for Internet Applications
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.
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.
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
P2P Network Structured Networks: Distributed Hash Tables Pedro García López Universitat Rovira I Virgili
Chord:A scalable peer-to-peer lookup service for internet applications
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
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.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
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.
Exploring Tradeoffs in Failure Detection in P2P Networks Shelley Zhuang, Ion Stoica, Randy Katz HIIT Short Course August 18-20, 2003.
Positive Feedback Loops in DHTs or Be Careful How You Simulate January 13, 2004 Sean Rhea, Dennis Geels, Timothy Roscoe, and John Kubiatowicz From “Handling.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Exploring Tradeoffs in Failure Detection in P2P Networks Shelley Zhuang, Ion Stoica, Randy Katz Sahara Retreat January, 2003.
Exploring Tradeoffs in Failure Detection in P2P Networks Shelley Zhuang, Ion Stoica, Randy Katz Sahara Retreat June 4-6, 2003.
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.
EE 122: A Note On Joining Operation in Chord Ion Stoica October 20, 2002.
File Sharing : Hash/Lookup Yossi Shasho (HW in last slide) Based on Chord: A Scalable Peer-to-peer Lookup Service for Internet ApplicationsChord: A Scalable.
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.
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.
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.
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.
Lecture 12 Distributed Hash Tables CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
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.
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,
1 Distributed Hash tables. 2 Overview r Objective  A distributed lookup service  Data items are distributed among n parties  Anyone in the network.
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.
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
Chord Advanced issues.
Chord Advanced issues.
Chord Advanced issues.
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
P2P: Distributed Hash Tables
A Scalable Peer-to-peer Lookup Service for Internet Applications
Presentation transcript:

The Cost of Inconsistency in Chord Shelley Zhuang, Ion Stoica, Randy Katz OASIS/i3 Retreat, January 2005

Introduction DHTs support a hashtable-like lookup interface Each node maintains a routing table about a few other (typically O(log n)) nodes A node communicates with other nodes to perform a lookup The routing state may become inconsistent as nodes continuously join and leave What is the impact of routing state inconsistencies on lookup performance?

Outline Introduction Cost of Inconsistency Performance Evaluation Conclusion

Routing State Inconsistencies InconsistencyGenerated byCorrected by False negative: a node falsely thinks a neighbor is up LeavesFailure detection algorithms False positive: a node falsely removes a neighbor that is up Failure detection algorithms Failure recovery algorithms Join hole: a new node joins but has not been fully incorporated into the routing state JoinsJoin algorithms Leave recovery: a node leaves and disrupts the routing state LeavesFailure recovery algorithms

Possible Outcomes of a Lookup Lookup Timeout Reply Correct Incorrect Loss Loop Premature Timeout

Chord Protocol Each node has an identifier Nodes are ordered on a circular identifier space Key k is assigned to the first node whose identifier is equal to or follows k on the circular identifier space Each node maintains a predecessor, successors, and fingers Correctness of lookup depends only on predecessor and successor pointers

Cost of Inconsistency - Loss Network loss False negative: a node forwards a lookup to a neighbor that has failed A B C

Cost of Inconsistency - Loop A forwards lookup to B, B forwards it on because B's pred is between key and B A B key

Cost of Inconsistency - Loop A forwards lookup to B, B forwards it on because B's pred is between key and B A B A's succ is wrong, B's pred is correct or wrong key  A's correct succ should be some node between A and key

Cost of Inconsistency - Loop A forwards lookup to B, B forwards it on because B's pred is between key and B A B A's succ is wrong, B's pred is correct or wrong key  A's correct succ should be some node between A and key  A's correct succ should be some node between key and B  The above two cases can be caused by FP, join, leave

Cost of Inconsistency - Loop A forwards lookup to B, B forwards it on because B's pred is between key and B A B A's succ is wrong, B's pred is correct or wrong key A's succ is correct, B's pred is wrong  A's correct succ should be some node between A and key  A's correct succ should be some node between key and B  The above two cases can be caused by FP, join, leave  B's correct pred should be A  The above case can be caused by FN

Cost of Inconsistency - Incorrect A forwards lookup to B, B accepts it A's succ must be wrong because there is some node between key and B B's pred must be wrong because B only accepts a lookup if its pred is before key, but there is a node between key and B A B Y key

Cost of Inconsistency - Incorrect A forwards lookup to B, B accepts it A's succ must be wrong because there is some node between key and B B's pred must be wrong because B only accepts a lookup if its pred is before key, but there is a node between key and B A B A's succ must be wrong, B's pred must be wrong key Y  B’s correct pred should be some node between key and B (i.e. Y)  the above case can be caused by FP, join, leave

Cost of Inconsistency - Incorrect A forwards lookup to B, B accepts it A's succ must be wrong because there is some node between key and B B's pred must be wrong because B only accepts a lookup if its pred is before key, but there is a node between key and B A B A's succ must be wrong, B's pred must be wrong key Y  A's correct succ should be some node between A and key  B’s correct pred should be some node between key and B (i.e. Y)  the above case can be caused by FP, join, leave

Cost of Inconsistency - Incorrect A forwards lookup to B, B accepts it A's succ must be wrong because there is some node between key and B B's pred must be wrong because B only accepts a lookup if its pred is before key, but there is a node between key and B A B A's succ must be wrong, B's pred must be wrong key Y  A's correct succ should be some node between A and key  B’s correct pred should be some node between key and B (i.e. Y)  the above case can be caused by FP, join, leave  A's correct succ should be some node between key and B  the above cases can be caused by FP, join, leave

Outline Introduction Cost of Inconsistency Performance Evaluation Conclusion

Lookup Timeouts vs. Network Loss Rate

Lookup Timeouts vs. Churn Rate

Incorrect Lookups vs. Churn Rate

Outline Introduction Cost of Inconsistency Performance Evaluation Conclusion

Routing invariant has a first order impact on the relative cost of different types of inconsistencies Cost of false negatives is higher than false positives  more important to ensure timely failure detection than low probability of false positive Cost of join holes is higher than false positives and leave recoveries due to the routing invariant of Chord

Ongoing / Future Work Lookup losses  Perhop retry  End to end retry What is the best waypoint to try? Incorrect lookups  Predecessor list Cost of inconsistency in other DHTs  Correctness in Chord depends only on predecessor and successor pointers  Many other protocols do not have similar entries in the routing state that is sufficient for correctness