Skip to main content

Foundations of practical parallel programming languages

  • Conference paper
  • First Online:

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

Abstract

A practical formulation of parallel programming languages is presented based on an analogy with sequential programming languages. The essential components are a machine model, a programming model and a programming language. For the parallel case, the CTA is used as the machine model, Phase Abstractions are used as the programming model, and the Orca family of languages are used to illustrate language design.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agarwal, A.: Units on interconnection network performance. IEEE Transactions on Parallel and Distributed Systems, 2 4:398–412, 1991.

    Google Scholar 

  2. Alverson, G.A., Griswold, W.G., Notkin, D., Snyder, L.: A Flexible Communication Abstraction for Nonshared Memory Parallel Computing. Proceedings of Supercomputing 90, pp. 584–593, 1990.

    Google Scholar 

  3. Anderson, R.J., Snyder, L.: A Comparison of Shared and Nonshared Memory Models of Parallel Computation. Proceedings of IEEE, 79 4:480–487, 1991.

    Google Scholar 

  4. Bolding, K., Konstantinidou, S.: On the Comparison of Hypercubes and Torus Networks. Proceedings of the International Conference on Parallel Processing, 1992.

    Google Scholar 

  5. Carter, L.: The RAM Model and the Performance Programmer. Technical Report RC 16319, IBM Watson Research Labs, 1990.

    Google Scholar 

  6. Crowley, Hendrickson, Luby: Livermore SIMPLE program. 1978

    Google Scholar 

  7. Griswold W.G., Harrison, G.A., Notkin, D., Snyder, L.: Scalable Abstractions for Parallel Programming. Proceedings of the Fifth Distributed Memory Computer Conference, IEEE pp. 1008–1016, 1990.

    Google Scholar 

  8. Griswold, W.G., Harrison, G.A., Notkin, D., Snyder, L.: How Port Ensembles Aid the Efficient Retargeting of Reduction Algorithms. Proceedings of the International Conference on Parallel Processing, Vol. II pp. 286–287, 1990.

    Google Scholar 

  9. Halstead, R.H. Jr.: Multilisp: A Language for Concurrent Symbolic Computation. ACM Transactions on Programming Languages and Systems, 7 4:501–538, 1985.

    Google Scholar 

  10. Lin, C., Snyder, L.: A Comparison of Programming Models for Shared Memory Multiprocessors. Proceedings of the International Conference on Parallel Processing, Penn State Vol. II, pp. 163–170, 1990.

    Google Scholar 

  11. Lin, C., Snyder, L.: A Portable Implementation of SIMPLE. International Journal of Parallel Programming, 20 5:363–401, 1991.

    Google Scholar 

  12. Lin, C., Snyder, L.: Data Ensembles in Orca C. In eds., Languages and Compilers for Parallel Computing, MIT Press, 1993 to appear.

    Google Scholar 

  13. Lin, C., Snyder, L.: ZPL: An Array Sublanguage. To appear in the 6th Workshop on Languages and Compilers for Parallel Computing, Portland, OR, 1993.

    Google Scholar 

  14. Ngo, T., Snyder, L.: On the Influence of Programming Models on Shared Memory Computer Performance. Proceedings of Scalable High Performance Computing Conference, IEEE, pp. 284–291, 1992.

    Google Scholar 

  15. Siegel, H.J., et al.: Report on the Purdue Workshop on Grand Challenges in Computer Architecture. Journal of Parallel and Distributed Computing, 16:199–211, 1992.

    Google Scholar 

  16. Snyder, L.: Type Architecture, Shared Memory and the Corollary of Modest Potential. Annual Review of Computer Science, Vol. 1, Annual Review, Inc., pp. 289–318, 1986.

    Google Scholar 

  17. Snyder, L.: The XYZ Abstraction Levels of Poker-Like Languages. In David Gelernter, Alexandru Nicolau and David Padua eds., Languages and Compilers for Parallel Computing, MIT Press, pp. 470–489, 1990.

    Google Scholar 

  18. Snyder, L.: Applications of the “Phase Abstractions” for Portable and Scalable Parallel Programming. In J. Saltz and P. Mehrotra eds., Languages, Compilers and Run-time Environments for Distributed Memory Machines, Elsevier, pp. 79–102, 1992.

    Google Scholar 

  19. Venkatakrishnan, V., Simon, H., Barth, T.: A MIMD Implementation of a Parallel Euler Solver for Unstructured Grids. In J. Dongarra, et al. eds., Proceedings of the Fifth SIAM Conference on Parallel Processing for Scientific Computing, SIAM, pp. 253–256, 1991.

    Google Scholar 

  20. Venkatakrishnan, V., Saltz, J., Mavriplis, D.: Solving Unstructured Mesh Problems with Domain Decomposed GMRES/ILU. In J. Dongarra, et al. eds., Proceedings of the Fifth SIAM Conference on Parallel Processing for Scientific Computing, SIAM, pp. 257–262, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jens Volkert

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Snyder, L. (1993). Foundations of practical parallel programming languages. In: Volkert, J. (eds) Parallel Computation. ACPC 1993. Lecture Notes in Computer Science, vol 734. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57314-3_11

Download citation

  • DOI: https://doi.org/10.1007/3-540-57314-3_11

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57314-2

  • Online ISBN: 978-3-540-48055-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics