AnchorHash: A Scalable Consistent Hash

Consistent hashing (CH) is a central building block in many networking applications, from datacenter load-balancing to distributed storage. Unfortunately, state-of-the-art CH solutions cannot ensure full consistency under arbitrary changes and/or cannot scale while maintaining reasonable memory footprints and update times. We present AnchorHash, a scalable and fully-consistent hashing algorithm. AnchorHash achieves high key lookup rates, a low memory footprint, and low update times. We formally establish its strong theoretical guarantees, and present advanced implementations with a memory footprint of only a few bytes per resource. Moreover, extensive evaluations indicate that it outperforms state-of-the-art algorithms, and that it can scale on a single core to 100 million resources while still achieving a key lookup rate of more than 15 million keys per second.

[1]  Ronak Singhal,et al.  Inside Intel® Core microarchitecture (Nehalem) , 2008, 2008 IEEE Hot Chips 20 Symposium (HCS).

[2]  Carlo Contavalli,et al.  Maglev: A Fast and Reliable Software Network Load Balancer , 2016, NSDI.

[3]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[4]  Dan Suciu,et al.  Demonstration of the Myria big data management service , 2014, SIGMOD Conference.

[5]  Gaston H. Gonnet,et al.  Handbook Of Algorithms And Data Structures , 1984 .

[6]  Matthew Sackman Perfect Consistent Hashing , 2015, ArXiv.

[7]  Raul Landa,et al.  Balancing on the Edge: Transport Affinity without Network State , 2018, NSDI.

[8]  David Thaler,et al.  Using name-based mappings to increase hit rates , 1998, TNET.

[9]  David E. Culler,et al.  Beacon vector routing: scalable point-to-point routing in wireless sensornets , 2005, NSDI.

[10]  David Mazières,et al.  Kademlia: A Peer-to-Peer Information System Based on the XOR Metric , 2002, IPTPS.

[11]  Donald E. Knuth,et al.  Sorting and Searching , 1973 .

[12]  John Lamping,et al.  A Fast, Minimal Memory, Consistent Hash Algorithm , 2014, ArXiv.

[13]  Vasudeva Varma,et al.  An Alternate Load Distribution Scheme in DHTs , 2017, 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).

[14]  Gade Krishna,et al.  A scalable peer-to-peer lookup protocol for Internet applications , 2012 .

[15]  KyoungSoo Park,et al.  Scale and Performance in the CoBlitz Large-File Distribution Service , 2006, NSDI.

[16]  Wei Wang,et al.  Hash-Based Virtual Hierarchies for Scalable Location Service in Mobile Ad-hoc Networks , 2009, Mob. Networks Appl..

[17]  Ben Appleton,et al.  Multi-probe consistent hashing , 2015, ArXiv.

[18]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[19]  David Larrabeiti,et al.  Fast Robust Hashing. , 2006 .

[20]  Costin Raiciu,et al.  Stateless Datacenter Load-balancing with Beamer , 2018, NSDI.

[21]  David R. Karger,et al.  Web Caching with Consistent Hashing , 1999, Comput. Networks.