THE TOKEN FLOW MODEL

This paper reviews and extends an analytical model for the behavior of dataflow graphs with data-dependent control flow. The number of tokens produced or consumed by each actor is given as a symbolic function of the Booleans in the system. Long-term averages can be analyzed to determine consistency of token flow rates. Short-term behavior can be analyzed to construct an annotated schedule, or a static schedule that annotates each firing of an actor with the Boolean conditions under which that firing occurs. Necessary and sufficient conditions for bounded-length schedules, as well as sufficient conditions for determining that a dataflow graph can be scheduled in bounded memory are given. Annotated schedules can be used to generate efficient implementations of the algorithms described by the dataflow graphs.

[1]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[2]  Krishna M. Kavi,et al.  A Formal Definition of Data Flow Graph Models , 1986, IEEE Transactions on Computers.

[3]  Paul R. Kosinski,et al.  A straightforward denotational semantics for non-determinate data flow programs , 1978, POPL 1978.

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

[5]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[6]  Edward A. Lee,et al.  Gabriel: a design environment for DSP , 1989, IEEE Trans. Acoust. Speech Signal Process..

[7]  P. Le Guernic,et al.  Hybrid dynamical systems theory and the Signal language , 1990 .

[8]  Edward A. Lee,et al.  Static Scheduling of Synchronous Data Flow Programs for Digital Signal Processing , 1989, IEEE Transactions on Computers.

[9]  David E. Culler,et al.  Managing resources in a parallel machine , 1986 .

[10]  Yves Sorel,et al.  A Denotational Theory of Synchronous Reactive Systems , 1992, Inf. Comput..

[11]  Gilbert Christopher Sih,et al.  Multiprocessor scheduling to account for interprocessor communication , 1992 .

[12]  Edward A. Lee Consistency in Dataflow Graphs , 1991, IEEE Trans. Parallel Distributed Syst..

[13]  D. A. Turner The semantic elegance of applicative languages , 1981, FPCA '81.

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

[15]  P. Guernic,et al.  Data-flow to Von Neumann : the SIGNAL approach , 1990 .

[16]  H. T. Kung,et al.  Automatic Mapping Of Large Signal Processing Systems To A Parallel Machine , 1991, Optics & Photonics.

[17]  Keshav Pingali,et al.  Efficient demand-driven evaluation. Part 1 , 1985, TOPL.

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

[19]  Edward A. Lee,et al.  Scheduling synchronous dataflow graphs for efficient looping , 1993, J. VLSI Signal Process..

[20]  Albert Benveniste,et al.  Hybrid dynamical systems theory and the language "SIGNAL" , 1988 .