Symmetric Replication in Structured Peer-to-Peer Systems Ali Ghodsi, Luc Onana Alima, Seif Haridi.

Slides:



Advertisements
Similar presentations
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Advertisements

Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Peer to Peer and Distributed Hash Tables
Scalable Content-Addressable Network Lintao Liu
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 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 Scalable Peer-to-peer Lookup Protocol for Internet Applications Speaker: Cathrin Weiß 11/23/2004 Proseminar Peer-to-Peer Information Systems.
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
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.
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.
Looking Up Data in P2P Systems Hari Balakrishnan M.Frans Kaashoek David Karger Robert Morris Ion Stoica.
Fault-tolerant Routing in Peer-to-Peer Systems James Aspnes Zoë Diamadi Gauri Shah Yale University PODC 2002.
Chord and CFS Philip Skov Knudsen Niels Teglsbo Jensen Mads Lundemann
SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Microsoft Research.
Distributed Lookup Systems
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Peer-to-Peer.
SkipNet: A Scaleable Overlay Network With Practical Locality Properties Presented by Rachel Rubin CS294-4: Peer-to-Peer Systems By Nicholas Harvey, Michael.
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
Peer-to-Peer Networks Slides largely adopted from Ion Stoica’s lecture at UCB.
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.
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.
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 Distributed Hash Tables (DHTs) Lars Jørgen Lillehovde Jo Grimstad Bang Distributed Hash Tables (DHTs)
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.
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.
1 Distributed Hash Table CS780-3 Lecture Notes In courtesy of Heng Yin.
1. Outline  Introduction  Different Mechanisms Broadcasting Multicasting Forward Pointers Home-based approach Distributed Hash Tables Hierarchical approaches.
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.
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.
CS 347Notes081 CS 347: Parallel and Distributed Data Management Notes 08: P2P 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
CS 268: Lecture 22 (Peer-to-Peer Networks)
The Chord P2P Network Some slides have been borrowed from the original presentation by the authors.
Distributed Hash Tables
EE 122: Peer-to-Peer (P2P) Networks
DHT Routing Geometries and Chord
Chord Advanced issues.
Building Peer-to-Peer Systems with Chord, a Distributed Lookup Service
Chord Advanced issues.
Chord Advanced issues.
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
Peer-to-Peer Information Systems Week 12: Naming
Presentation transcript:

Symmetric Replication in Structured Peer-to-Peer Systems Ali Ghodsi, Luc Onana Alima, Seif Haridi

29 July 2005 Scope of the Talk Where to place replicas in a DHT?

