Many tasks in computer systems could be abstracted as distributing items into buckets, so that the allocation of items across buckets is as balanced as possible, and furthermore, given an item’s identifier it is possible to determine quickly to which bucket it was assigned. A canonical example is a dictionary data structure, where ‘items’ stands for key-value pairs and ‘buckets’ for memory locations. Another example is a distributed key-value store, where the buckets represent locations in disk or even whole servers. A third example may be a distributed execution engine where items represent processes and buckets compute devices, and so on. A common technique in this domain is the use of a hash-function that maps an item into a relatively short fixed length string. The hash function is then used in some way to associate the item to its bucket. The use of a hash function is typically the first step in the solution and additional algorithmic ideas are required to deal with collisions and the imbalance of hash values. In this monograph we survey some of these techniques. We focus on multiple choice schemes where items are placed into buckets via the use of several independent hash functions, and typically an item is placed at the least loaded bucket at the time of placement. We analyze the distributions obtained in detail, and show how these ideas could be used to design basic data structures. With respect to data structures we focus on dictionaries, presenting linear probing, cuckoo hashing and many of their variants.
Article navigation
11 July 2017
Research Article|
July 11 2017
Hashing, Load Balancing and Multiple Choice
Online ISSN: 1551-3068
Print ISSN: 1551-305X
© 2017 U. Wieder
2017
U. Wieder
Licensed re-use rights only
Foundations and Trends in Theoretical Computer Science (2017) 12 (3-4): 275–379.
Citation
Wieder U (2017), "Hashing, Load Balancing and Multiple Choice". Foundations and Trends in Theoretical Computer Science, Vol. 12 No. 3-4 pp. 275–379, doi: https://doi.org/10.1561/0400000070
Download citation file:
Suggested Reading
Toward topic diversity in recommender systems: integrating topic modeling with a hashing algorithm
Aslib Journal of Information Management (August,2023)
Research on power-law distribution of long-tail data and its application to tourism recommendation
Industrial Management & Data Systems (May,2020)
Developing and testing SCoP – a visual hash scheme
Information Management & Computer Security (October,2014)
Discriminative bit selection hashing in RGB-D based object recognition for robot vision
Assembly Automation (October,2018)
Hash coding of bibliographic data using techniques based on variety generation and on division
Program (February,1981)
Related Chapters
Hash, Bash, Cash: How Change Happens in Decentralized Web3 Cultures
Defining Web3: A Guide to the New Cultural Economy
The Underlying Technology for Cryptoassets
The Emerald Handbook on Cryptoassets: Investment Opportunities and Challenges
On the future of symbolic interactionism
Studies in Symbolic Interaction
Recommended for you
These recommendations are informed by your reading behaviors and indicated interests.
