Load balancing in dynamic structured peer-to-peer systems

  • Authors:
  • Sonesh Surana;Brighten Godfrey;Karthik Lakshminarayanan;Richard Karp;Ion Stoica

  • Affiliations:
  • Computer Science Division, University of California at Berkeley, Berkeley, CA;Computer Science Division, University of California at Berkeley, Berkeley, CA;Computer Science Division, University of California at Berkeley, Berkeley, CA;Computer Science Division, University of California at Berkeley, Berkeley, CA;Computer Science Division, University of California at Berkeley, Berkeley, CA

  • Venue:
  • Performance Evaluation - P2P computing systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most P2P systems that provide a DHT abstraction distribute objects randomly among "peer nodes" in a way that results in some nodes having Θ(log N) times as many objects as the average node. Further imbalance may result due to nonuniform distribution of objects in the identifier space and a high degree of heterogeneity in object loads and node capacities. Additionally, a node's load may vary greatly over time since the system can experience continuous insertions and deletions of objects, skewed object arrival patterns, and continuous arrival and departure of nodes.In this paper, we propose an algorithm for load balancing in such heterogeneous, dynamic P2P systems. Our simulation results show that in the face of rapid arrivals and departures of objects of widely varying load, our algorithm improves load balance by more than an order of magnitude for system utilizations as high as 80% while incurring an overhead of only about 6%. We also show that our distributed algorithm performs only negligibly worse than a similar centralized algorithm, and that node heterogeneity helps, not hurts, the scalability of our algorithm. Although many of these results are dependent on the workload, we believe the efficiency and performance improvement demonstrated over the case of no load balancing shows that our technique holds promise for deployed systems.