Abstract
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.
The algorithm is simple and is sketched by the following:
-
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 work-efficient manner.
Research done in part during a visit to AT&T Bell Laboratories.
Preview
Unable to display preview. Download preview PDF.
References
H. Bast and T. Hagerup. Fast and reliable parallel hashing. In 3rd Annual ACM Symposium on Parallel Algorithms and Architectures, pages 50–61, July 1991.
L. J. Carter and M. N. Wegman. Universal classes of hash functions. J. Comput. Syst. Sci., 18:143–154, 1979.
B. Chor and O. Goldreich. On the power of two-point based sampling. Journal of Complexity, 5:96–106, 1989.
M. Dietzfelbinger, J. Gil, Y. Matias, and N. Pippenger. Polynomial hash functions are reliable. In Proc. of 19th International Colloquium on Automata Languages and Programming, Springer LNCS 623, pages 235–246, July 1992.
M. Dietzfelbinger, A. R. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, and R. E. Tarjan. Dynamic perfect hashing: Upper and lower bounds. In Proc. of the 29th IEEE Annual Symp. on Foundation of Computer Science, pages 524–531, 1988. To appear in SIAM J. Comput.
M. Dietzfelbinger and F. Meyer auf der Heide. An optimal parallel dictionary. In 1st Annual ACM Symposium on Parallel Algorithms and Architectures, pages 360–368, 1989.
M. Dietzfelbinger and F. Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time. In Proc. of 17th International Colloquium on Automata Languages and Programming, Springer LNCS 443, pages 6–19, 1990.
F. E. Fich, P. L. Ragde, and A. Wigderson. Relations between concurrent-write models of parallel computation. SIAM J. Comput., 17:606–627, June 1988.
M. L. Fredman, J. Komlós, and E. Szemerédi. Storing a sparse table with O(1) worst case access time. J. ACM, 31(3):538–544, July 1984.
P. B. Gibbons, Y. Matias, and V. L. Ramachandran. Efficient low-contention parallel algorithms. In 6th Annual ACM Symposium on Parallel Algorithms and Architectures, June 1994.
J. Gil and Y. Matias. Fast hashing on a PRAM—designing by expectation. In Proc. of the Second Annual ACM-SIAM Symposium on Discrete Algorithms, pages 271–280, Jan. 1991.
J. Gil and Y. Matias. Leaders election without a conflict resolution rule—fast and efficient randomized simulations among CRCW PRAMs. In Proc. of the 1st Latin American Informatics Symposium, Springer LNCS 583, pages 204–218, 1992. To appear in J. of Parallel and Distributed Computing.
J. Gil, Y. Matias, and U. Vishkin. Towards a theory of nearly constant time parallel algorithms. In Proc. of the 32nd IEEE Annual Symp. on Foundation of Computer Science, pages 698–710, Oct. 1991.
J. Gil, F. Meyer auf der Heide, and A. Wigderson. Not all keys can be hashed in constant time. In Proc. of the 22nd Ann. ACM Symp. on Theory of Computing, pages 244–253, 1990.
R. L. Graham, D. E. Knuth, and O. Patashnik. Concrete Mathematics. A Foundation for Computer Science. Addison-Wesley Publishing Company, Inc., Reading, Massachusetts, May 1989.
J. JáJá. Introduction to Parallel Algorithms. Addison-Wesley Publishing Company, Inc., 1992.
Y. Matias and U. Vishkin. On parallel hashing and integer sorting. In Proc. of 17th International Colloquium on Automata Languages and Programming, Springer LNCS 443, pages 729–743, 1990.
Y. Matias and U. Vishkin. Converting high probability into nearly-constant time—with applications to parallel hashing. In Proc. of the 23rd Ann. ACM Symp. on Theory of Computing, pages 307–316, May 1991.
Y. Matias and U. Vishkin. On parallel hashing and integer sorting. Journal of Algorithms, 12(4):573–606, 1991.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
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. https://doi.org/10.1007/3-540-58201-0_72
Download citation
DOI: https://doi.org/10.1007/3-540-58201-0_72
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58201-4
Online ISBN: 978-3-540-48566-7
eBook Packages: Springer Book Archive