Skip to main content
Log in

Applications of coarse-grained dataflow in computational mechanics

  • Published:
Engineering with Computers Aims and scope Submit manuscript

Abstract

Dataflow models are free of side effects and have no notion of state or sequencing. Because these representations place a partial, as opposed to a total, ordering on the execution of their component operations, the concurrent aspects of computation are clearly revealed. The correspondence between dataflow graphs and purely functional programs allows computations to be expressed in a high-level functional language and subsequently transformed into a dataflow graph. This paper describes the use of dataflow models as an alternative control strategy for engineering analysis programs and contrasts them with traditional imperative approaches. The characteristics of functional languages are also described, as is their inherent parallelism, which may be realized by compilation into dataflow graphs. The application of functional languages to finite element programming is presented, which allows the alternating assembly and solution of system equations found in frontal solvers. Issues such as the incremental update of arrays and the simulation of state are also addressed.

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. (1982) Special issue on data flow systems. Computer 15(2):February

  2. Oxley, D. et al. (1984) Handbook of Software Engineering, Chap. 29 (Software Development for Data-Flow Machines). New York: Van Nostrand Reinhold

    Google Scholar 

  3. Babb II, R.G. (1984) Parallel processing with large-grain data flow techniques. Computer 17(7):55–61, July

    Google Scholar 

  4. Arvind; Culler, D.E. (1986) Dataflow architectures. Ann. Rev. Comput. Sci. 1:225–253

    Google Scholar 

  5. Arvind; Gostelow, K.P. (1982) The U-interpreter. Computer 15(2):42–49, Feburary

    Google Scholar 

  6. Ackerman, W.B. (1982) Data flow languages. Computer 15 (2):15–24, Feburary

    Google Scholar 

  7. Henderson, P. (1980) Functional Programming: Application and Implementation. Englewood Cliffs, NJ: Prentice-Hall

    Google Scholar 

  8. Wadge, W.W.; Ashcroft, E.A. (1985) LUCID, the Dataflow Programming Language, New York: Academic Press

    Google Scholar 

  9. Ackerman, W.B.; Dennis, J.B. (1979) VAL—A value-oriented algorithmic language: Preliminary reference manual. Technical Report LCS/TR-218, MIT Laboratory for Computer Science, June

  10. Leth, J.W. (1979) An intermediate form for data flow programs. Technical Report MIT/LCS. TM-143, MIT Laboratory for Computer Science, November

  11. Brock, J.D. (1978) Operational semantics of a data flow language. Technical Report MIT/LCS/TM-120, MIT Laboratory for Computer Science, December

  12. Weng, K.-S. (1979) An abstract implementation for a generalized data flow language. Technical Report MIT/LCS/TR-218, MIT Laboratory for Computer Science, May

  13. Todd, K.W. (1981) High-level VAL constructs in a static data flow machine. Technical Report MIT/LCS/TR-262, MIT Laboratory for Computer Science, June

  14. McGraw, J.R. (1980) Data flow computing: Software development. IEEE Trans. Comput. C 29(12):1095–1103, December

    Google Scholar 

  15. McGraw, J.R. The VAL language: Description and analysis. ACM Trans. Prog. Lang. Syst. 4(1):44–82, January (1983)

    Google Scholar 

  16. McGraw, J.R. et al. (1983) SISAL—Streams and iteration in a single-assignment language. Language reference manual version 1.0, Lawrence Livermore National Laboratory, July

  17. Gurd, J.R.; Kirkam, C.C.; Watson, I. (1985) The Manchester protype dataflow computer. Commun. ACM 28(1):34–52, January

    Google Scholar 

  18. Gurd, J.R. et al. (1987) Fine-grain parallel computing: The dataflow approach. In: Future Parallel Computers, (Eds: P. C. Treleaven; M. Vanneschi). pp. 82–152. Lecture Notes in Computer Science, Springer-Verlag

  19. Arvind; Gostelow, K.P.; Plouffe, W. (1978) The (preliminary) Id report: An asynchronous programming language and computing machine. Technical Report 114, Department of Information and Computer Science, University of California, Irvine, May

    Google Scholar 

  20. Arvind (1988) Executing a program on the MIT tagged-token dataflow architecture. Computation Structures Group Memo 271, MIT Laboratory for Computer Science, June

  21. Arvind; Thomas, R.E. (1981) I-structures: An efficient data type for functional languages. Technical Report MIT/LCS/TM-210, MIT Laboratory for Computer Science, October

  22. Arvind; Ekanadham, K. (1987) Future scientific programming on parallel machines. Research Division 12856, IBM, June

  23. Gostelow, K.P.; Thomas, R.E. (1980) Performance of a simulated dataflow computer. IEEE Trans. Comput. C 29(10):905–919, October

    Google Scholar 

  24. Cook, R.D. (1981) Concepts and Applications of Finite Element Analysis, 2nd ed. New York:Wiley

    Google Scholar 

  25. Hughes, T. J. (1987) The Finite Element Method: Linear Static and Dynamic Finite Element Analysis. Englewood Cliffs, NY: Prentice-Hall

    Google Scholar 

  26. Zienkiewicz, O.C.; Taylor, R.L. (1989) The Finite Element Method, vol. 1, Basic Formulations and Linear Problems, 4th ed. New York: McGraw-Hill

    Google Scholar 

  27. Baugh, J.W. Jr.; Rehak, D.R. (1989) Computational abstractions for finite element programming. Technical Report R-89-182. Department of Civil Engineering, Carnegie Mellon University, Pittsburgh, PA, September

    Google Scholar 

  28. Baugh, J.W. Jr; Rehak, D.R. (1989) Object-oriented design of finite element programs. In: Computer Utilization in Structural Engineering, (Ed. J.K. Nelson, Jr.) pp. 91–100. American Society of Civil Engineers (ASCE), May

  29. Liskov, B.; Guttag, J.V. (1986) Abstraction and Specification in Program Development. Cambridge, MA: MIT Press

    Google Scholar 

  30. Rehak, D.R.; Keirouz, W.T.; Cendes, Z.J.; Hendrickson, C.T. (1985) Evaluation of alternative finite element system architectures. Comput. Struct. 20(1-3):17–30

    Google Scholar 

  31. Irons, B.; Ahmad, S. (1980) Techniques of Finite Elements. New York: Ellis Horwood Limited

    Google Scholar 

  32. Nikhil, R.S. (1988) Id reference manual. Computation structures group memo 284, MIT Laboratory for Computer Science, March

  33. Burton, F.W. (1984) Annotations to control parallelism and reduction order in the distributed evaluation of functional programs. ACM Trans. Prog. Lang. Syst. 6(2):159–174, April

    Google Scholar 

  34. Hudak, P. (1986) Arrays, non-determinism, side-effects, and parallelism: A functional approach. In: Proceedings of the Workshop on Graph Reduction, pp 312–317. Lecture Notes in Computer Science, Springer-Verlag, October

  35. Wadler, P. (1986) A new array operation. In: Proceedings of the Workshop on Graph Reduction, pp 328–335. Lecture Notes in Computer Science, Springer-Verlag, October

  36. Nikhil, R.S. Personal communication, August, 1988

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Baugh, J.W., Rehak, D.R. Applications of coarse-grained dataflow in computational mechanics. Engineering with Computers 8, 13–30 (1992). https://doi.org/10.1007/BF01206334

Download citation

  • Issue Date:

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

Keywords

Navigation