Applications of coarse-grained dataflow in computational mechanics

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.

[1]  David E. Culler,et al.  Dataflow architectures , 1986 .

[2]  Ian Watson,et al.  The Manchester prototype dataflow computer , 1985, CACM.

[3]  Arvind,et al.  The U-Interpreter , 1982, Computer.

[4]  Arvind,et al.  Future Scientific Programming on Parallel Machines , 1988, J. Parallel Distributed Comput..

[5]  Jarvis Dean Brock Operational Semantics of a Data Flow Language. , 1978 .

[6]  Chris Hendrickson,et al.  EVALUATION OF FINITE ELEMENT SYSTEM ARCHITECTURES , 1985 .

[7]  James R. McGraw Data Flow Computing - Software Development , 1980, IEEE Trans. Computers.

[8]  William W. Wadge,et al.  Lucid, the dataflow programming language , 1985 .

[9]  Paul Hudak,et al.  Arrays, non-determinism, side-effects, and parallelism: A functional perspective , 1987, Graph Reduction.

[10]  Arvind,et al.  Future Scientific Programming on Parallel Machines , 1988, J. Parallel Distributed Comput..

[11]  WILLIAM B. ACKERMAN Data flow languages , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[12]  Kim P. Gostelow,et al.  Performance of a Simulated Dataflow Computer , 1980, IEEE Transactions on Computers.

[13]  K. W. Todd HIGH LEVEL VAL CONSTRUCTS IN A STATIC DATA FLOW MACHINE , 1981 .

[14]  John Glauert,et al.  SISAL: streams and iteration in a single assignment language. Language reference manual, Version 1. 2. Revision 1 , 1985 .

[15]  Peter Henderson,et al.  Functional programming - application and implementation , 1980, Prentice Hall International Series in Computer Science.

[16]  Philip Wadler A new array operation , 1986, Graph Reduction.

[17]  Arvind,et al.  The (preliminary) Id report: an asynchronous programming language and computing machine , 1978 .

[18]  John W. Baugh,et al.  Object-Oriented Design of Finite Element Programs , 1989 .

[19]  John Glauert,et al.  SISAL: streams and iteration in a single-assignment language. Language reference manual, Version 1. 1 , 1983 .

[20]  John R. Gurd,et al.  Fine-Grain Parallel Computing: The Dataflow Approach , 1986, Future Parallel Computers.

[21]  K. S. Weng AN ABSTRACT IMPLEMENTATION FOR A GENERALIZED DATA FLOW LANGUAGE , 1980 .

[22]  J. Z. Zhu,et al.  The finite element method , 1977 .

[23]  V. Stavridou,et al.  Abstraction and specification in program development , 1988 .

[24]  Jr. John Wesley Baugh Computational abstractions for finite element programming , 1989 .

[25]  F. Warren Burton,et al.  Annotations to Control Parallelism and Reduction Order in the Distributed Evaluation of Functional Programs , 1984, TOPL.

[26]  B. Irons,et al.  Techniques of Finite Elements , 1979 .

[27]  Robert G. Babb,et al.  Parallel Processing with Large-Grain Data Flow Techniques , 1984, Computer.

[28]  Arvind,et al.  Executing a Program on the MIT Tagged-Token Dataflow Architecture , 1987, IEEE Trans. Computers.

[29]  James R. McGraw,et al.  The VAL Language: Description and Analysis , 1982, TOPL.

[30]  Jack B. Dennis,et al.  VAL -- A Value-Oriented Algorithmic Language (Preliminary Reference Manual), , 1979 .

[31]  R. Cook,et al.  Concepts and Applications of Finite Element Analysis (2nd Edition) , 1984 .