Synonyms
Definition
A data flow graph is a graph model for computer programs that expresses possibilities for concurrent execution of program parts. In a data flow graph, nodes, called actors, represent operations (functions) and predicates to be applied to data objects, and arcs represent channels for data objects to move from a producing actor to a consuming actor. In this way, control and data aspects of a program are represented in one integrated model. When data objects are available at input ports of an actor and certain conditions are satisfied, the actor is said to be enabled. Because the set of enabled actors may be chosen to fire simultaneously, or sequentially in any order, data flow models expose much of the parallelism available in the computation represented, and this parallelism may be exploited in an implementation of the model.
Discussion
Introduction
Although many versions of data flow graphs (DFGs) have been studied in the literature, they share some...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Bibliography
Adams DA (1970) A model for parallel computations. In: Hobbs LC (ed) Parallel processor systems, technologies and applications, Spartan Books, New York, pp 311–333
Agerwala T, Arvind A (eds) (1982) IEEE Computer 15, 2. Special issue devoted to data flow
Arvind A, Gostelow KP, Plouffe W (1978) An asynchronous programming language and computing machine. Technical report 114a, Department of Information and Computer Science, University of California, Irvine
Ashcroft EA, Wadge WW (1977) Lucid, a nonprocedural language with iteration. Commun ACM 20(7):519–526
Beck M, Johnson R, Pingali K (1981) From control flow to dataflow. ACM Trans Progr Lang Syst 12:118–129
Davis AL, Keller RM (1982) Dataflow program graphs. IEEE Comput 15(2):42–49
Dennis JB (1974) First version of a dataflow procedure language. In: Lecture notes in computer science LCNS 19: programming symposium, Springer, Berlin, pp 362–376
Dennis JB (1980) Data flow supercomputers. IEEE Comput 13(11):48–56
Dennis JB (1989) The paradigm compiler: mapping a functional language for the Connection Machine. In: Simon H (ed) Scientific applications of the connection machine, World Scientific, Singapore, pp 301–315
Karp RM, Miller RE (1966) Properties of a model for parallel computations: determinacy, termination, queuing. SIAM J Appl Math 14(6):1390–1411
Lee EA, Messerschmitt DG (1987) Synchronous data flow. Proc IEEE 75(9):1235–1245
McGraw JR (1982) The VAL language: description and analysis. ACM T Progr Lang Syst 4(1):44–82
McGraw JR, Skedzielewski SS, Allan R, Oldehoeft R, Glauert J, Kirkham C, Noyce B, Thomas R (1985) SISAL: streams and iteration in a single assignment language: reference manual version 1.2. Technical report M-146, Rev. 1. Lawrence Livermore National Laboratory, Livermore, CA
Nikhil R, Arvind A (2001) Implicit parallel programming in Ph. Morgan Kaufman, San Francisco, CA
Pingali K, Arvind A (1986, 1987) Efficient demand-driven evaluation. ACM T Progr Lang Syst 7(2):311–333 (Part 1), and 8(1): 109–139 (Part 2)
Rodriguez JE (1969) A graph model for parallel computations. MIT technical report ESL-R-398, and MAC-TR-64, Cambridge, MA
Sharp JA (1985) Data flow computing. Ellis Horwood, Chichester
Skedzielewski S, Glauert J (1985) IF1 – an intermediate form for applicative languages. Technical report M-170, Lawrence Livermore National Laboratory, Livermore, CA
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Dennis, J. (2011). Data Flow Graphs. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_294
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_294
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering