Fair Load Balancing under Skewed Popularity Patterns in Heterogeneous DHT-Based P2P Systems
Résumé
Distributed Hash Tables provide a scalable way of indexing shared data items in P2P systems. The scalability of DHTs mainly relies on the mechanism by which the system's load is fairly balanced among all participating nodes. This is usually achieved through a uniform hash function that randomly maps data items to nodes in the DHT. While this scheme provides item-balancing guarantees, it fails in balancing the actual load of the system by (1) making the simplifying assumption that all items are equally popular, i.e., they incur the same query-load on their hosting nodes, and (2) assuming that all nodes have comparable capacities. In this paper, we address this issue by considering a more practical characterization of a system's load, and propose a load balancing mechanism that takes into account data (un)popularity and node heterogeneity. We first redefine the notion of load in terms of the number of queries per time frame. Load is then balanced by dynamically adjusting the DHT structure so that it best captures node capacities and query-load distributions over data items. We also evaluate our solution in the context of ring-based DHT structures and show its performance gain over basic DHT load balancing schemes.