Replication, Load Balancing and Efficient Range Query Processing in DHTs

Similar documents
Replication, Load Balancing and Efficient Range Query Processing in DHTs

The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Presented By: Kamalakar Kambhatla

Towards a Unifying Framework for Complex Query Processing over Structured Peer-to-Peer Data Networks

L3S Research Center, University of Hannover

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

LECT-05, S-1 FP2P, Javed I.

Lecture 6: Overlay Networks. CS 598: Advanced Internetworking Matthew Caesar February 15, 2011

Chord: A Scalable Peer-to-peer Lookup Service For Internet Applications

Distributed Hash Table

Venugopal Ramasubramanian Emin Gün Sirer SIGCOMM 04

Plover: A Proactive Low-overhead File Replication Scheme for Structured P2P Systems

CRESCENDO GEORGE S. NOMIKOS. Advisor: Dr. George Xylomenos

PEER-TO-PEER (P2P) systems are now one of the most

Athens University of Economics and Business. Dept. of Informatics

: Scalable Lookup

08 Distributed Hash Tables

Distributed File Systems: An Overview of Peer-to-Peer Architectures. Distributed File Systems

Ch06. NoSQL Part III.

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Passive/Active Load Balancing with Informed Node Placement in DHTs

Peer to peer systems: An overview

Architectures for Distributed Systems

Improving the Dependability of Prefix-Based Routing in DHTs

Building a low-latency, proximity-aware DHT-based P2P network

Searching for Shared Resources: DHT in General

Overview Computer Networking Lecture 16: Delivering Content: Peer to Peer and CDNs Peter Steenkiste

Peer-to-Peer Systems. Chapter General Characteristics

Searching for Shared Resources: DHT in General

A Framework for Peer-To-Peer Lookup Services based on k-ary search

Resilient GIA. Keywords-component; GIA; peer to peer; Resilient; Unstructured; Voting Algorithm

Load Sharing in Peer-to-Peer Networks using Dynamic Replication

CS514: Intermediate Course in Computer Systems

Adaptive Load Balancing for DHT Lookups

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

P2P Network Structured Networks: Distributed Hash Tables. Pedro García López Universitat Rovira I Virgili

DISTRIBUTED COMPUTER SYSTEMS ARCHITECTURES

EARM: An Efficient and Adaptive File Replication with Consistency Maintenance in P2P Systems.

EFFICIENT ROUTING OF LOAD BALANCING IN GRID COMPUTING

Distributed Evaluation of Continuous Equi-join Queries over Large Structured Overlay Networks

DISTRIBUTED SYSTEMS CSCI 4963/ /4/2015

Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications

This article appeared in a journal published by Elsevier. The attached copy is furnished to the author for internal non-commercial research and

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Query Processing Over Peer-To-Peer Data Sharing Systems

Finding Data in the Cloud using Distributed Hash Tables (Chord) IBM Haifa Research Storage Systems

Distributed Hash Tables

Some of the peer-to-peer systems take distribution to an extreme, often for reasons other than technical.

Chord : A Scalable Peer-to-Peer Lookup Protocol for Internet Applications

Opportunistic Application Flows in Sensor-based Pervasive Environments

Minimizing Churn in Distributed Systems

Data-Centric Query in Sensor Networks

DHT Overview. P2P: Advanced Topics Filesystems over DHTs and P2P research. How to build applications over DHTS. What we would like to have..

Peer-to-Peer Systems and Distributed Hash Tables

Squid: Enabling search in DHT-based systems

Enabling Dynamic Querying over Distributed Hash Tables

D1HT: A Distributed One Hop Hash Table

Small-World Overlay P2P Networks: Construction and Handling Dynamic Flash Crowd

Mercury: Supporting Scalable Multi-Attribute Range Queries

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Naming WHAT IS NAMING? Name: Entity: Slide 3. Slide 1. Address: Identifier:

Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. What We Want. Today s Question. What We Want. What We Don t Want C 1

Making Gnutella-like P2P Systems Scalable

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

C 1. Last Time. CSE 486/586 Distributed Systems Distributed Hash Tables. Today s Question. What We Want. What We Want. What We Don t Want

Passive/Active Load Balancing with Informed Node Placement in DHTs

Jinho Hwang and Timothy Wood George Washington University

Understanding Disconnection and Stabilization of Chord

CPSC 426/526. P2P Lookup Service. Ennan Zhai. Computer Science Department Yale University

Distributed Balanced Tables: Not Making a Hash of it All

An Adaptive Stabilization Framework for DHT

Vivaldi Practical, Distributed Internet Coordinates

Presented By: Devarsh Patel

Cycloid: A constant-degree and lookup-efficient P2P overlay network

CSE 486/586 Distributed Systems

A Survey of Peer-to-Peer Systems

Motivation. The Impact of DHT Routing Geometry on Resilience and Proximity. Different components of analysis. Approach:Component-based analysis

*Adapted from slides provided by Stefan Götz and Klaus Wehrle (University of Tübingen)

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC

The Impact of DHT Routing Geometry on Resilience and Proximity. Acknowledgement. Motivation

A Top Catching Scheme Consistency Controlling in Hybrid P2P Network

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

L3S Research Center, University of Hannover

Distributed Hash Tables (DHT)

Real-time Scheduling of Skewed MapReduce Jobs in Heterogeneous Environments

Load Balancing with Minimal Flow Remapping for Network Processors

CompSci 356: Computer Network Architectures Lecture 21: Overlay Networks Chap 9.4. Xiaowei Yang

Distributed Hash Tables: Chord

Introduction to Peer-to-Peer Systems

PEER-TO-PEER NETWORKS, DHTS, AND CHORD

Distributed Web Crawling over DHTs. Boon Thau Loo, Owen Cooper, Sailesh Krishnamurthy CS294-4

Exploiting Communities for Enhancing Lookup Performance in Structured P2P Systems

Distributed Evaluation of Continuous Equi-join Queries over Large Structured Overlay Networks

Fault Resilience of Structured P2P Systems

Distributed Systems Final Exam

Improving Routing Load Balance on Chord

Degree Optimal Deterministic Routing for P2P Systems

Mercury: Supporting Scalable Multi-Attribute Range Queries

Back-Up Chord: Chord Ring Recovery Protocol for P2P File Sharing over MANETs

Routing Table Construction Method Solely Based on Query Flows for Structured Overlays

Implementing Range Queries with a Decentralized Balanced Tree Over Distributed Hash Tables

Transcription:

