Download presentation
Presentation is loading. Please wait.
Published byJeffry Joseph Modified over 9 years ago
1
Peer-to-Peer Data Structures Christian Scheideler Dept. of Computer Science Johns Hopkins University
2
2Peer-to-Peer Data Structures Peer-to-peer data structures Data structures dispersed over dynamic set of potentially large number of peers Internet
3
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?
4
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
5
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:
6
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] *
7
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)
8
8Peer-to-Peer Data Structures Peer-to-peer scenario PPP Reliable shared memory.... Dynamic set of peers, no consecutive numbers
9
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
10
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
11
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). 0.58 0.43 0.28
12
12Peer-to-Peer Data Structures Hypercubic Shortcuts +1/2 +1/4 +1/8 +1/16 1 0 fingers x
13
13Peer-to-Peer Data Structures Hypercubic Pointer Structure
14
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
15
15Peer-to-Peer Data Structures Skip Graphs [Aspnes and Shah ’03] Basic approach: organize objects in cycle according to real names. Cherry Banana Apple
16
16Peer-to-Peer Data Structures Skip Graphs Shortcuts: pad each object with random bits 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
17
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
18
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
19
19Peer-to-Peer Data Structures Shortcuts: Intertwined Rings bridge
20
20Peer-to-Peer Data Structures Insert and Delete Inserting a node:
21
21Peer-to-Peer Data Structures Insert and Delete Deleting a node:
22
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
23
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
24
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?
25
25Peer-to-Peer Data Structures Hierarchical vs. Flat Internet
26
26Peer-to-Peer Data Structures How do objects find each other? Internet
27
27Peer-to-Peer Data Structures Model (JXTA) Network Core rendezvous service Middleware shared space, DNS Application searching, multicast
28
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
29
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!
30
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) 0.58 0.43 0.28 0.34
31
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?
32
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.
33
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]
34
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
35
Questions ??
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.