Simple fast parallel hashing
- Cite this paper as:
- Gil J., Matias Y. (1994) Simple fast parallel hashing. In: Abiteboul S., Shamir E. (eds) Automata, Languages and Programming. ICALP 1994. Lecture Notes in Computer Science, vol 820. Springer, Berlin, Heidelberg
A hash table is a representation of a set in a linear size data structure that supports constant-time membership queries. We show how to construct a hash table for any given set of n keys in O(lg lg n) parallel time with high probability, using n processors on a weak version of a crcw pram.
Partition the input set into buckets by a random polynomial of constant degree.
For t:=1 to O(lg lg n) do
Allocate Mt memory blocks, each of size Bt, where Mt and Bt are carefully a priori selected parameters.
Let each bucket select a block at random, and try to injectively map its keys into the block using a random linear function. Buckets that fail carry on to the next iteration.
The algorithm uses only O(lg lg n) random words, and can be implemented in a work-efficient manner.
Unable to display preview. Download preview PDF.