Title: Efficient, ProximityAware Load Balancing for DHTBased P2P Systems
1Efficient, Proximity-Aware Load Balancing for
DHT-Based P2P Systems
Presented by Ki
Appeared on IEEE Trans. on Parallel and
Distributed Systems, vol. 16, no. 4, April 2005
2Outline
- Introduction
- System Design
- Proximity-Aware Load Balancing
- Experimental Evaluations
- Conclusions
3Introduction
- DHT-based P2P systems like Chord, Pastry,
Tapestry, CAN, - Provide a distributed hash table abstraction for
object storage and retrieval - Assume nodes are homogeneous
- Two main drawbacks
- Imbalance load
- Node heterogeneity
4Introduction
- Existing solutions for DHT load balancing
- Some ignore node heterogeneity
- Some ignore proximity information
- This work proposes a proximity-aware load
balancing scheme which considered the above two
aspects
5System Design - Basic
- Virtual Server (VS)
- Act like an autonomous peer
- Responsible for a contiguous portion of the DHTs
identifier space - Responsible for certain amount of load
- Physical Peer
- Can host multiple virtual servers
- Heavily loaded physical peer
- Moves some of its virtual servers to other
lightly loaded physical peers to achieve load
balancing - Movement of virtual server can be viewed as a
leave operation followed by a join operation
6System Design Four Phrases
- The load balancing scheme proceed in 4 phrases
- Load balancing information (LBI) aggregation
- Collect load and capacity information of whole
system - Node classification
- Classify nodes into HEAVY, LIGHT, NEUTRAL
- Virtual server assignment (VSA)
- Determine the VS assignment to make HEAVY nodes
becomes LIGHT - Proximity-aware
- Virtual server transferring (VST)
7System Design k-ary Tree on DHT
- A k-ary tree (KT) is built on top of the DHT
- Occupying the same identifier space
- KT root node is responsible for the entire
identifier space - Each child node is responsible for a portion of
their parents identifier space
8System Design k-ary Tree on DHT
- A KT node is responsible for identifier space
region - key host is obtained by procedure
plant_KT_node() - Keeps track of its parent and children
- KT node, X, is planted into a virtual server
which responsible for X.key - Example (KT Node X, VS S)
- X.region (3,5 ? X.key 4
- Ss region (3, 6
- X is planted in S
9System Design k-ary Tree on DHT
- For KT node X, its region
- is further divided into k parts, then taken by
its k children - Until
- Xs region is completely covered by its hosting
VS - Each KT node periodically check if its region is
completely covered by its VS - Yes ? delete the existing children
- No ? keep k children
10Load Balancing Information Aggregation
- Load Balancing Information (LBI) of node i
- Li ? total load of VS in node i
- Ci ? capacity of node i
- Li,min ? minimum load of VS in node i
X.host randomly responds to one of its VS only
11Load Balancing Information Aggregation
- KT root node obtains the system-wide LBI
- L ? Total load
- C ? Total capacity
- Lmin ? minimum load of all VS in system
- KT root node distribute the system-wide LBI
- Along the tree, back to the leaf nodes, VS and
finally the DHT node
12Node Classification
- System-wide utilization L / C
- Utilization of node i Li / Ci
- Define Ti (L / C e) Ci
- e is a parameter for trade off between amount of
load movement and quality of load balance - Classification
- HEAVY node if Li gt Ti
- LIGHT node if (Ti Li) gt Lmin
- NEUTRAL node if 0 lt (Ti Li) lt Lmin
13Virtual Server Assignment
- Each HEAVY DHT node i
- Randomly choose a subset of its VS that minimizes
s.t. - Minimized the amount of load movement
- VSA info. ltLi,1, vi,1, IPigt ltLi,m, vi,m, IPigt
- Each LIGHT DHT node j
- VSA info. lt?Lj Tj Lj, IPjgt
- This VSA information propagates upward along the
KT
14Virtual Server AssignmentProximity Ignorant
- Each KT node i
- Collects the VSA information until the a
pairing_threshold - Uses a best-fit heuristic to reassign VS
- Reassign VS in HEAVY nodes to LIGHT nodes
- And minimize load movement
- DHT nodes of reassigned VS get notified while the
rest of VSA information propagate to is parent
15Virtual Server AssignmentProximity Aware
- Use landmark clustering
- Measure distance to a number of landmark nodes
- Obtain a landmark vector ltd1, d2, , dmgt which
represent point in a m-dimensional space - Nodes with close landmark vectors are in general
physically close - Transform the landmark m-dimensional space to the
DHT identifier space and obtains a DHT key, LMi - By Hilbert curve, i.e. Nm ? N
- Proximity preserving
16Virtual Server AssignmentProximity Aware
- Each node i independently determines its landmark
vector and its corresponding DHT key, LMi - Node publish its VSA information in the DHT
network with the DHT key LMi - Node j that responsible for the region contains
LMi receive the VSA information - Node j propagate the received VSA information
into the KT
17Virtual Server Transferring
- Upon receiving the reassigned VSA info.
- HEAVY node transfer the reassigned VS to the
LIGHT node - The transfer of VS would cause KT to reconstruct
- Lazy migration
- Reconstruction of KT only after the completion of
all transfers
18Experimental Evaluations
- Load Balancing Information aggregation and
virtual server assignment latency
19Experimental Evaluations
- Underlying network
- Generated by GT-ITM with about 5000 nodes
- Underlying DHT overlay
- Chord with 4096 nodes
- 5 virtual servers in each node, exponential
identifier space - k-ary tree
- k 2
- Pairing threshold
- 50
- Landmark node count
- 15
20Experimental Evaluations
- Nodes carry loads proportional to their
capacities by reassigning virtual servers
21Experimental Evaluations
- Cumulative distribution of moved load
- Proximity-aware
- 36 within 2 hops, 57 within 10 hops
- Proximity-ignorant
- 17 within 10 hops
- Proximity-aware
- Reduce load balancing cost
- Fast and efficient load balancing
22Experimental Evaluations
- Effect of node churn (join leave)
- Overhead (Md Ms) / Ms
- Md number of VSA messages with node churn
- Ms number of VSA messages without node churn
23Conclusions
- This work focuses on an efficient,
proximity-aware load balancing scheme - Align load distribution and node capacity
- Use proximity information to guide load
reassignment and transferring