Replication, Load Balancing and Efficient Range Query Processing in DHTs Theoni Pitoura, Nikos Ntarmos, and Peter Triantafillou R.A. Computer Technology Institute and Computer Engineering & Informatics Dept., U. of Patras, Greece 4th Hellenic Data Management Symposium (HDMS'05) Athens, Aug 26 th, 2005 Overview Motivation Main ideas & Contributions Background: OP-Chord The HotRoD architecture Replication and rotation Data placement and definitions Range query processing Experimental evaluation and results Conclusion 08/26/05 4th Hellenic Data Management Symposium 2 1

Our Goal To ensure both access load balance and efficient range query processing in a DHT-based peer-to-peer network 08/26/05 4th Hellenic Data Management Symposium 3 Related Work/Motivation Motivation: The naïve approach to deal with range queries in DHTs (i.e. individually querying each value in a range) is highly expensive. Other more clever approaches lead to access load imbalances in the presence of skewed distributions. Existing approaches dealing with both load balance and range queries use hot data transfer; however, data transfer does not solve access load imbalances in skewed access (query) distributions. Andrzejak et al (2002), Gupta et al (2003), Ratnasamy et al (2001), Triantafillou et al (2003) etc: they support range queries, but suffer from access load imbalances Ganesan et al (2004), Godfrey et al (2004), Karger et al (2004): they handle balancing in the presence of range queries, but not in the case of skewed access distributions (LB is based on transferring load). Gopalakrishnan et al (2004): replication-based load balancing algorithm over Chord, using data propagation, which is extremely low; they only deal with exact match queries 08/26/05 4th Hellenic Data Management Symposium 4 2

Main Ideas - Contributions Our approach is based on two key ideas: Use locality-preserving data placement (i.e. consecutive values stored on neighboring peers) Use replication of popular values/ranges to fairly distribute access load among peers Our contributions are: A novel hash function, both preserving ordering of values and handling data/range replication in DHT P2P networks A tunable solution allowing for trading off replication cost for fair load distribution in the case of skewed data access distributions HotRoD: A locality-preserving load-balancing DHT-based architecture 08/26/05 4th Hellenic Data Management Symposium 5 OP-Chord: Our Locality-Preserving DHT OP-Chord is a Chord-based architecture, extended to support relations and range queries Objects are database tuples of a k attribute relation R(A 1, A 2, A k ), whose domain, DA i is represented by (v min (A i ), v max (A i ), step(a i )) It uses an order-preserving hash function, h i (): for every value v DA i v v ( A ) m m ( ) min i h i( v) = 2 + s0 Ai mod 2 v max ( Ai ) v min ( Ai ) where s 0 (A i )=hash(attribute_name(a i ), and hash() the base hash function used by Chord 08/26/05 4th Hellenic Data Management Symposium 6 3

OP-Chord: An Example 08/26/05 4th Hellenic Data Management Symposium 7 OP-Chord: Conclusions Data placement: O((k+1)logN) routing hops to store a tuple k: number of index attributes, N: number of peers Range query processing: O(logN+n ) routing hops for a range query [v low (A i ), v high (A i )] n : number of peers lying between peers p low and p high, where, p low =succ(h i (v low (A i ))) and p high =succ(h i (v high (A i ))) Load Balancing: Suffers from storage load imbalances in a singleattribute indexing scheme (not the case in multiattribute indexing) Suffers from access load imbalances in the case of skewed access distributions (like DHTs) 08/26/05 4th Hellenic Data Management Symposium 8 4

The HotRoD Architecture Built over a locality-preserving DHT, enhanced with a novel hash function which: places objects/values in range partitions over the identifier space in an order/locality-preserving way, and replicates hot (ranges of) objects/values to fairly distribute access load among peers Provides algorithms to detect overloaded peers and distribute access load fairly 08/26/05 4th Hellenic Data Management Symposium 9 Replication and Rotation Hot Ranges/Rings of Data Each peer keeps track of the number of times, α, it was accessed during a time interval, and the average low -- avglow -- and high -- avghigh -- bounds of the respective (range) queries A peer is hot (or overloaded) when α > α max, where α max is the upper limit of its resource capacity An arc of peers is hot when at least one of its peers is hot Hot arcs of peers (or ranges of values) are replicated and rotated over the identifier space The HotRoD identifier space can be visualized as a number of replicated, rotated, and overlapping virtual rings 08/26/05 4th Hellenic Data Management Symposium 10 5

Replicating Arcs: Implementation Issues If a peer is detected hot, it starts replication Replicating arcs of peers, spec. the successive neighbors of p which correspond to the range [avglow, avghigh] to reduce costly jumps during range query processing The number of replicas created equals: max(α /α avg_max, {ρ(v(a i )), v(a i ) [avglow, avghigh]}) ρ(v(a i )) is the current number of replicas of value v(a i ) (replication factor) ρ max (A i ) is the max number of instances of a value of attribute A i 08/26/05 4th Hellenic Data Management Symposium 11 Multi-Rotation Hash Function Multi-rotation hash function (MRHF): mrhf i (v,δ) = ( hash(v) + random i [δ] s)mod2 m Notation: Objects are database tuples of a k attribute relation R(A 1, A 2, A k ), with domains DA i, for i {1, 2,..k} hash(v) is the hash function of the underlying DHT ρ max (A i ) is the max number of instances of each value of an attribute A i δ [1, ρ max (A i )] is an index variable to distinguish the different instances of A i s values s = (1 / ρ max (A i )) 2 m is the rotation unit random i [1 ρ max (A i )+1] is a pseudo-random permutation of the integers in [1, ρ max (A i )] and random i [1]=0 08/26/05 4th Hellenic Data Management Symposium 12 6

Multi-Rotation Hash Function (cont.) Multi-rotation hash function (MRHF): mrhf i (v,δ) = ( hash(v) + random i [δ] s)mod2 m δ=1 (no replicas): v is placed on peer p=mrhf i (v, δ) = hash(v) according to the underlying DHTs hash function δ>1: The δ th instance of v is created (i.e. the (δ-1) th replica) Placed on the peer whose identifier is closer to hash(v), shifted by δ s clockwise δ also viewed as the number of rotations, with s being the displacement of every rotation 08/26/05 4th Hellenic Data Management Symposium 13 Data Placement: An Example values 930 1030 1130 14720 (814, 1632] 0 values 1230 1500 1860 (1632, 1910] Ring 2 (604, 814] 11448 mrhf(v, 2), for every v in (1228, 1910] mrhf(v, 2), for every v in (604, 1228] 14720 Ring 1 (2862, 3916] (1910, 2862] (1910, 2650] 0 (3916, 4095]U{0} (0, 604] (604, 1228] (1228, 1910] 2416 4912 11448 values 930 1030 1130 10600 7640 values 1930 2000 2330 values 1230 1500 1860 08/26/05 4th Hellenic Data Management Symposium 14 7

Implementation Issues GetRho(v(A i )) gets the current number of replicas of a value v(a i ), i.e. the replication factor ρ(v(a i )) PutRho(v(A i ), ρ) sets the replication factor of v(a i )equal to ρ Functions GetRho(v(A i )) and PutRho(v(A i ), ρ) manipulate ρ(v(a i )) over the network using the underlying DHT 08/26/05 4th Hellenic Data Management Symposium 15 Range Query Processing Let a range query R = [v low (A i ), v high (A i )] initiated at peer p init p init randomly selects a number, r from 1 to ρ(v low (A i )), which is the current number of replicas of v low (A i ) p init forwards the range query to succ(mrhf i (v low (A i ), r)), say p l p l searches for matching tuples in R and forwards the query to its successor, p; p repeats similarly as long as it finds replicas of values of R at the current ring Otherwise, p forwards the range query to a randomly selected lower-level ring, and repeats Processing is finished when all values of R have been looked up 08/26/05 4th Hellenic Data Management Symposium 16 8

Range Query Processing: An Example 08/26/05 4th Hellenic Data Management Symposium 17 Experimental Evaluation Experiments We implemented HotRoD using the Chord simulator We compared HotRoD against: Plain Chord (PC) An imaginary enhanced Chord (EC) OP-Chord Results are presented in terms of: Efficiency of query processing (#of hops) Access load balancing (cumulative access load distribution curves, Gini coefficient) Overhead costs (#of peers, #of tuple replicas) Simulation model N=1,000 peers, 10 (=logn) fingers, 10 immediate successors, 10,000 values in DA i, 5,000 tuples 20,000 range queries Range span ranging from 1 to 400 values (i.e. 0.01%-4% of DA i ) Zipf query distribution over DA i with θ=0.5, 0.8, 1.0 Number of HotRoD rings ranging from 2 to 150 08/26/05 4th Hellenic Data Management Symposium 18 9

Performance Evaluation Results: Efficiency of Range Queries HotRoD is more expensive against OP-Chord, due to GetRho() operations HotRoD ensures savings from 4% to 78% (in #of hops) against EC for different range spans As the range span increases, OP-Chord / HotRoD improve their performance against PC / EC Average number of hops per query for different range spans r (Zipf parameter θ=0.8) 08/26/05 4th Hellenic Data Management Symposium 19 Performance Evaluation Results: Access Load Balancing Results are presented in terms of: Lorenz curves: functions of the cumulative proportion of peers, ordered by their load (i.e. hits), mapped onto the corresponding cumulative proportion of their load. If all peers have the same load, the curve is a straight line, the line of uniformity The Gini coefficient: a summary of the total amount of load imbalances, expressed by: n 2 G = (2 i n 1) li n µ, i= 1 µ is the mean load G takes values from 0 to 1; 0 when all peers in the network have equal load; 1 when all peers except one have zero load In real terms, in a fair load distribution, G ranges from 0.5 to 0.65, whereas in a very unfair load distribution, it ranges from 0.85 to 0.99 08/26/05 4th Hellenic Data Management Symposium 20 10

Performance Evaluation Results: Access Load Balancing (cont.) 100% Lorenz Curves for Access Load Distribution (r = 200, θ = 0.8) 90% 97%; 90% cumulative percentage of hits 80% 70% 60% 50% 40% 30% 20% Line of uniformity HotRoD Chord 97%; 73% 97%; 40% 10% OP-Chord 0% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 97% cumulative percentage of peers HotRoD OP-Chord Chord Line of uniformity GINI PC/EC 0.78 OP-Chord 0.87 HotRoD 0.53 08/26/05 4th Hellenic Data Management Symposium 21 Performance Evaluation Results: Overhead Costs Tuning replication degree by ρ max As ρ max increases, the number of peers and tuples replicas are increased till an upper bound High values of ρ max provide diminished returns in load balancing, although the degree of replication is very high Therefore, we can achieve a very good access LB with low values of ρ max 08/26/05 4th Hellenic Data Management Symposium 22 11

Conclusions The proposed approach concurrently attacks two key problems: Efficient range query processing Access load balance, through replication Our achievements: A significant hop count saving in range query processing with different range query spans, ranging from 5% to 80% comparing with standard DHTs A data replication less than 100% leads to significant more fairly distributed access load Greater benefits for greater range query spans, and/or higher access skew HotRoD achieves very good hop count efficiency coupled with a significant improvement in the overall access load distribution among peers 08/26/05 4th Hellenic Data Management Symposium 23 Thank you! 08/26/05 4th Hellenic Data Management Symposium 24 12

Backup slides 08/26/05 4th Hellenic Data Management Symposium 25 Background: Chord Chord is a scalable distributed look-up service: It uses an m-bit identifier space ordered in a mod-2 m circle, the Chord ring It maps peers and objects to identifiers in the Chord ring, using the hash function SHA-1 It uses consistent hashing: an object with identifier id is placed on the successor peer, succ(id), s.t. its identifier is id, on the Chord ring Each peer n maintains routing information about peers that lie on the Chord ring at logarithmically increasing distance from them Routing a message among two peers requires O(logN), N the number of peers 08/26/05 4th Hellenic Data Management Symposium 26 13

Background: Chord (2) 08/26/05 4th Hellenic Data Management Symposium 27 Results: the role of ρ max 100% Access Load Distribution for different ρ max 's (r=50, θ=0.8) 90% cumulative percentage of hits 80% 70% 60% 50% 40% 30% 20% Line of uniformity 10% ρ max =117 ρ max =50 ρ max =5 OP-Chord 0% 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% cumulative percentage of peers ρ max =2 HotRoD (117) HotRoD (50) HotRoD (5) HotRoD (2) OP-Chord Line of uniformity 08/26/05 4th Hellenic Data Management Symposium 28 14

Replication and Rotation (cont.) δ=1 (no replicas): v is placed on peer p=mrhf i (v, δ) = h i (v) according to the underlying DHTs hash function δ>1: The δ th instance of v is created (i.e. the (δ-1) th replica) Placed on the peer whose identifier is closer to h i (v) shifted by δ s clockwise δ also viewed as the number of rotations, with s being the displacement of every rotation 08/26/05 4th Hellenic Data Management Symposium 29 Related Work Range Query Processing & Load Balancing Andrzejak et al (2002), Gupta et al (2003), Ratnasamy et al (2001), Triantafillou et al (2003) etc: they support range queries, but suffer from access load imbalances Ganesan et al (2004), Godfrey et al (2004), Karger et al (2004): they handle balancing in the presence of range queries, but not in the case of skewed access distributions (LB is based on transferring load). Gopalakrishnan et al (2004): they use a replicationbased load balancing algorithm over Chord, through propagation, which is extremely low; they only deal with exact match queries 08/26/05 4th Hellenic Data Management Symposium 30 15