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.
Partially supported by DFG-Sonderforschungsbereich 376 “Massive Parallelität: Algorithmen, Entwurfsmethoden, Anwendungen” and by the Future and Emerging Technologies programme of EU under EU Contract 001907 DELIS ”Dynamically Evolving, Large Scale Information Systems”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bienkowski, M., Korzeniowski, M., der Heide, F.M.a. (2005). Dynamic Load Balancing in Distributed Hash Tables. In: Castro, M., van Renesse, R. (eds) Peer-to-Peer Systems IV. IPTPS 2005. Lecture Notes in Computer Science, vol 3640. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11558989_20
Download citation
DOI: https://doi.org/10.1007/11558989_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29068-1
Online ISBN: 978-3-540-31906-1
eBook Packages: Computer ScienceComputer Science (R0)