Skip to main content
Log in

The formal development of a parallel program performing LU-decomposition

  • Published:
Acta Informatica Aims and scope Submit manuscript

Summary

The development of a new parallel algorithm performing the LU-decomposition of a regular matrix is given. The algorithm is developed using formal techniques that rely on the use of invariants that express the properties of parallel processes (like in the Gries-Owicki approach) and ordered sets that define the communications between them. Special attention is given to the new notion of a parallel invariant: it is made clear that many invariants contain too many implicit sequential constraints, which makes them inferior to other ones. Also considered are the efficiency, both in communications and in computations, and the correctness. It is shown that the algorithm suggested in this paper has better efficiency than algorithms that use a partitioning of the matrix into rows, columns, or blocks. The programming techniques used are evaluated against the programming demands posed by the specific problem considered.

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.

Similar content being viewed by others

References

  1. Backhouse, R.C.: Program construction and verification. Englewood Cliffs: Prentice-Hall 1986.

    Google Scholar 

  2. Chandy, K.M., Misra, J.: Systolic algorithms as programs. Distributed Comput.3, 177–183 (1986)

    Article  Google Scholar 

  3. Chen, M.C.: A design methodology for synthesizing parallel algorithms and architectures. J. Par. Distributed Comput.3, 461–491 (1986)

    Article  Google Scholar 

  4. Dijkstra, E.W.: A discipline of programming. Englewood Cliffs: Prentice-Hall 1976

    MATH  Google Scholar 

  5. Dijkstra, E.W.: A personal summary of the Gries-Owicki theory. EWD 554. Eindhoven University of Technology

  6. Gries, D.: The science of programming. Berlin Heidelberg New York: Springer 1981

    MATH  Google Scholar 

  7. Jones, C.B.: Specification and design of (parallel) programs. In: Information processing 83, pp. 321–332. Amsterdam New York Oxford: North-Holland IFIP 1983

    Google Scholar 

  8. Kung, H.T., Leierson, C.E.: Algorithms for VLSI processor arrays. In: Introduction to VLSI systems. Reading: Addison-Wesley 1980

    Google Scholar 

  9. Liu, J.W.H.: Computational models and task scheduling for parallel sparse Cholesky factorisation. Par. Comput.3, 327–342 (1986)

    Article  MATH  Google Scholar 

  10. Owicki, S.: Axiomatic proof techniques for parallel programs. Cornell University thesis 1975

  11. Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs I. Acta Informatica6, 319–340 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  12. Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Commun. ACM19, 279–285 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  13. Stoer, J., Bulirsch, R.: Introduction to numerical analysis. Berlin Heidelberg New York: Springer 1980

    Google Scholar 

  14. Van de Snepscheut, J.L.A.: A derivation of a distributed implementation of Warshall’s algorithm. Sci. Comput. Prog.7, 55–60 (1986)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

van de Vorst, J.G.G. The formal development of a parallel program performing LU-decomposition. Acta Informatica 26, 1–17 (1988). https://doi.org/10.1007/BF02915443

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation