Skip to main content
Log in

The semantics and complexity of parallel programs for vector computations. Part I: A case study using ADA

  • Part II Computer Science
  • Published:
BIT Numerical Mathematics Aims and scope Submit manuscript

Abstract

Recent research in parallel numerical computation has tended to focus on the algorithmic level. Less attention has been given to the programming level where algorithm is matched, to some extent, to computer architecture. This two-part paper presents a three-level approach to parallel programming which distinguishes between mathematical algorithm, program and computer architecture. In part I, we motivate our approach by a case study using the Ada language. In part II, a mathematical concept of parallel algorithm is introduced in terms of partial orders. This serves as the basis of a theory of parallel computation which makes possible a precise semantics and a precise criterion of complexity of parallel programs. It also suggests some notation for specifying parallel numerical algorithms. To illustrate the ideas presented in part II, we concentrate here on parallel numerical computations which have vector spaces as their central data type and which are intended to be executed on a multi-processor system. The Ada language, with its task constructs, allows one to program computer algorithms to be executed on multi-processor systems, rather than on “vector (pipelined) architectures”. To provide a concrete example of the general problem of programming parallel numerical algorithms for multi-processor computers, we do a case study of how Ada can be used to program the solution of a system of linear equations on such computers. The case study includes an analysis of complexity which addresses the cost of data movement and process control/synchronization as well as the usual arithmetic complexity.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Kai Wang,Supercomputer architectures, USC Computer Research Institute Report CRI 87-22, Mar. 25, 1987.

  2. Larry Snyder and Z. Segall, Eds.:Proc. Workshop on Performance Efficient Parallel Programming, Seven Springs, Pa., Sept. 1986, CMU Reports 86-180, 181.

  3. CRAY Fortran Manual.

  4. G. Rodrigue, E. Giroux, and M. Pratt,Perspectives on large-scale scientific computation, Computer (IEEE), Oct. 1980, 65–80.

  5. W. Gentleman,Some complexity results for matrix computation on parallel processors, JACM, Jan. 1978, 112–115.

  6. T. Agerwala and B. Lint,Communication in parallel algorithms for boolean matrix multiplication, Proc. IEEE Conference on Parallel Processing, Aug. 1978, 146–153.

  7. J. J. Dongarra et al.,LINPACK User's Guide, SIAM 1979.

  8. C. Lawson, R. Hanson, D. Kincaid, and F. Krough,Basic linear algebra program for Fortran usage, ACM Trans. Math. Software, 1979.

  9. Reference Manual for the Ada Programming Language, U.S. Dept. Defense, July 1982.

  10. Proc. Conference on Programming Languages and Compilers for Parallel and Vector Machines, SIGPLAN Notices, March 1975.

  11. C. W. Wetherell,LWG Fortran Manual, Draft, July 21, 1981.

  12. George Paul,VECTRAN and the proposed vector/array extensions to ANSI Fortran, IBM Research Report RC 9223, Jan. 21, 1982.

  13. ANSI X3J3 Committee Composite Array Proposal, Version 78, May 18, 1981.

  14. E. K. Blum,Numerical Analysis and Computation: Theory and Practice, Addison-Wesley, Reading, Mass. 1972.

    Google Scholar 

  15. E. K. Blum,Ada-based architectures for parallel vector computation, TRW Report DSG-TR1, Mar. 31, 1983.

  16. D. Heller,A survey of parallel algorithms in numerical linear algebra, SIAM Rev. 20, 1978, 740–777.

    Google Scholar 

  17. S. C. Chen and D. Kuck,Time and parallel processor bounds for linear recurrence systems, IEEE Trans. Comp., v. C-24, 1975, 701–717.

    Google Scholar 

  18. L. Csanky,Fast parallel matrix inversion algorithms, Proc. 16th Symp. on Foundations of Computer Science, Oct. 1975.

  19. H. T. Kung,The structure of parallel algorithms, inAdvances in Computers, v. 19, 1980, Academic Press, 65–111.

  20. H. S. Stone,An efficient parallel algorithm for the solution of a tridiagonal linear system of equations, JACM, v. 20, 1973, 27–38.

    Google Scholar 

  21. A. H. Sameh and D. Kuck,On stable parallel linear system solvers, JACM, 25, Jan. 1978, 81–91.

    Google Scholar 

  22. O. Wing and J. W. Huang,A computational model of parallel solution of linear equations, IEEE Trans. Comp., C-29, July 1980, 632–638.

    Google Scholar 

  23. R. E. Lord, J. S. Kowalik, and S. P. Kumar,Solving linear algebraic equations on an MIMD computer, JACM, 30, Jan. 1983, 103–117.

    Google Scholar 

  24. J. B. Smith,A pipelined shared resource MIMD computer, Int. Conf. on Parallel Processing, Detroit, Mich., Aug. 1978, 6–8.

  25. A. H. Sameh,Numerical parallel algorithms, inHigh Speed Computer and Algorithm Organization, Ed. D. Kuck, D. Lawrie, Academic Press, 1977.

  26. E. K. Blum,Programming parallel numerical algorithms in Ada, Proc. IFIP Conference on the Relationship Between Numerical Computation and Programming Language, North-Holland, 1982.

  27. F. Belz, E. K. Blum, and D. Heimbigner,A multiprocessing implementation-oriented formal definition of Ada in SEMANOL, SIGPLAN Notices, Dec. 1980, Symp. on the Ada Language.

  28. R. Milner,Calculi for Synchrony and Asynchrony, Theoretical Computer Science 25, 1983, 267–310.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Dedicated to Peter Naur on the occasion of his 60th birthday

This research was partially supported by NSF Grants DCR-8406290 & CCR-8712192.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Blum, E.K. The semantics and complexity of parallel programs for vector computations. Part I: A case study using ADA. BIT 28, 530–551 (1988). https://doi.org/10.1007/BF01941132

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01941132

CR categories

Navigation