, Volume 12, Issue 2, pp 170–181

Locality-preserving hash functions for general purpose parallel computation


DOI: 10.1007/BF01185209

Cite this article as:
Chin, A. Algorithmica (1994) 12: 170. doi:10.1007/BF01185209


Consider the problem of efficiently simulating the shared-memory parallel random access machine (PRAM) model on massively parallel architectures with physically distributed memory. To prevent network congestion and memory bank contention, it may be advantageous to hash the shared memory address space. The decision on whether or not to use hashing depends on (1) the communication latency in the network and (2) the locality of memory accesses in the algorithm.

We relate this decision directly to algorithmic issues by studying the complexity of hashing in the Block PRAM model of Aggarwal, Chandra, and Snir, a shared-memory model of parallel computation which accounts for communication locality. For this model, we exhibit a universal family of hash functions having optimal locality. The complexity of applying these hash functions to the shared address space of the Block PRAM (i.e., by permuting data elements) is asymptotically equivalent to the complexity of performing a square matrix transpose, and this result is best possible for all pairwise independent universal hash families. These complexity bounds provide theoretical evidence that hashing and randomized routing need not destroy communication locality, addressing an open question of Valiant.

Key words

General-purpose parallel computation Communication latency Block PRAM Locality PRAM simulations Universal hashing 

Copyright information

© Springer-Verlag New York Inc. 1994

Authors and Affiliations

  • A. Chin
    • 1
  1. 1.Department of MathematicsTexas A&M UniversityCollege StationUSA

Personalised recommendations