Peer-to-Peer Data Structures Christian Scheideler Dept. of Computer Science Johns Hopkins University.

Slides:



Advertisements
Similar presentations
Stefan Schmid & Christian Scheideler Dept. of Computer Science
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
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Node Lookup in Peer-to-Peer Network P2P: Large connection of computers, without central control where typically each node has some information of interest.
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
Lecture 5 - Routing On the Flat Labels M.Sc Ilya Nikolaevskiy Helsinki Institute for Information Technology (HIIT)
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
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 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.
A Distributed and Oblivious Heap Christian Scheideler and Stefan Schmid Dept. of Computer Science University of Paderborn.
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.
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.
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.
Robust Mixing for Structured Overlay Networks Christian Scheideler Institut für Informatik Technische Universität München.
Introduction to Peer-to-Peer (P2P) Systems Gabi Kliot - Computer Science Department, Technion Concurrent and Distributed Computing Course 28/06/2006 The.
Distributed Computing Group A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn Fabian Kuhn Stefan Schmid Roger Wattenhofer IPTPS.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
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.
Structure Overlay Networks and Chord Presentation by Todd Gardner Figures from: Ion Stoica, Robert Morris, David Liben- Nowell, David R. Karger, M. Frans.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Decentralized Location Services CS273 Guest Lecture April 24, 2001 Ben Y. Zhao.
Peer To Peer Distributed Systems Pete Keleher. Why Distributed Systems? l Aggregate resources! –memory –disk –CPU cycles l Proximity to physical stuff.
Or, Providing Scalable, Decentralized Location and Routing Network Services Tapestry: Fault-tolerant Wide-area Application Infrastructure Motivation and.
Tapestry: Finding Nearby Objects in Peer-to-Peer Networks Joint with: Ling Huang Anthony Joseph Robert Krauthgamer John Kubiatowicz Satish Rao Sean Rhea.
Structured P2P Network Group14: Qiwei Zhang; Shi Yan; Dawei Ouyang; Boyu Sun.
A DoS-Resilient Information System for Dynamic Data Management Stefan Schmid & Christian Scheideler Dept. of Computer Science University of Paderborn Matthias.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Symmetric Replication in Structured Peer-to-Peer Systems Ali Ghodsi, Luc Onana Alima, Seif Haridi.
Introduction to Peer-to-Peer Networks. What is a P2P network A P2P network is a large distributed system. It uses the vast resource of PCs distributed.
Towards Scalable and Robust Overlay Networks Christian Scheideler Institut für Informatik Technische Universität München Baruch Awerbuch Dept. of Computer.
Using the Small-World Model to Improve Freenet Performance Hui Zhang Ashish Goel Ramesh Govindan USC.
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.
Vincent Matossian September 21st 2001 ECE 579 An Overview of Decentralized Discovery mechanisms.
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.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
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.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Peer to Peer Network Design Discovery and Routing algorithms
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.
Towards a Scalable and Robust DHT Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
1 Secure Peer-to-Peer File Sharing Frans Kaashoek, David Karger, Robert Morris, Ion Stoica, Hari Balakrishnan MIT Laboratory.
IPTPS 2005 Mirek Korzeniowski: Page 1 International Graduate School of Dynamic Intelligent Systems HEINZ NIXDORF INSTITUT University of Paderborn Algorithms.
Robust Random Number Generation for Peer-to-Peer Systems Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 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,
The Chord P2P Network Some slides taken from the original presentation by the authors.
Christian Scheideler Dept. of Computer Science
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
Chord Advanced issues.
Chord Advanced issues.
Chord Advanced issues.
MIT LCS Proceedings of the 2001 ACM SIGCOMM Conference
P2P: Distributed Hash Tables
Presentation transcript:

Peer-to-Peer Data Structures Christian Scheideler Dept. of Computer Science Johns Hopkins University

2Peer-to-Peer Data Structures Peer-to-peer data structures Data structures dispersed over dynamic set of potentially large number of peers Internet

3Peer-to-Peer Data Structures Outline of Talk How to design peer-to-peer forms of classical data structures like hash tables, skip lists, and search trees? How to formulate a general model for the design of peer-to-peer data structures?

4Peer-to-Peer Data Structures Sequential data structures How to design peer-to-peer forms of these data structures? Hash tableSkip list [Pugh ‘90] 2-3 tree [Hopcroft ’70] h

5Peer-to-Peer Data Structures Parallel data structures Linear addressable memory P read, write (1 step) requests synchronized local computation (1 step) PP.... Multiple processing units (1,2,…,n) Based on PRAM model or derivatives:

6Peer-to-Peer Data Structures Parallel Data Structures Parallel hash tables: n Insert/Delete operations: O(log n) time n Insert/Delete operations: O(log n) time n Search operations: O(1) time n Search operations: O(1) time [Gil, Matias, Vishkin ’91], [Bast, Hagerup ’91] [Gil, Matias, Vishkin ’91], [Bast, Hagerup ’91] Parallel skip lists: n Insert/Delete/Search operations: O(log n) n Insert/Delete/Search operations: O(log n) [Gabarro, Martinez, Messeguer ’94] [Gabarro, Martinez, Messeguer ’94] Parallel 2-3 trees: Parallel 2-3 trees: n Insert/Delete/Search operations: O(log n) n Insert/Delete/Search operations: O(log n) [Paul, Vishkin, Wagener ’83] [Paul, Vishkin, Wagener ’83] *

7Peer-to-Peer Data Structures Are we done?? Limitation of parallel designs: only parallelize the way the data structure is accessed, not the data structure itself! Is it realistic to assume that a reliable shared memory can be provided in a peer- to-peer system? If at all, the overhead is high! (  (log n) time and work for read/write)

