Download presentation
Presentation is loading. Please wait.
1
A Scalable and Load-Balanced Lookup Protocol for High Performance Peer-to-Peer Distributed System Jerry Chou and Tai-Yi Huang Embedded & Operating System (EOS) Lab Computer Science Department National Tsing Hua University, Taiwan
2
EOS Lab, National Tsing Hua University2 Outline Contributions Methodology Simulation Conclusions Future work
3
EOS Lab, National Tsing Hua University3 Motivations and Purpose Many large-scaled servers are implemented in a peer-to-peer distributed system due to: Low cost of workstations Availability of high-speed network Performance of the system is often evaluated by the response time of the request Reduce the response time
4
EOS Lab, National Tsing Hua University4 Lookup Protocol Response time = Lookup time + Service time Shorter lookup forwarding path smaller lookup time Balanced load on nodes no hot spots smaller service time
5
EOS Lab, National Tsing Hua University5 Our Contributions (1/2) Scalable with the number of nodes Each node is only aware of other O(d log d N) nodes N is the number of nodes in the system d is a customized variable Provide a bound to lookup paths The lookup path for any request is O(log d N) Allow a tradeoff between space and time If d becomes larger More routing information required Shorter lookup path
6
EOS Lab, National Tsing Hua University6 Our Contributions (2/2) Load-balanced Both data items and lookup requests are evenly distributed Avoid hot spots and reduce the service time Decentralized Each node has equivalent functionality System is more stable Without the bottleneck on server
7
EOS Lab, National Tsing Hua University7 Methodology Data partition Structure of the balanced lookup tree Construction of the lookup table
8
EOS Lab, National Tsing Hua University8 Data Partition Use a variant of consistent hashing to partition the data set among all nodes key k is stored in node n where |k-n| is minimum Two proven properties of consistent hashing Each node stores similar amount of data items Data movement is minimum when system changes Our protocol assigns each node a number, called SID, between 0 to N-1 We will use SID to identify nodes for the rest of the presentation
9
EOS Lab, National Tsing Hua University9 Balanced Lookup Tree We construct a balanced lookup tree for each node The root of a balanced lookup tree of a node is the node itself Lookup path is bounded by O(log d N) k-2 k-dk-d k-d-1k-2d-1 … k-d 2 -1k-d-2k-2d-2 … k-d 2 -2 k-2d k-3d k-d 2 -d-1 ………………………………… k … k-1 ……… … k-d2-dk-d2-d [Fig. 1 Generic balanced lookup tree for node k ]
10
EOS Lab, National Tsing Hua University10 Comparing with Chord Our lookup tree can distribute lookup requests more evenly Resolve the hot spot problem on node 15 [Fig 2.(a) Chord: node 15 has 7 children] [Fig 2.(b) Our lookup protocol: node 15 has 3 children]
11
EOS Lab, National Tsing Hua University11 Construction of Lookup Table Lookup table is a collection of lookup pairs Get lookup pairs (target, forwarder) form lookup trees Forwarder is the next node in the lookup path to the target node Group targets and forwarders to reduce the number of entries in a lookup table
12
EOS Lab, National Tsing Hua University12 Fig 3.(b) 0 15 14 12 11 7 3 10 6 2 13 9 1 5 8 4 Fig 3.(a) 1 013 12 8 4 15 117 3 14 10 2 6 95 Node 11 Target 0 Forwarder 15 Node 13 Target 1 Forwarder 1 (1) There is a lookup pair (0,15) for node 11 (2) There is a lookup pair (1,1) for node 13
13
EOS Lab, National Tsing Hua University13 Example of Lookup Table Take the lookup table of node 0 as an example Collect and group lookup pairs for node 0 Reduce the entries from 16 to 7 TargetForwarder 84 98 108 118 128 1312 1412 1512 TargetForwarder 00 11 22 33 44 54 64 74 EntryTarget range forwarder 0(15,0]0 1(0,1]1 2(1,2]2 3(2,3]3 4(3,8]4 5(8,12]8 6(12,15]12
14
EOS Lab, National Tsing Hua University14 Generic Lookup Table (1/3) All lookup tables can be constructed by the generic lookup table without examining any lookup tree Distance tree Used to show the lookup pairs in distance relationship Constructed by replacing each node in generic balanced lookup tree with a pair (D2T,D2F) D2T : the distance to target node (root – node) D2F : the distance to forwarder node (parent – node)
15
EOS Lab, National Tsing Hua University15 (0,0) … (1,1) (2,2) (d,d)(d,d) (d 2 +d, d 2 ) … (d 2 +1,d 2 ) (d+1,d) (2d+1,2d) ………… (d+2,d)(2d+2,2d)(d 2 +2, d 2 ) (2d,d) (3d,2d) … ………………………………… (d 2 +d+1, d 2 ) Level 0 1 2 3 Distance Tree (2/3) Any pair of (D2T, D2F) is independent of k there is only one unique distance tree there are N different lookup trees
16
EOS Lab, National Tsing Hua University16 i = 1, 2, 3, …, d total entries = l * i = O(log d N) * d = O(d log d N) Generic Lookup Tree (3/3) Group D2T and D2F to get generic lookup table
17
EOS Lab, National Tsing Hua University17 Summary Lookup Path Routing Table Size Data Partition Lookup Distribution ChordO(log 2 N)log 2 NBalancedUnbalanced Our protocol O(log d N)d log d NBalanced
18
EOS Lab, National Tsing Hua University18 Simulation Results Environment 30 nodes 10 4 lookup requests Hot spot scenario 30% of the the requests ask for a data item stored in a particular node
19
EOS Lab, National Tsing Hua University19 Simulation Result Assume 30% of the requests demand data stored in node 29 Our protocol reduces 63% request load on node 28 avoid hot spot Our result is flatter => more even load distribution 18,029,800 12,533,270
20
EOS Lab, National Tsing Hua University20 Conclusions & Future Work We develop a lookup protocol for peer-to- peer distributed system scalable: O(d log d N) lookup table high-performance: O(log d N) lookup path load-balanced: even data and lookup distribution Future work dynamic system change handling more experimental results Questions & Answers
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.