29 July 2005 Background DKS System ( –Were initially replicating on successor-lists (Similar to Chord/Koorde) –Turned out to have several problems…

29 July 2005 Outline Background Proposed scheme: symmetric replication Extensions Related Work & Summary

29 July 2005 What is Replication on the Successor-List? In one sentence: –Replicate node n ’s data to its f closest neighbors for replication degree f

29 July 2005 Successor-list Example: Chord A Chord-alike system, with nodes 0, 3, 5, 10,

29 July 2005 Successor-list Example: Chord With a replication factor of f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11 Data: 6, 7, 8, 9, 10

29 July 2005 Successor-list Example: Chord With a replication factor of f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11 Data: 6, 7, 8, 9, 10 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10 Node 11: 11

29 July 2005 Successor-list Example: Chord With a replication factor of f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11 Data: 6, 7, 8, 9, 10 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10 Node 11: 11 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10

29 July 2005 Successor-list Example: Chord With a replication factor of f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11 Data: 6, 7, 8, 9, 10 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10 Node 11: 11 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10 Node 11: 11 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10

29 July 2005 Problem: Dynamism What happens in case of leaves or failures? f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 10: 6, 7, 8, 9, 10 Node 11: 11 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10 Node 11: 11 Node 3: 1, 2, 3 Node 5: 4, 5 Node 10: 6, 7, 8, 9, 10

29 July 2005 Problem: Dynamism What happens in case of leaves or failures? f= Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 11: 11,10,9,8,7,6 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 11: 11 Node 3: 1, 2, 3 Node 5: 4, 5

29 July 2005 Problem: Dynamism Need to move items to restore replication degree! Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 11: 11,10,9,8,7,6 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 11: 11,10, 9, 8, 7, 6 Node 3: 1, 2, 3 Node 5: 4, 5 Get items Data: 4, 5 Node 5: 4, 5

29 July 2005 Problem: Dynamism Need to move items to restore replication degree! Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 11: 11,10,9,8,7,6 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 11: 11,10, 9, 8, 7, 6 Node 3: 1, 2, 3 Node 5: 4, 5 Get items Data: 1, 2, 3 Node 5: 4, 5 Node 3: 1, 2, 3

29 July 2005 Problem: Dynamism Need to move items to restore replication degree! Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 11: 11,10,9,8,7,6 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 11: 11,10, 9, 8, 7, 6 Node 3: 1, 2, 3 Node 5: 4, 5 Get items Data: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 3: 1, 2, 3 Node 0: 12,13,14,15,0

29 July 2005 Problem: Dynamism Need to move items to restore replication degree! Data: 12, 13, 14, 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 11, 10, 9, 8, 7, 6 Node 0: 12, 13, 14, 15, 0 Node 3: 1, 2, 3 Node 11: 11,10,9,8,7,6 Node 0: 12, 13, 14, 15, 0 Node 5: 4, 5 Node 11: 11,10, 9, 8, 7, 6 Node 3: 1, 2, 3 Node 5: 4, 5 Get items Data: 10, 9, 8, 7, 6

29 July 2005 Problem: Dynamism Every join/leave/failure requires: –  (f) messages, to restore a replication degree of f –Need coordination of the restoration What if the coordinator fails?

29 July 2005 Problem: Performance & Security How do we contact 2 nd, 3 rd, 4 th … replica? –Have to contact the 1 st replica! The 1 st replica is –Bottleneck –Can fail –Can be malicious (distributed voting useless)

29 July 2005 Outline Background Proposed scheme: symmetric replication Extensions Related Work & Summary

29 July 2005 Symmetric Replication Goal of Symmetric Replication: –Simple algorithms Each join/leave should require O(1) messages –Enable concurrent requests Load-balancing without a bottleneck –Increase security Use distributed voting –Add proximity information Route through closest replica

29 July 2005 Symmetric Replication Idea: –For replication degree f, partition the identifier space into m equivalence classes: Use the congruence classes modulo f –The cardinality of each class is f –Each node replicates the equivalence class of every identifier it is responsible for

29 July 2005 Symmetric replication Replication degree f=4, Id={0,…,15} 4 equivalence classes: Data: 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 14, 13, 12, 11 Data: 6, 7, 8, 9, 10 0, 4, 8, 12 1, 5, 9, 13 2, 6, 10, 14 3, 7, 11, 15

29 July 2005 Symmetric replication Replication degree f=4, Id={0,…,15} 4 equivalence classes: Data: 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 14, 13, 12, 11 Data: 6, 7, 8, 9, 10 0, 4, 8, 12 1, 5, 9, 13 2, 6, 10, 14 3, 7, 11, 15 Data: 10, 9, 8, 7 Data: 11, 12 Data: 13, 14, 15 Data: 0, 1 Data: 2, 3, 4, 5, 6 Data: 6, 5, 4, 3 Data: 2, 1, 0, 15 Data: 7, 8 Data: 3, 4 Data: 9, 10, 11 Data: 5, 6, 7 Data: 12, 13 Data: 8, 9 Data: 14, 15, 0, 1, 2 Data: 10, 11, 12, 13, 14

29 July 2005 Symmetric replication: joins! Replication degree f=4, Id={0,…,15} 4 equivalence classes: Data: 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 14, 13, Data: 6, 7, 8, 9, 10 0, 4, 8, 12 1, 5, 9, 13 2, 6, 10, 14 3, 7, 11, 15 Data: 10, 9 Data: 11, 12 Data: 13, 14, 15 Data: 0, 1 Data: 2, 3, 4, 5, 6 Data: 6, 5 Data: 2, 1 Data: 7, 8 Data: 3, 4 Data: 9, 10, 11 Data: 5, 6, 7 Data: 12, 13 Data: 8, 9 Data: 14, 15, 0, 1, 2 Data: 10, 11, 12, 13, 14 Data: 11, 12 Data: 7, 8 Data: 3, 4 Data: 0, 15 Get items Data: 11, 12, 7, 8, 3, 4, 0, 15

29 July 2005 Symmetric replication: failures Data: 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 14, 13, Data: 6, 7, 8, 9, 10 0, 4, 8, 12 1, 5, 9, 13 2, 6, 10, 14 3, 7, 11, 15 Data: 10, 9 Data: 11, 12 Data: 13, 14, 15 Data: 0, 1 Data: 2, 3, 4, 5, 6 Data: 6, 5 Data: 2, 1 Data: 7, 8 Data: 3, 4 Data: 9, 10, 11 Data: 5, 6, 7 Data: 12, 13 Data: 8, 9 Data: 14, 15, 0, 1, 2 Data: 10, 11, 12, 13, 14 Successor has to fetch [11], [12] from closest replica

29 July 2005 Restoring Replication Degee: failures Assume a node responsible for (10, 14) fails –Classes [10]={1, 10, 19} [14]={5, 14, 23} We decide to fetch replicas from (1, 5) Use restricted broadcast to fetch (1, 5) –[ansary-iptps02, ghodsi-pdcs02] –Reliable, O(log R) time complexity to reach R nodes Several nodes might be responsible for (1, 5) –Given uniform distribution of node identifiers E[ peers in range (1,5)] = 1

29 July 2005 Outline Background Proposed scheme: symmetric replication Extensions Related Work & Summary

29 July 2005 Extensions to Symmetric Replication Augment the routing information to: –Add proximity awareness Example: node 2, f=3 [2]={2, 5, 8} Routing Table: node 2 Finger 1 Succ(2+2 0 ) Finger 2 Succ(2+2 1 ) Finger 3 Succ(2+2 2 ) Finger 4 Succ(2+2 3 )

29 July 2005 Extensions to Symmetric Replication Augment the routing information to: –Add proximity awareness Example: node 2, f=3 [2]={2, 5, 8} Routing Table: node 2 Finger 1 Succ(2+2 0 )Succ(5+2 0 )Succ(8+2 0 ) Finger 2 Succ(2+2 1 )Succ(5+2 1 )Succ(8+2 1 ) Finger 3 Succ(2+2 2 )Succ(5+2 2 )Succ(8+2 2 ) Finger 4 Succ(2+2 3 )Succ(5+2 3 )Succ(8+2 3 )

29 July 2005 Extensions: Erasure Codes –Symmetric Replication with Erasure Codes –Encode data into n blocks, only k needed to reconstruct original data Example: n=10, k=5 –Replication degree= n ( # encoded blocks) fetch any k blocks to reconstruct data

29 July 2005 Outline Background Proposed scheme: symmetric replication Extensions Related Work & Summary

29 July 2005 Related Work Several systems use multiple hash functions –Content Addressable Networks (CAN) –Tapestry –Simple Load Balancing in Chord

29 July 2005 Problem with Multiple Hash Functions Hash 1 (“music.mp3”)=11 Hash 2 (“music.mp3”)= Data: 15, 0 Data: 1, 2, 3 Data: 4, 5 Data: 14, 13, Data: 6, 7, 8, 9, 10 Node 12 crashed, We need the inverse of Hash 1 -1 (11)=“music.mp3”

29 July 2005 Summary A general replica placement scheme –Algorithms for join, leave, fail, insert in paper O(1) messages to restore replication degree f instead of  (f) Can access any replica without a bottleneck: –Concurrent Requests –Load balance queries –Distributed Voting Current Use: –Implemented in DKS,

29 July 2005 Thank you for listening!