Simple fast parallel hashing

Extended abstract
Conference paper

DOI: 10.1007/3-540-58201-0_72

Part of the Lecture Notes in Computer Science book series (LNCS, volume 820)
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

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. 1.

    Partition the input set into buckets by a random polynomial of constant degree.

     
  2. 2.

    For t:=1 to O(lg lg n) do

     
  3. (a)

    Allocate Mt memory blocks, each of size Bt, where Mt and Bt are carefully a priori selected parameters.

     
  4. (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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  1. 1.Department of Computer ScienceThe Technion-Israel Institute of TechnologyTechnion City, HaifaIsrael
  2. 2.AT&T Bell LaboratoriesMurray HillUSA

Personalised recommendations