Scheduling dynamic dataflow graphs with bounded memory using the token flow model

The authors build upon research by E. A. Lee (1991) concerning the token flow model, an analytical model for the behavior of dataflow graphs with data-dependent control flow, by analyzing the properties of cycles of the schedule: sequences of actor executions that return the graph to its initial state. Necessary and sufficient conditions are given for the existence of a bounded cyclic schedule as well as sufficient conditions for execution of the graph in bounded memory. The techniques presented apply to a more general class of dataflow graphs than previous methods.<<ETX>>

[1]  Arthur B. Maccabe,et al.  The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages , 1990, PLDI '90.

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

[3]  Soonhoi Ha,et al.  Compile-time scheduling of dataflow program graphs with dynamic constructs , 1992 .

[4]  William W. Wadge,et al.  Lucid, a nonprocedural language with iteration , 1977, CACM.

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

[6]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[7]  Edward A. Lee Consistency in dataflow graphs , 1991, Proceedings of the International Conference on Application Specific Array Processors.

[8]  Guang R. Gao,et al.  Design of an Efficient Dataflow Architecture without Data Flow , 1988, Fifth Generation Computer Systems.

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

[10]  George Boolos,et al.  Computability and logic , 1974 .

[11]  S. Ramesh,et al.  Communicating reactive processes , 1993, POPL '93.

[12]  John Malpas,et al.  Prolog - a relational language and its applications , 1987 .

[13]  Margaret M. Burnett,et al.  Operational versus definitional: a perspective on programming paradigms , 1992, Computer.

[14]  Edward A. Lee,et al.  Direct synthesis of optimized DSP assembly code from signal flow block diagrams , 1992, [Proceedings] ICASSP-92: 1992 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[15]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[16]  Joseph T Buck Scheduling Dynamic Dataflow Graphs with Bounded Memory , 1993 .

[17]  James Lyle Peterson,et al.  Petri net theory and the modeling of systems , 1981 .

[18]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

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

[20]  T. Kuhn,et al.  The Structure of Scientific Revolutions. , 1964 .

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

[22]  P. David Stotts The PFG Language: Visual Programming for Concurrent Computation , 1988, ICPP.

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

[24]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[25]  V. Gerald Grafe,et al.  The Epsilon-2 hybrid dataflow architecture , 1990, Digest of Papers Compcon Spring '90. Thirty-Fifth IEEE Computer Society International Conference on Intellectual Leverage.

[26]  Peter J. Denning,et al.  Machines, Languages, And Computation , 1978 .

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

[28]  Thomas P. Barnwell,et al.  Optimal automatic periodic multiprocessor scheduler for fully specified flow graphs , 1993, IEEE Trans. Signal Process..

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

[30]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[31]  John Feo,et al.  The SISAL 2. 0 reference manual , 1991 .

[32]  Gregory M. Papadopoulos,et al.  Implementation of a general purpose dataflow multiprocessor , 1991 .

[33]  David G. Messerschmitt,et al.  A Tool for Structured Functional Simulation , 1984, IEEE Journal on Selected Areas in Communications.

[34]  Donald Yeung,et al.  Sparcle: an evolutionary processor design for large-scale multiprocessors , 1993, IEEE Micro.

[35]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[36]  Edward A. Lee,et al.  Compile-Time Scheduling and Assignment of Data-Flow Program Graphs with Data-Dependent Iteration , 1991, IEEE Trans. Computers.

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

[38]  Miodrag Potkonjak,et al.  Fast prototyping of datapath-intensive architectures , 1991, IEEE Design & Test of Computers.

[39]  Dirk Desmet,et al.  ASSYNT: efficient assembly code generation for digital signal processors starting from a data flowgraph , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

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

[41]  Guang R. Gao,et al.  Well-behaved dataflow programs for DSP computation , 1992, [Proceedings] ICASSP-92: 1992 IEEE International Conference on Acoustics, Speech, and Signal Processing.

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

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

[44]  Mark N. Wegman,et al.  An efficient method of computing static single assignment form , 1989, POPL '89.

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

[46]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

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

[48]  A. Church A Set of Postulates for the Foundation of Logic , 1932 .

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

[50]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

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

[52]  Edward A. Lee,et al.  Hardware/software co-design using Ptolemy-a case study , 1992 .

[53]  David E. Culler,et al.  Managing parallelism and resources in scientific dataflow programs , 1989 .

[54]  Jack B. Dennis,et al.  A preliminary architecture for a basic data-flow processor , 1974, ISCA '75.

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

[56]  John G. Proakis,et al.  Digital Communications , 1983 .

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

[58]  J. Pulido A Brief History of Time From the Big Bang to Black Holes , 1988 .

[59]  Jan M. Rabaey,et al.  Scheduling of DSP programs onto multiprocessors for maximum throughput , 1993, IEEE Trans. Signal Process..

[60]  Kenneth R. Traub,et al.  Multi-thread Code Generation for Dataflow Architectures from Non-Strict Programs , 1991, FPCA.

[61]  Paul Hudak,et al.  Conception, evolution, and application of functional programming languages , 1989, CSUR.

[62]  Shuvra S. Bhattacharyya A COMPILER SCHEDULING FRAMEWORK FOR MINIMIZING MEMORY REQUIREMENTS OF MULTIRATE DSP SYSTEMS REPRESENTED AS DATAFLOW GRAPHS , 1993 .

[63]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[64]  Mitsuhisa Sato,et al.  Thread-based programming for the EM-4 hybrid dataflow machine , 1992, ISCA '92.

[65]  Edward A. Lee,et al.  Software synthesis for DSP using ptolemy , 1995, J. VLSI Signal Process..

[66]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[67]  A. Richard Newton,et al.  Data-Flow/Event Graphs , 1992 .

[68]  John W. Backus,et al.  Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs , 1978, CACM.

[69]  Jack B. Dennis,et al.  Data Flow Supercomputers , 1980, Computer.

[70]  Edward A. Lee,et al.  Multirate signal processing in Ptolemy , 1991, [Proceedings] ICASSP 91: 1991 International Conference on Acoustics, Speech, and Signal Processing.

[71]  Edward A. Lee,et al.  Ptolemy: A Mixed-Paradigm Simulation/Prototyping Platform in C , 1991 .

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

[73]  Edward A. Ashcroft,et al.  Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

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

[75]  Kurt Paulus A Brief History of Time: From the Big Bang to Black Holes , 1988 .

[76]  Heinrich Meyr,et al.  Optimum vectorization of scalable synchronous dataflow graphs , 1993, Proceedings of International Conference on Application Specific Array Processors (ASAP '93).

[77]  Edward A. Lee,et al.  Scheduling strategies for multiprocessor real-time DSP , 1989, IEEE Global Telecommunications Conference, 1989, and Exhibition. 'Communications Technology for the 1990s and Beyond.

[78]  R. Karp,et al.  Properties of a model for parallel computations: determinacy , 1966 .

[79]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[80]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

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

[82]  S. Hawking A Brief History of Time: From the Big Bang to Black Holes , 1988 .

[83]  A. L. Davis,et al.  The architecture and system method of DDM1: A recursively structured Data Driven Machine , 1978, ISCA '78.

[84]  Werner E. Kluge The Organization of Reduction, Data Flow, and Control Flow Systems , 1992 .

[85]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[86]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..