8Peer-to-Peer Data Structures Peer-to-peer scenario PPP Reliable shared memory.... Dynamic set of peers, no consecutive numbers

9Peer-to-Peer Data Structures Peer-to-peer data structures Basic requirements: Remains well-connected even under massive failures. Desirable: high expansion Low maintenance overhead. Necessary: low degree Allows efficient concurrent execution of operations. UN(U) |N(U)| |U| min U

10Peer-to-Peer Data Structures Sequential data structures How to design peer-to-peer forms of these data structures? Hash tableSkip list [Pugh ‘90] 2-3 tree [Hopcroft ’70] h

11Peer-to-Peer Data Structures Hash graphs [Stoica, Morris, Karger, Kaashoek, and Balakrishnan ’01] Idea: organize objects in cycle according to hash function h:Names [0,1)

12Peer-to-Peer Data Structures Hypercubic Shortcuts +1/2 +1/4 +1/8 +1/ fingers x

13Peer-to-Peer Data Structures Hypercubic Pointer Structure

14Peer-to-Peer Data Structures Sequential data structures How to design peer-to-peer forms of these data structures? Hash tableSkip list [Pugh ‘90] 2-3 tree [Hopcroft ’70] h

15Peer-to-Peer Data Structures Skip Graphs [Aspnes and Shah ’03] Basic approach: organize objects in cycle according to real names. Cherry Banana Apple

16Peer-to-Peer Data Structures Skip Graphs Shortcuts: pad each object with random bits

17Peer-to-Peer Data Structures Sequential data structures How to design peer-to-peer forms of these data structures? Hash tableSkip list [Pugh ‘90] 2-3 tree [Hopcroft ’70] h

18Peer-to-Peer Data Structures 2-3 Graphs [Awerbuch & Scheideler ’04] Same basic approach: organize objects in cycle according to real names. Cherry Banana Apple

19Peer-to-Peer Data Structures Shortcuts: Intertwined Rings bridge

20Peer-to-Peer Data Structures Insert and Delete Inserting a node:

21Peer-to-Peer Data Structures Insert and Delete Deleting a node:

22Peer-to-Peer Data Structures k-separated 2-3 Graph In every level, bridges are k nodes apart. How large does k have to be to guarantee 1/polylog expansion  ? Theorem:  = (1/2) So k has to be non-constant (  ( log n ) ). Do areas with old insertions/deletions have to be revisited??  (log n / k ) 2 UN(U) |N(U)| |U| min U

23Peer-to-Peer Data Structures k-separated 2-3 Graph Rule: Choose k=6(d+3) d: current degree of node initiating op. Theorem: degree: 2(log n +/- 2) expansion:  (1/log n) work for Insert/Delete: O(log n) Similar DS but only with 1/n expansion in worst case was proposed by [Harvey & Munro ’03] 3 

24Peer-to-Peer Data Structures Outline of Talk How to design peer-to-peer forms of classical data structures like hash tables, skip lists, and search trees? How to formulate a general model for the design of peer-to-peer data structures?

25Peer-to-Peer Data Structures Hierarchical vs. Flat Internet

26Peer-to-Peer Data Structures How do objects find each other? Internet

27Peer-to-Peer Data Structures Model (JXTA) Network Core rendezvous service Middleware shared space, DNS Application searching, multicast

28Peer-to-Peer Data Structures Middleware Model P/M notify (1 step for reliable actors) spawn local computation (1 step) Actor Rendezvous service P/M (un)register(AID) join(AID) Simplified model, sufficient for most purposes join (to random bootstrap actor) notify leave

29Peer-to-Peer Data Structures Application Model Insert(addr, o) Delete(addr)Lookup(addr) Join(peer) Leave() Leave() space oper- ations peer oper- ations Common approach: shared space Operations: Available to application-level data structures may be unreliable!

30Peer-to-Peer Data Structures Shared Space Consistent hashing: [Karger et al. ’97] h:Addr [0,1), g:Peers [0,1) Object o stored at peer p with min g(p) s.t. h(o)<g(p)

31Peer-to-Peer Data Structures Shared Space Solutions: Chord, CAN, Pastry, Tapestry (~2001/02) OpenHash, KBR, Bamboo (more open) Problems: How to deal with heterogeneous peers? How to deal with adversarial peers?

32Peer-to-Peer Data Structures Heterogeneous Peers Peers of non-uniform bandwidth: Previous approach: cut into uniform peers, multi-tier architecture (KaZaA) Our approach [SPAA 2004] : PAGODA Thm: Any concurrent multicast problem can be routed in PAGODA with at most O(  +log n) more congestion than with best possible network of degree . Peers of non-uniform memory size: Previous approach: as above Our approach [SPAA 2004] : Thm: As long as peers are at most (1-  )-utilized, an O(  ) rate of insert/delete requests to peers can be sustained.

33Peer-to-Peer Data Structures Adversarial Peers Assumption:  -fraction of peers adversarial Challenges: Organization of peers in regions Enforcement of random IDs stochastic process / secure peer-to-peer random number generator based on verifiable secret sharing Enforcement of limited lifetime Results: (only Join/Leave) Trust-but-Verify [IPTPS 2004] Group Spreading [ICALP 2004] Enforced Spreading [submitted]

34Peer-to-Peer Data Structures Conclusion In this talk: Peer-to-peer forms of classical data structures General model for peer-to-peer data structures Challenges: Data structures for unreliable shared space Stability studies (reliable/adversarial peers) Locally self-stabilizing data structures Other applications: mobile ad-hoc, configware

Questions ??