Hashing strategies for simulating shared memory on distributed memory machines

  • Friedhelm Meyer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 678)


We survey shared memory simulations on distributed memory machines (DMMs), that use universal hashing to distribute the shared memory cells over the memory modules of the DMM. We measure their quality in terms of delay, time-processor efficiency, memory contention (how many requests have to be satisfied by one memory module per simulated step) and simplicity. Further we take into consideration different access conflict rules to the modules of the DMM, in particular the c-Collision rule motivated by the idea of communicating between processors and modules using an optical crossbar.

It turns out that simulations with very small delay require more than one hash function. Further, simple simulations on DMMs with the c-Collision rule are only known if more than one hash function is allowed.


Hash Function Shared Memory Memory Module Universal Class Access Schedule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    H. Bast and T. Hagerup. Fast and reliable parallel hashing. In Proc. of the 3rd Ann. ACM Symp. on Parallel Algorithms and Architectures, pages 50–61, 1991.Google Scholar
  2. 2.
    J. L. Carter and M. N. Wegman. Universal classes of hash functions. J. Comput. Syst. Sci., 18:143–154, 1979.Google Scholar
  3. 3.
    M. Dietzfelbinger and F. Meyer auf der Heide. How to distribute a dictionary in a complete network. In Proc. of the 22nd Ann. ACM Symp. on Theory of Computing, pages 117–127, 1990.Google Scholar
  4. 4.
    M. Dietzfelbinger and F. Meyer auf der Heide. A new universal class of hash functions and dynamic hashing in real time. In M. S. Paterson, editor, Proceedings of 17th ICALP, pages 6–19. Springer, 1990. Lecture Notes in Computer Science 443.Google Scholar
  5. 5.
    A. Karlin and E. Upfal. Parallel hashing — an efficient implementation of shared memory. In Proc. of the 18th Ann. ACM Symp. on Theory of Computing, pages 160–168, 1986.Google Scholar
  6. 6.
    C. P. Kruskal, L. Rudolph, and M. Snir. A complexity theory of efficient parallel algorithms. Theoret. Comput. Sci., 71:95–132, 1990.Google Scholar
  7. 7.
    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, 1991.Google Scholar
  8. 8.
    K. Mehlhorn and U. Vishkin. Randomized and deterministic simulations of PRAMs by parallel machines with restricted granularity of parallel memories. Acta Informatica, 21:339–374, 1984.Google Scholar
  9. 9.
    A. G. Ranade. How to emulate shared memory. In Proc. of the 28th IEEE Ann. Symp. on Foundations of Computer Science, pages 185–194, 1987.Google Scholar
  10. 10.
    A. Siegel. On universal classes of fast high performance hash functions, their time-space tradeoff, and their applications. In Proc. of the 30th IEEE Ann. Symp. on Foundations of Computer Science, pages 20–25, 1989. Revised Version.Google Scholar
  11. 11.
    E. Upfal. Efficient schemes for parallel communication. J. Assoc. Comput. Mach., 31(3):507–517, 1984.Google Scholar
  12. 12.
    L. G. Valiant. General purpose parallel architectures. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Vol. A: Algorithms and Complexity, chapter 18, pages 943–971. Elsevier, Amsterdam, 1990.Google Scholar
  13. 13.
    T. Hagerup. The log-star revolution, proceedings. STACS 92, LNCS 577, pages 259–280, 1992.Google Scholar
  14. 14.
    A. Karlin, E. Upfal. Parallel Hashing, an efficient implementation of shared memory. Proc. 18th ACM STOC, pages 160–168, 1986.Google Scholar
  15. 15.
    F. T. Leighton. Introduction to parallel algorithms and architectures: arrays, trees, hypercubes. Morgan Kaufmann Publishers, San Mateo, 1992.Google Scholar
  16. 16.
    F. T. Leighton. Methods for packet routing in parallel machines. Proc. 24th ACM STOC, pages 77–96, 1992.Google Scholar
  17. 17.
    L. Valiant. A bridging model for parallel computation. Communications of the ACM, 33(8), pages 103–111, 1990.Google Scholar
  18. 18.
    M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, R. E. Tarjan. Dynamic perfect hashing, upper and lower bounds. Proc. 29th IEEE FOCS, pages 524–531, 1988, extended version appears in SIAM J. Comp.Google Scholar
  19. 19.
    R. Karp, M. Luby, F. Meyer auf der Heide. Efficient PRAM simulation on distributed memory machine. Proc. 24th ACM STOC, pages 318–326, 1992.Google Scholar
  20. 20.
    R. Cole. Parallel merge sort. SIAM J. Comp. 17(4), pages 770–785, 1988.Google Scholar
  21. 21.
    J. Reif. An optimal parallel algorithm for integer sorting. Proc. 26th IEEE-FOCS, pages 496–504, 1985.Google Scholar
  22. 22.
    R. A. Wagner, Y. Han. Parallel algorithms for bucket sorting and the data dependent prefix problem. Proc. Int. Conf. on Parallel Processing, Illinois, pages 924–930, 1986.Google Scholar
  23. 23.
    R. J. Anderson, G. L. Miller. Optical communication for pointer based algorithms. Tech. Rep. CRI 88-14, Comp. Sci. Dpt, Univ. of Southern California, Los Angeles, 1988.Google Scholar
  24. 24.
    E. Upfal, A. Wigderson. How to share memory in a distributed system. J. ACM 34, pages 116–127, 1987.Google Scholar
  25. 25.
    M. Dietzfelbinger, F. Meyer auf der Heide. Simple, efficient shared memory simulations, preprint 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Friedhelm Meyer
    • 1
  1. 1.Heinz Nixdorf Institute and Computer Science DepartmentUniversity of PaderbornPaderbornGermany

Personalised recommendations