Improving and Generalizing Chord

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
Scalable Content-Addressable Network Lintao Liu
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
Technische Universität Chemnitz Kurt Tutschku Vertretung - Professur Rechner- netze und verteilte Systeme Chord - A Distributed Hash Table Yimei Liao.
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
Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 22: Overlay Networks Xiaowei Yang
Peer-to-Peer Distributed Search. Peer-to-Peer Networks A pure peer-to-peer network is a collection of nodes or peers that: 1.Are autonomous: participants.
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.
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.
Scalable Resource Information Service for Computational Grids Nian-Feng Tzeng Center for Advanced Computer Studies University of Louisiana at Lafayette.
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.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
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.
INTRODUCTION TO PEER TO PEER NETWORKS Z.M. Joseph CSE 6392 – DB Exploration Spring 2006 CSE, UT Arlington.
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.
Overlay network concept Case study: Distributed Hash table (DHT) Case study: Distributed Hash table (DHT)
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.
Network Computing Laboratory Scalable File Sharing System Using Distributed Hash Table Idea Proposal April 14, 2005 Presentation by Jaesun Han.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
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.
SIGCOMM 2001 Lecture slides by Dr. Yingwu Zhu Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
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,
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.
Two Peer-to-Peer Networking Approaches Ken Calvert Net Seminar, 23 October 2001 Note: Many slides “borrowed” from S. Ratnasamy’s Qualifying Exam talk.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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
A Survey of Peer-to-Peer Content Distribution Technologies Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004.
Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M
CSE 486/586 Distributed Systems Distributed Hash Tables
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Distributed Hash Tables
A Scalable Peer-to-peer Lookup Service for Internet Applications
Peer-to-Peer Data Management
(slides by Nick Feamster)
COS 461: Computer Networks
S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord
P2PS: a Peer-to-Peer Development Platform
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Prof. Leonardo Mostarda University of Camerino
Koorde: A simple degree optimal DHT
P2P Systems and Distributed Hash Tables
COS 461: Computer Networks
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
P2P: Distributed Hash Tables
CSE 486/586 Distributed Systems Distributed Hash Tables
Peer-to-Peer Information Systems Week 12: Naming
#02 Peer to Peer Networking
Presentation transcript:

Improving and Generalizing Chord   PEPITO Improving and Generalizing Chord Valentin Mesaros, Bruno Carton, and Peter Van Roy Global Computing, Rovereto-Italy Feb. 2003

Contents Context of the problem Chord overview   PEPITO Contents Context of the problem Chord overview Using symmetry to improve lookup in Chord Generalization of symmetry in Chord

Context of the problem what is p2p? why p2p? PEPITO   PEPITO Context of the problem what is p2p? - a system where the components are “equal” - there is no central point of failure - virtual (overlay) network at the application level - ... why p2p? - increase system scalability - avoid single point of failure - achieve better load balancing - enable resource aggregation

Examples of p2p systems hybrid (client/server) “pure” p2p   PEPITO Examples of p2p systems R = N-1 (hub) R = 1 (others) H = 1 hybrid (client/server) - Napster “pure” p2p - Gnutella Distributed Hash Table (DHT) - Chord R = ? (variable) H = 1…7 (but no guarantee) R = log N H = log N (with guarantee)

Chord: overview Chord is a p2p system based on binary search   PEPITO Chord: overview Chord is a p2p system based on binary search the search space is organized as a virtual ring of size N - an entity is assigned an m-bit identifier, - a node has a well determined place within the virtual ring - a node has a predecessor and a successor - a node has log2N fingers (= entries in routing table): finger start finger node - a node stores the keys between its predecessor and itself

The fingers at node 1 in a poorly populated Chord system of size 64

Chord: scalable lookup   PEPITO Chord: scalable lookup given a system of size N with each node having a routing table of size log2N, resolve any key in max log2N hops to look for key k at node n - check whether k is found between n and the successor of n - otherwise, forward the request to the closest finger preceding k

Path queries for keys 14 and 58, starting node 1, in a poorly populated Chord system of size 64

Chord: drawbacks weak support for full-duplex protocols/applications   PEPITO Chord: drawbacks weak support for full-duplex protocols/applications - due to the asymmetric routing cost : nr_of_hops( p  n )  nr_of_hops( n  p ) a node can not make in-place notifications (joining/leaving) - due to the asymmetric organization the routing - this can lead to lookup failures exploiting the underlying network proximity is not straightforward - the choice for the nearest neighborhood is not flexible - each node must connect the right corresponding predecessor and successor

Using symmetry to improve Chord   PEPITO Using symmetry to improve Chord S-Chord: possible solution to some of the drawbacks of Chord - introduce symmetry in the routing organization * routing cost symmetry : nr_of_hops( p  n )  nr_of_hops( n  p ) * routing entry symmetry : if n points to p then p points to n improve lookup efficiency - for the same size of the routing table, resolve a key in 25% less hops for the worst case, and in 10% less hops in average

S-Chord: the finger table   PEPITO S-Chord: the finger table S-Chord is based on Chord the search space is organized as a virtual ring of size N - a node has a predecessor and a successor - a node stores the keys between its predecessor and itself - a node has 2*m fingers (where m = ) finger start finger node

The fingers at node 1 in a poorly populated S-Chord system of size 64

S-Chord: the finger responsibility   PEPITO S-Chord: the finger responsibility the finger responsibility is used when routing the queries the search space at a node is split among its fingers a finger is situated inside the domain it is responsible for

The fingers and their responsibilities at node 0 in a fully populated S-Chord system of size 64 The responsibility of finger i of a node starts from the half way point between it and finger i-1, and ends at the half way point between it and finger i+1

S-Chord : the finger responsibility (insights)   PEPITO S-Chord : the finger responsibility (insights) for we have: for we have: we consider: for and for n = 0

The fingers and their responsibilities at node 1 in a poorly populated S-Chord system of size 64

S-Chord: scalable lookup   PEPITO S-Chord: scalable lookup to look for key k at node n - check whether k is found between the predecessor and successor of n - otherwise, forward the request to the finger whose responsibility includes k resolve any key in max hops (i.e., 25% better than log2N in Chord) at each suite of three steps the distance to the node storing the key is reduced by a factor of 16, while in Chord it’s reduced by 8 e.g., in S-Chord the distance is reduced by 256 in 6 hops, rather than in 8 hops in Chord

R1(3) ]1233] R18(5) ]8 15] R1(5) ]5563] Path queries for keys 14 and 58, starting node 1, in a poorly populated S_Chord system of size 64

S-Chord: simulation (III)   PEPITO S-Chord: simulation (III) distribution of the path length in Chord and S-Chord for N = 216

S-Chord: simulation (II)   PEPITO S-Chord: simulation (II) worst case and average path length function the network size for Chord and S-Chord (fully populated)

S-Chord: simulation (II)   PEPITO S-Chord: simulation (II) distance variation between pairs of nodes in Chord and S-Chord, measured for two poorly populated (1024 nodes) systems of size 212 and 220

Generalization of symmetry in Chord (GS-Chord)   PEPITO Generalization of symmetry in Chord (GS-Chord) Objective - given N,a network size, and L, a length (in hops), compute a finger table such that the length of any lookup in the network is below L. A possible solution - Distributed k-ary search - DkS (Onana, El-Ansary, Brand, Haridi) Another solution: inductive construction using symmetry - build the finger table inductively - without generalization, the finger table is function of N, i.e. FT = ƒ(N) - with generalization, FT = ƒ(N, j) , where j is a finger density indicator

GS-Chord (finger density factor j=1)   PEPITO GS-Chord (finger density factor j=1)

GS-Chord (finger density factor j=2)   PEPITO GS-Chord (finger density factor j=2)

Generalization results (I)   PEPITO Generalization results (I)

Generalization results (II)   PEPITO Generalization results (II)

GS-Chord: simulation (III)   PEPITO GS-Chord: simulation (III)

Conclusions: Symmetric DkS?   PEPITO Conclusions: Symmetric DkS? GS-Chord keeps the same guarantees as Chord - system correctness remains the same symmetry is good for improving lookup efficiency - GS-Chord does 45% better than Chord / DkS(k=2) (in worst-case) - for large k, DkS approaches GS-Chord in lookup efficiency - GS-Chord has better routing cost symmetry than DkS the low cost update approaches of DkS can be applied to GS-Chord - atomic join / leave and correction-on-use future work: use of symmetry in multicast - in DkS, all nodes of spanning tree must store state - in GS-Chord, only the group members need to store state