Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
139 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

MementoHash: A Stateful, Minimal Memory, Best Performing Consistent Hash Algorithm (2306.09783v3)

Published 16 Jun 2023 in cs.DC, cs.DS, and cs.NI

Abstract: Consistent hashing is used in distributed systems and networking applications to spread data evenly and efficiently across a cluster of nodes. In this paper, we present MementoHash, a novel consistent hashing algorithm that eliminates known limitations of state-of-the-art algorithms while keeping optimal performance and minimal memory usage. We describe the algorithm in detail, provide a pseudo-code implementation, and formally establish its solid theoretical guarantees. To measure the efficacy of MementoHash, we compare its performance, in terms of memory usage and lookup time, to that of state-of-the-art algorithms, namely, AnchorHash, DxHash, and JumpHash. Unlike JumpHash, MementoHash can handle random failures. Moreover, MementoHash does not require fixing the overall capacity of the cluster (as AnchorHash and DxHash do), allowing it to scale indefinitely. The number of removed nodes affects the performance of all the considered algorithms. Therefore, we conduct experiments considering three different scenarios: stable (no removed nodes), one-shot removals (90% of the nodes removed at once), and incremental removals. We report experimental results that averaged a varying number of nodes from ten to one million. Results indicate that our algorithm shows optimal lookup performance and minimal memory usage in its best-case scenario. It behaves better than AnchorHash and DxHash in its average-case scenario and at least as well as those two algorithms in its worst-case scenario. However, the worst-case scenario for MementoHash occurs when more than 70% of the nodes fail, which describes a unlikely scenario. Therefore, MementoHash shows the best performance during the regular life cycle of a cluster.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (16)
  1. S. Priyamvada, “Analysis of various hash function,” International Journal of Innovative Science and Research Technology, vol. 3, 2018.
  2. D. Thaler and C. V. Ravishankar, “A name-based mapping scheme for rendezvous,” in Technical Report CSE-TR-316-96, University of Michigan.   University of Michigan, 1996.
  3. D. G. Thaler and C. V. Ravishankar, “Using name-based mappings to increase hit rates,” IEEE/ACM Transactions on networking, vol. 6, no. 1, pp. 1–14, 1998.
  4. D. Karger, E. Lehman, T. Leighton, R. Panigrahy, M. Levine, and D. Lewin, “Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the world wide web,” in Proceedings of the twenty-ninth annual ACM symposium on Theory of computing, 1997, pp. 654–663.
  5. D. Karger, A. Sherman, A. Berkheimer, B. Bogstad, R. Dhanidina, K. Iwamoto, B. Kim, L. Matkins, and Y. Yerushalmi, “Web caching with consistent hashing,” Comput. Netw., vol. 31, no. 11–16, p. 1203–1213, may 1999.
  6. J. Lamping and E. Veach, “A fast, minimal memory, consistent hash algorithm,” arXiv preprint arXiv:1406.2294, 2014.
  7. B. Appleton and M. O’Reilly, “Multi-probe consistent hashing,” arXiv preprint arXiv:1505.00062, 2015.
  8. D. E. Eisenbud, C. Yi, C. Contavalli, C. Smith, R. Kononov, E. Mann-Hielscher, A. Cilingiroglu, B. Cheyney, W. Shang, and J. D. Hosein, “Maglev: A fast and reliable software network load balancer,” in 13th {normal-{\{{USENIX}normal-}\}} Symposium on Networked Systems Design and Implementation ({normal-{\{{NSDI}normal-}\}} 16), 2016, pp. 523–535.
  9. G. Mendelson, S. Vargaftik, K. Barabash, D. H. Lorenz, I. Keslassy, and A. Orda, “Anchorhash: A scalable consistent hash,” IEEE/ACM Transactions on Networking, vol. 29, no. 2, pp. 517–528, 2020.
  10. C. Dong and F. Wang, “Dxhash: A scalable consistent hash based on the pseudo-random sequence,” arXiv preprint arXiv:2107.07930, 2021.
  11. M. Coluzzi, A. Brocco, P. Contu, and T. Leidi, “A survey and comparison of consistent hashing algorithms,” in 2023 IEEE International Symposium on Performance Analysis of Systems and Software, April 2023.
  12. M. Coluzzi, A. Brocco, and T. Leidi, “Consistently faster: A survey and fair comparison of consistent hashing algorithms,” in Proceedings of SEBD 2023: 31st Symposium on Advanced Database System, July 02–05, 2023, Galzignano Terme, Padua, Italy, ser. CEUR Workshop Proceedings, 2023.
  13. Institute of Information Systems and Networking at SUPSI. java-consistent-hashing-algorithms. [Online]. Available: https://github.com/SUPSI-DTI-ISIN/java-consistent-hashing-algorithms
  14. N. Cressie and M. Borkent, “The moment generating function has its moments,” Journal of Statistical Planning and Inference, vol. 13, pp. 337–344, 1986.
  15. Z.-W. Sun, “Arithmetic theory of harmonic numbers,” Proceedings of the American Mathematical Society, vol. 140, no. 2, pp. 415–428, 2012.
  16. V. Mirrokni, M. Thorup, and M. Zadimoghaddam, “Consistent hashing with bounded loads,” 2016. [Online]. Available: https://arxiv.org/abs/1608.01350
Citations (3)

Summary

We haven't generated a summary for this paper yet.