Automata, Languages and Programming
Volume 820 of the series Lecture Notes in Computer Science pp 239250
Simple fast parallel hashing
 Joseph GilAffiliated withDepartment of Computer Science, The TechnionIsrael Institute of Technology Email author
 , Yossi MatiasAffiliated withAT&T Bell Laboratories Email author
Abstract
A hash table is a representation of a set in a linear size data structure that supports constanttime 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.
 1.
Partition the input set into buckets by a random polynomial of constant degree.
 2.
For t:=1 to O(lg lg n) do
 (a)
Allocate M _{ t } memory blocks, each of size B _{ t }, where M _{ t } and B _{ t } are carefully a priori selected parameters.
 (b)
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 workefficient manner.
 Title
 Simple fast parallel hashing
 Book Title
 Automata, Languages and Programming
 Book Subtitle
 21st International Colloquium, ICALP 94 Jerusalem, Israel, July 11–14, 1994 Proceedings
 Pages
 pp 239250
 Copyright
 1994
 DOI
 10.1007/3540582010_72
 Print ISBN
 9783540582014
 Online ISBN
 9783540485667
 Series Title
 Lecture Notes in Computer Science
 Series Volume
 820
 Series ISSN
 03029743
 Publisher
 Springer Berlin Heidelberg
 Copyright Holder
 SpringerVerlag
 Additional Links
 Topics
 Industry Sectors
 eBook Packages
 Editors
 Authors

 Joseph Gil ^{(1)}
 Yossi Matias ^{(2)}
 Author Affiliations

 1. Department of Computer Science, The TechnionIsrael Institute of Technology, 32000, Technion City, Haifa, Israel
 2. AT&T Bell Laboratories, 600 Mountain Avenue, 07974, Murray Hill, NJ, USA
Continue reading...
To view the rest of this content please follow the download PDF link above.