Skip to main content

A complexity theory of efficient parallel algorithms

  • Conference paper
  • First Online:
Book cover Automata, Languages and Programming (ICALP 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 317))

Included in the following conference series:

Abstract

Theoretical research on parallel algorithms has focused on NC theory. This motivates the development of parallel algorithms that are extremely fast, but possibly wasteful in their use of processors. Such algorithms seem of limited interest for real applications currently run on parallel computers. This paper explores an alternative approach that emphasizes the efficiency of parallel algorithms. We define a complexity class PE of problems that can be solved by parallel algorithms that are efficient (the speedup is proportional to the number of processors used) and polynomially faster than sequential algorithms. Other complexity classes are also defined, in terms of time and efficiency: A class that has a slightly weaker efficiency requirement than PE, and a class that is a natural generalization of NC. We investigate the relationship between various models of parallel computation, using a newly defined concept of efficient simulation. This includes new models that reflect asynchrony and high communication latency in parallel computers. We prove that the class PE is invariant across the shared memory models (PRAM's) and fully connected message passing machines. These results show that our definitions are robust. Many open problems motivated by our approach are listed.

Extended abstract

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aggarwal and A. K. Chandra, Communication complexity of PRAM's. 15th ICALP (1988).

    Google Scholar 

  2. H. Alt, T. Hagerup, K. Mehlhorn, and F. P. Preparata, Deterministic simulation of idealized parallel computers on more realistic ones. SIAM Journal of Computing 16 (1987) 808–835.

    Google Scholar 

  3. A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Addison-Wesley (1974).

    Google Scholar 

  4. R. J. Anderson and G. L. Miller, Optical communication for pointer based algorithms. Manuscript.

    Google Scholar 

  5. M. Blum, A machine-independent theory of the complexity of recursive functions. JACM 14 (1967) 322–336.

    Google Scholar 

  6. S. A. Cook, C. Dwork, and R. Reischuk, Upper and lower time bounds for parallel random access machines without simultaneous writes. SIAM Journal of Computing 15 (1986) 87–97.

    Google Scholar 

  7. L. Carter and M. Wegman, New hash functions and their use in authentication and set equality. Journal of Computer and System Sciences 22 (1981) 265–279.

    Google Scholar 

  8. P. W. Dymond and W. L. Ruzzo, Parallel random access machines with owned global memory and deterministic context free language recognition. 13th ICALP (1986) 95–104.

    Google Scholar 

  9. S. Fortune and J. Wyllie, Parallelism in random access machines. 10th ACM STOC (1978) 114–118.

    Google Scholar 

  10. A. Gottlieb, R. Grishman, C. P. Kruskal, K. P. McAuliffe, L. Rudolph, and M. Snir, The NYU Ultracomputer — designing an MIMD parallel machine. IEEE Trans. on Computers TC-32 (1983) 175–189.

    Google Scholar 

  11. A. Gottlieb and C. P. Kruskal, Complexity results for permuting data and other computations on parallel processors. JACM 31 (1984) 193–209.

    Google Scholar 

  12. L. Goldschlager, A unified approach to models of synchronous parallel machines. 10th ACM STOC (1978), 89–94.

    Google Scholar 

  13. L. Kucera, Parallel computation and conflicts in memory accesses. IPL 14 (1982) 93–96.

    Google Scholar 

  14. C. P. Kruskal, T. Madej, and L. Rudolph, Parallel prefix on fully connected direct connection machine. ICPP (1986) 278–283.

    Google Scholar 

  15. C. P. Kruskal, Algorithms for replace-add based paracomputers. ICPP (1982) 219-223.

    Google Scholar 

  16. C. P. Kruskal, Searching, merging, and sorting in parallel computation. IEEE Trans. on Computers TC-32 (1983) 942–946.

    Google Scholar 

  17. C. P. Kruskal, L. Rudolph, and M. Snir, Efficient synchronization in multiprocessors with shared memory. 6th PODC (1986) 218–228.

    Google Scholar 

  18. C. P. Kruskal, L. Rudolph, and M. Snir, A complexity theory of efficient parallel algorithms, Technical Report, IBM T. J. Watson Research Center, 1988.

    Google Scholar 

  19. A. K. Karlin and E. Upfal, Parallel hashing — an efficient implementation of shared memory. 18th ACM STOC (1986) 160–168.

    Google Scholar 

  20. R. M. Karp, E. Upfal, and A. Widgerson, Are search and decision problems computationally equivalent? 17th ACM STOC (1985) 464–475.

    Google Scholar 

  21. G. Lev, N. Pippenger, and L. G. Valiant, A fast parallel algorithm for routing in permutation networks. IEEE Trans. on Computers TC-30 (1981) 93–100.

    Google Scholar 

  22. K. Mehlhorn and U. Vishkin, Randomized and deterministic simulations of PRAMs by parallel machines with restricted granularity of parallel memories. Acta Informatica 21 (1984) 339–374.

    Google Scholar 

  23. A. G. Ranade, How to emulate shared memory. 28th FOCS (1987) 185–194.

    Google Scholar 

  24. J. H. Reif, Depth-first search is inherently sequential. IPL 20 (1985) 229–234.

    Google Scholar 

  25. L. Rudolph, Software structures for ultraparallel computing. Ph.D. Thesis, NYU, 1982.

    Google Scholar 

  26. J. Schwartz, Ultracomputers. ACM TOPLAS 2 (1980) 484–521.

    Google Scholar 

  27. M. Snir, On parallel searching. SIAM Journal of Computing 14 (1985) 688–708.

    Google Scholar 

  28. M. Snir, Asynchronous parallel computations. Manuscript.

    Google Scholar 

  29. U. Vishkin, Implementation of simultaneous memory address access in models that forbid it. Journal of Algorithms 4 (1983) 45–50.

    Google Scholar 

  30. J. S. Vitter and R. A. Simons, New classes for parallel complexity: a study of unification and other complete problems for P. IEEE Trans. on Computers TC-35 (1986) 403–418.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Timo Lepistö Arto Salomaa

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kruskal, C.P., Rudolph, L., Snir, M. (1988). A complexity theory of efficient parallel algorithms. In: Lepistö, T., Salomaa, A. (eds) Automata, Languages and Programming. ICALP 1988. Lecture Notes in Computer Science, vol 317. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-19488-6_126

Download citation

  • DOI: https://doi.org/10.1007/3-540-19488-6_126

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-19488-0

  • Online ISBN: 978-3-540-39291-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics