Localitypreserving hash functions for general purpose parallel computation
 A. Chin
 … show all 1 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
Consider the problem of efficiently simulating the sharedmemory 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 sharedmemory 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.
 A. Aggarwal, A. K. Chandra, and M. Snir, On communication latency in PRAM computations,Proc. First ACM Symp. on Parallel Algorithms and Architectures, 1989, pp. 11–21.
 A. Aggarwal, A. K. Chandra, and M. Snir, Communication complexity of PRAMs,Theoret. Comput. Sci. 71 (1990), 3–28. CrossRef
 A. Aggarwal and J. S. Vitter, The input/output complexily of sorting and related problems,Comm. ACM 31(9) (1988), 1116–1127. CrossRef
 W. Aiello, T. Leighton, B. Maggs, and M. Newman, Fast algorithms for bitserial routing on a hypercube,Proc. 2nd Annual ACM Symp. on Parallel Algorithms and Architectures, 1990, pp. 55–64.
 J. L. Carter and M. N. Wegman, Universal classes of hash functions,J. Comput. System Sci. 18 (1979), 143–154. CrossRef
 A. Chin, Complexity issues in generalpurpose parallel computation, D.Phil, thesis, Oxford University, 1991.
 A. Chin, Latency hiding for faulttolerant PRAM computations,Proc. Internat. Conf. on Sets, Graphs and Numbers, D. Miklos, ed., NorthHolland, Amsterdam, 1992.
 A. Chin, Permutations on the Block PRAM,Inform. Process. Lett. 45 (1993), 69–73. CrossRef
 R. Cole and O. Zajicek, The APRAM: incorporating asynchrony into the PRAM model,Proc. First Annual ACM Symp. on Parallel Algorithms and Architectures, 1989, pp. 169–178.
 M. Dietzfelberger and F. Meyer auf der Heide, How to distribute a dictionary in a complete network,Proc. 22nd Annual ACM Symp. on Theory Computing, 1990, pp. 117–127.
 R. W. Floyd, Permuting information in idealized twolevel storage, inComplexity of Computer Calculations, R. Miller and J. Thatcher, eds., Plenum, New York, 1972, pp. 105–109.
 G. E. Forsythe and C. B. Moler,Computer Solution of Linear Algebraic Systems, PrenticeHall, Englewood Cliffs, NJ, 1967.
 A. M. Gibbons and W. Rytter,Efficient Parallel Algorithms, Cambridge University Press, Cambridge, 1988.
 P. Gibbons, The asynchronous PRAM: a semisynchronous model for shared memory MIMD machines, Ph.D. thesis, University of California at Berkeley, 1989.
 J. Håstad, T. Leighton, and M. Newman, Fast computation using faulty hypercubes,Proc. 21st Annual ACM Symp. on Theory of Computing, 1989, pp. 251–263.
 T. Heywood and S. Ranka, A practical hierarchical model of parallel computation: the model, Technical Report SUCIS9106, Syracuse University, Syracuse, NY 10991.
 P. Kanellakis and A. Shvartsman, Efficient parallel algorithms can be made robust,Proc. 8th Annual ACM Symp. on Principles of Distributed Computing, 1989, pp. 211–222.
 A. Karlin and E. Upfal, Parallel hashing: an efficient implementation of shared memory,J. Assoc. Comput. Mach. 35 (1988), 876–892.
 R. M. Karp, M. Luby, and F. Meyer auf der Heide, Efficient PRAM simulation on a distributed memory machine,Proc. 24th Annual ACM Symp. on Theory of Computing, 1992, pp. 318–326.
 R. M. Karp and V. Ramachandran, Parallel algorithms for sharedmemory machines,Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), NorthHolland, Amsterdam, 1990, pp. 869–942.
 Z. M. Kedem, K. V. Palem, and P. G. Spirakis, Efficient robust parallel computations,Proc. 22nd Annual ACM Symp. on Theory of Computing, 1990, pp. 138–148.
 F. T. Leighton and C. G. Plaxton, A (fairly) simple circuit that (usually) sorts,Proc. 31st Annual IEEE Symp. on Foundations of Computer Science, 1990, pp. 264–274.
 Y.D. Lyuu, Fast faulttolerant parallel communication and online maintenance using information dispersal,Proc. Second ACM Symp. on Parallel Algorithms and Architectures, 1990, pp. 378–387.
 W. F. McColl, General purpose parallel computing, inLectures on Parallel Computation, A. Gibbons and P. Spirakis, eds., Cambridge University Press, Cambridge, 1993, pp. 337–391.
 C. Martel, A. Park, and R. Subramonian, Optimal asynchronous algorithms for sharedmemory parallel computers, Technical Report CSE898, University of California at Davis, 1989.
 K. Mehlhorn and U. Vishkin, Randomized and deterministic simulations of PRAMs by parallel machines with restricted granularity of parallel memories,Acta Inform. 21 (1984), 339–374. CrossRef
 J. K. Mullin, A caution on universal classes of hash functions,Inform. Process. Lett. 37 (1991), 247–256. CrossRef
 N. Nishimura, Asynchronous shared memory parallel computation,Proc. Second Annual ACM Symp. on Parallel Algorithms and Architectures, 1990, pp. 76–84.
 A. G. Ranade, How to emulate shared memory,Proc. 28th Annual IEEE Symp. on Foundations of Computer Science, 1987, pp. 185–194.
 A. Siegel, On universal classes of fast highperformance hash functions, their timespace tradeoff, and their applications,Proc. 30th IEEE Symp. on Foundations of Computer Science, 1989, pp. 20–25.
 E. Upfal and A. Wigderson, How to share memory in a distributed system,Proc. 25th Annual IEEE Symp. on Foundations of Computer Science, 1984, pp. 171–180.
 L. G. Valiant, A bridging model for parallel computation,Comm. ACM 33 (1990), 103–111. CrossRef
 L. G. Valiant, General purpose parallel architectures,Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), NorthHolland, Amsterdam, 1990, pp. 103–110.
 L. G. Valiant and G. J. Brebner, Universal schemes for parallel communication,Proc. 13th Annual ACM Symp. on Theory of Computing, 1981, pp. 263–277.
 Title
 Localitypreserving hash functions for general purpose parallel computation
 Journal

Algorithmica
Volume 12, Issue 23 , pp 170181
 Cover Date
 19940901
 DOI
 10.1007/BF01185209
 Print ISSN
 01784617
 Online ISSN
 14320541
 Publisher
 SpringerVerlag
 Additional Links
 Topics
 Keywords

 Generalpurpose parallel computation
 Communication latency
 Block PRAM
 Locality
 PRAM simulations
 Universal hashing
 Industry Sectors
 Authors

 A. Chin ^{(1)}
 Author Affiliations

 1. Department of Mathematics, Texas A&M University, 77843, College Station, TX, USA