Advertisement

Dynamic Load Balancing in Distributed Hash Tables

  • Marcin Bienkowski
  • Miroslaw Korzeniowski
  • Friedhelm Meyer auf der Heide
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3640)

Abstract

In Peer-to-Peer networks based on consistent hashing and ring topology, each server is responsible for an interval chosen (pseudo-) randomly on a unit circle. The topology of the network, the communication load, and the amount of data a server stores depend heavily on the length of its interval.

Additionally, the nodes are allowed to join the network or to leave it at any time. Such operations can destroy the balance of the network, even if all the intervals had equal lengths in the beginning.

This paper deals with the task of keeping such a system balanced, so that the lengths of intervals assigned to the nodes differ at most by a constant factor. We propose a simple fully distributed scheme, which works in a constant number of rounds and achieves optimal balance with high probability. Each round takes time at most \(\mathcal{O}(\mathcal{D}+{\rm log n})\), where \(\mathcal{D}\) is the diameter of a specific network (e.g. Θ(log n) for Chord [15] and \(\Theta(\frac{log n}{log log n})\) for the continous-discrete approach proposed by Naor and Wieder [12,11]).

The scheme is a continuous process which does not have to be informed about the possible imbalance or the current size of the network to start working. The total number of migrations is within a constant factor from the number of migrations generated by the optimal centralized algorithm starting with the same initial network state.

Keywords

Short Interval Load Balance Binary Tree Communication Cost Distribute Hash Table 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Adler, M., Halperin, E., Karp, R., Vazirani, V.: A stochastic process on the hypercube with applications to peer-to-peer networks. In: Proc. of the 35th ACM Symp. on Theory of Computing (STOC), pp. 575–584 (June 2003)Google Scholar
  2. 2.
    Awerbuch, B., Scheideler, C.: Group spreading: A protocol for provably secure distributed name service. In: Proc. of the 31st Int. Colloquium on Automata, Languages, and Programming (ICALP), pp. 183–195 (July 2004)Google Scholar
  3. 3.
    Byers, J., Considine, J., Mitzenmacher, M.: Simple load balancing for distributed hash tables. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735, pp. 80–87. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  4. 4.
    Godfrey, B., Lakshminarayanan, K., Surana, S., Karp, R., Stoica, I.: Load balancing in dynamic structured P2P systems. In: 23rd Conference of the IEEE Communications Society (INFOCOM) (March 2004)Google Scholar
  5. 5.
    Hildrum, K., Kubiatowicz, J.D., Rao, S., Zhao, B.Y.: Distributed object location in a dynamic network. In: Proc. of the 14th ACM Symp. on Parallel Algorithms and Architectures (SPAA), pp. 41–52 (August 2002)Google Scholar
  6. 6.
    Karger, D.R., Lehman, E., Leighton, T., Levine, M., Lewin, D., Panigrahy, R.: Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the world wide web. In: Proc. of the 29th ACM Symp. on Theory of Computing (STOC), pp. 654–663 (May 1997)Google Scholar
  7. 7.
    Karger, D.R., Ruhl, M.: Simple efficient load balancing algorithms for peer-to-peer systems. In: Voelker, G.M., Shenker, S. (eds.) IPTPS 2004. LNCS, vol. 3279, pp. 131–140. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  8. 8.
    Karger, D.R., Ruhl, M.: Simple efficient load balancing algorithms for peer-to-peer systems. In: Proc. of the 16th ACM Symp. on Parallelism in Algorithms and Architectures (SPAA), pp. 36–43 (June 2004)Google Scholar
  9. 9.
    Manku, G.S.: Balanced binary trees for id management and load balance in distributed hash tables. In: Proc. of the 23rd annual ACM symposium on Principles of Distributed Computing (PODC), pp. 197–205 (2004)Google Scholar
  10. 10.
    Mitzenmacher, M., Richa, A.W., Sitaraman, R.: The power of two random choices: A survey of techniques and results. In: Pardalos, P., Rajasekaran, S., Rolim, J. (eds.) Handbook of Randomized Computing. Kluwer, Dordrecht (2000)Google Scholar
  11. 11.
    Naor, M., Wieder, U.: Novel architectures for P2P applications: the continuous-discrete approach. In: Proc. of the 15th ACM Symp. on Parallel Algorithms and Architectures (SPAA), pp. 50–59 (June 2003)Google Scholar
  12. 12.
    Naor, M., Wieder, U.: A simple fault tolerant distributed hash table. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  13. 13.
    Rao, A., Lakshminarayanan, K., Surana, S., Karp, R., Stoica, I.: Load balancing in structured P2P systems. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. 14.
    Rowstron, A., Druschel, P.: Pastry: Scalable, decentralized object location, and routing for large-scale peer-to-peer systems. In: Guerraoui, R. (ed.) Middleware 2001. LNCS, vol. 2218, pp. 329–350. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. 15.
    Stoica, I., Morris, R., Karger, D.R., Kaashoek, M.F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: Proc. of the ACM SIGCOMM, pp. 149–160 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Marcin Bienkowski
    • 1
  • Miroslaw Korzeniowski
    • 1
  • Friedhelm Meyer auf der Heide
    • 2
  1. 1.International Graduate School of Dynamic Intelligent Systems, Computer Science DepartmentUniversity of PaderbornPaderbornGermany
  2. 2.Heinz Nixdorf Institute and Computer Science DepartmentUniversity of PaderbornPaderbornGermany

Personalised recommendations