The Semantics of Dataflow with Firing

Dataflow models of computation have intrigued computer scientists since the 1970s. They were first introduced by Jack Dennis as a basis for parallel programming languages and architectures, and by Gilles Kahn as a model of concurrency. Interest in these models of computation has been recently rekindled by the resurrection of parallel computing, due to the emergence of multicore architectures. However, Dennis and Kahn approached dataflow very differently. Dennis’ approach was based on an operational notion of atomic firings driven by certain firing rules. Kahn’s approach was based on a denotational notion of processes as continuous functions on infinite streams. This paper bridges the gap between these two points of view, showing that sequences of firings define a continuous Kahn process as the least fixed point of an appropriately constructed functional. The Dennis firing rules are sets of finite prefixes satisfying certain conditions that ensure determinacy. These conditions result in firing rules that are strictly more general than the blocking reads of the Kahn-MacQueen implementation of Kahn process networks, and solve some compositionality problems in the dataflow model.

[1]  Carolyn L. Talcott,et al.  Interaction Semantics for Components of Distributed Systems , 1997 .

[2]  Gérard Berry Bottom-Up Computation of Recursive Programs , 1976, RAIRO Theor. Informatics Appl..

[3]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[4]  Mache Creeger,et al.  Multicore CPUs for the Masses , 2005, QUEUE.

[5]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[6]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[7]  David Roberts,et al.  Distributed process networks in Java , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[8]  Manfred Broy,et al.  Functional specification of time-sensitive communicating systems , 1993, TSEM.

[9]  Vason P. Srini,et al.  An Architectural Comparison of Dataflow Systems , 1986, Computer.

[10]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[11]  Fuat Keceli,et al.  DIF: An Interchange Format for Dataflow-Based Design Tools , 2004, SAMOS.

[12]  Brian A. Davey,et al.  An Introduction to Lattices and Order , 1989 .

[13]  Brian L. Evans,et al.  Deadlock detection for distributed process networks , 2005, Proceedings. (ICASSP '05). IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005..

[14]  Paul Caspi Clocks in Dataflow Languages , 1992, Theor. Comput. Sci..

[15]  Manfred Broy,et al.  The algebra of stream processing functions , 2001, Theor. Comput. Sci..

[16]  Axel Jantsch,et al.  Models of computation and languages for embedded system design , 2005 .

[17]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

[18]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[19]  Robert Stephens,et al.  A survey of stream processing , 1997, Acta Informatica.

[20]  William Thies,et al.  Teleport messaging for distributed stream programs , 2005, PPoPP.

[21]  Jack B. Dennis,et al.  First version of a data flow procedure language , 1974, Symposium on Programming.

[22]  Trevor Mudge,et al.  SPEX: A Programming Language for Software Defined Radio , 2006 .

[23]  William Thies,et al.  StreamIt: A Language for Streaming Applications , 2002, CC.

[24]  Anders P. Ravn,et al.  Automated distributed simulation in PTOLEMY II , 2007, Parallel and Distributed Computing and Networks.

[25]  Nicolas Halbwachs,et al.  Data-Flow Synchronous Languages , 1993, REX School/Symposium.

[26]  Dana S. Scott,et al.  Outline of a Mathematical Theory of Computation , 1970 .

[27]  Alexandru Turjan,et al.  Solving Out-of-Order Communication in Kahn Process Networks , 2002, J. VLSI Signal Process..

[28]  S. G. Matthews,et al.  An Extensional Treatment of Lazy Data Flow Deadlock , 1995, Theor. Comput. Sci..

[29]  Eugene W. Stark,et al.  An Algebra of Dataflow Networks , 1995, Fundam. Informaticae.