On the analysis of synchronous dataflow graphs: a system-theoretic perspective

Synchronous dataflow (SDF) is a graphical model of computation in which sequential process communicate through first-in-first-out (FIFO) channels, where the amount of data produced onto and consumed from each channel is known a priori. These models find their application in the analysis of stream processing systems, which operate in real-time: they must meet strict latency and/or throughput constraints. Temporal analysis of SDF models allows one to give guarantees on the performance characteristics of the system that is modelled. As such, temporal analysis may be used to verify whether the system meets the latency and throughput constraints. Existing approaches to temporal analysis are poorly scalable, and can be classified into two main schools of thought. The first approaches the analysis using exact semantics, and the other approximates these semantics. Exact semantics give rise to algorithms that require time exponential in the size of the graph. Approximations lead to polynomial time-complexity, but this comes at the expense of a loss in accuracy. Moreover, this loss in accuracy can not be assessed by current methods. A natural solution to the poor scalability of existing methods is to combine them into a method that balances computational complexity with accuracy. However, since existing methods operate on different levels of abstraction, their unification is far from trivial. This thesis presents a unification of these two existing approaches to temporal analysis, in the form of an incremental analysis of SDF graphs. In our approach, we start with a rough estimation derived from an approximation of the graph, and subsequently improve this estimation through a set of graph transformations. Underlying our approach is a fundamental characterisation of the temporal dynamics of an SDF graph, in max-plus algebra. We furthermore evaluate our method by comparing its results with existing state-of-the-art methods, on an extensive benchmark set. Results show that our approach successfully balances computational complexity with accuracy.

[1]  Henk Corporaal,et al.  Scenario Selection and Prediction for DVS-Aware Scheduling of Multimedia Applications , 2008, J. Signal Process. Syst..

[2]  S.S. Bhattacharyya,et al.  A hierarchical multiprocessor scheduling system for DSP applications , 1995, Conference Record of The Twenty-Ninth Asilomar Conference on Signals, Systems and Computers.

[3]  Keshab K. Parhi,et al.  Determining the iteration bounds of single-rate and multi-rate data-flow graphs , 1994, Proceedings of APCCAS'94 - 1994 Asia Pacific Conference on Circuits and Systems.

[4]  J. Boimond,et al.  Just-in-time control of time-varying discrete event dynamic systems in (max,+) algebra , 2008 .

[5]  Sander Stuijk,et al.  Liveness and Boundedness of Synchronous Data Flow Graphs , 2006, 2006 Formal Methods in Computer Aided Design.

[6]  S.S. Bhattacharyya,et al.  Dataflow Transformations in High-level DSP System Design , 2006, 2006 International Symposium on System-on-Chip.

[7]  Heinrich Meyr,et al.  High level software synthesis for signal processing systems , 1992, [1992] Proceedings of the International Conference on Application Specific Array Processors.

[8]  Mohamed Benazouz,et al.  Cyclo-static DataFlow phases scheduling optimization for buffer sizes minimization , 2013, M-SCOPES.

[9]  M. Terashima,et al.  The earlier the better? , 2014, Gastric Cancer.

[10]  Gerard J. M. Smit,et al.  Efficient Computation of Buffer Capacities for Cyclo-Static Dataflow Graphs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[11]  Richard M. Karp,et al.  Parametric shortest path algorithms with an application to cyclic staffing , 1981, Discret. Appl. Math..

[12]  Olivier Marchetti,et al.  A sufficient condition for the liveness of weighted event graphs , 2009, Eur. J. Oper. Res..

[13]  Maarten Wiggers,et al.  Compositional temporal analysis model for incremental hard real-time system design , 2012, EMSOFT '12.

[14]  D. Meyer A new class of shift-varying operators, their shift-invariant equivalents, and multirate digital systems , 1990 .

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

[16]  Alexander H. Levis,et al.  Timed Event-Graph and Performance Evaluation of Systems, , 1987 .

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

[18]  Ulrik Brandes,et al.  Efficient generation of large random networks. , 2005, Physical review. E, Statistical, nonlinear, and soft matter physics.

[19]  Heinrich Meyr,et al.  Scheduling for optimum data memory compaction in block diagram oriented software synthesis , 1995, 1995 International Conference on Acoustics, Speech, and Signal Processing.

[20]  Gerard J. M. Smit,et al.  Efficient computation of buffer capacities for multi-rate real-time systems with back-pressure , 2006, Proceedings of the 4th International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS '06).

[21]  Jean-Louis Boimond,et al.  On Modeling and Control of Discrete Timed Event Graphs with Multipliers Using (min, +) Algebra , 2004, ICINCO.

[22]  Sander Stuijk,et al.  SDF^3: SDF For Free , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[23]  Gerard J. M. Smit,et al.  Efficient Computation of Buffer Capacities for Cyclo-Static Real-Time Systems with Back-Pressure , 2006, 13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07).

[24]  Sander Stuijk,et al.  A scenario-aware data flow model for combined long-run average and worst-case performance analysis , 2006, Fourth ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2006. MEMOCODE '06. Proceedings..

[25]  Olivier Marchetti,et al.  Complexity results for Weighted Timed Event Graphs , 2010, Discret. Optim..

[26]  Piotr Chrzastowski-Wachtel,et al.  Liveness of Weighted Circuits and the Diophantine Problem of Frobenius , 1993, FCT.

[27]  E.A. Lee,et al.  A comparison of synchronous and cycle-static dataflow , 1995, Conference Record of The Twenty-Ninth Asilomar Conference on Signals, Systems and Computers.

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

[29]  S. Irani,et al.  Efficient algorithms for optimum cycle mean and optimum cost to time ratio problems , 1999, Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361).

[30]  Jean A. Peperstraete,et al.  Cycle-static dataflow , 1996, IEEE Trans. Signal Process..

[31]  Lothar Thiele,et al.  Modular performance analysis of cyclic dataflow graphs , 2009, EMSOFT '09.

[32]  A. H. Ghamarian Timing analysis of synchronous data flow graphs , 2008 .

[33]  Sander Stuijk,et al.  Worst-case performance analysis of Synchronous Dataflow scenarios , 2010, 2010 IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[34]  Raymond Reiter,et al.  Scheduling Parallel Computations , 1968, J. ACM.

[35]  C. Barnes,et al.  Multirate recursive digital filters--A general approach and block structures , 1983 .

[36]  Edward Ashford Lee A coupled hardware and software architecture for programmable digital signal processors (synchronous data flow) , 1986 .

[37]  Geert Jan Olsder,et al.  Max Plus at Work: Modeling and Analysis of Synchronized Systems: A Course on Max-Plus Algebra and Its Applications , 2005 .

[38]  Keshab K. Parhi,et al.  Determining the minimum iteration period of an algorithm , 1995, J. VLSI Signal Process..

[39]  Didier Dubois,et al.  A linear-system-theoretic view of discrete-event processes , 1983 .

[40]  Amir Pnueli,et al.  Marked Directed Graphs , 1971, J. Comput. Syst. Sci..

[41]  Ali Dasdan,et al.  Experimental analysis of the fastest optimum cycle ratio and mean algorithms , 2004, TODE.

[42]  J. Quadrat,et al.  Numerical Computation of Spectral Elements in Max-Plus Algebra☆ , 1998 .

[43]  Bruno Bodin,et al.  Analyse d'Applications Flot de Données pour la Compilation Multiprocesseur , 2013 .

[44]  Thomas W. Parks,et al.  Linear periodic systems and multirate filter design , 1994, IEEE Trans. Signal Process..

[45]  Jean-Marc Delosme,et al.  Fast and efficient dataflow graph generation , 2014, SCOPES.

[46]  Ronald L. Graham,et al.  Concrete Mathematics, a Foundation for Computer Science , 1991, The Mathematical Gazette.

[47]  Maarten Wiggers,et al.  Aperiodic multiprocessor scheduling for real-time stream processing applications , 2009 .

[48]  M. Sharir,et al.  A strong-connectivity algorithm and its applications in data flow analysis. , 2018 .

[49]  Marc Geilen,et al.  Synchronous dataflow scenarios , 2010, TECS.

[50]  Keshab K. Parhi,et al.  Algorithm transformation techniques for concurrent processors , 1989, Proc. IEEE.

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

[52]  Olivier Marchetti,et al.  Minimizing Place Capacities of Weighted Event Graphs for Enforcing Liveness , 2008, Discret. Event Dyn. Syst..

[53]  Marc Geilen,et al.  Reduction techniques for Synchronous Dataflow graphs , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[54]  Mohamed Benazouz,et al.  A new method for minimizing buffer sizes for Cyclo-Static Dataflow graphs , 2010, 2010 8th IEEE Workshop on Embedded Systems for Real-Time Multimedia.

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

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

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

[58]  J. Quadrat,et al.  Algebraic tools for the performance evaluation of discrete event systems , 1989, Proc. IEEE.

[59]  William Thies,et al.  Phased Computation Graphs in the Polyhedral Model , 2002 .

[60]  Mohamed Benazouz,et al.  Liveness evaluation of a Cyclo-Static DataFlow Graph , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

[61]  MengChu Zhou,et al.  Multiple-Weighted Marked Graphs , 1993 .

[62]  Bertrand Cottenceau,et al.  Modeling of Time-Varying (max, +) Systems by Means of Weighted Timed Event Graphs , 2014, WODES.

[63]  Benoît Dupont de Dinechin,et al.  K-Periodic schedules for evaluating the maximum throughput of a Synchronous Dataflow graph , 2012, 2012 International Conference on Embedded Computer Systems (SAMOS).

[64]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[65]  Jan Vitek,et al.  Affine Data-Flow Graphs for the Synthesis of Hard Real-Time Applications , 2012, 2012 12th International Conference on Application of Concurrency to System Design.

[66]  Edward A. Lee,et al.  Synthesis of Embedded Software from Synchronous Dataflow Specifications , 1999, J. VLSI Signal Process..

[67]  Sander Stuijk,et al.  Throughput Analysis of Synchronous Data Flow Graphs , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[68]  Benoît Dupont de Dinechin,et al.  Periodic schedules for Cyclo-Static Dataflow , 2013, The 11th IEEE Symposium on Embedded Systems for Real-time Multimedia.

[69]  Henk Corporaal,et al.  Scheduling Real-Time Streaming Applications onto an Embedded Multiprocessor , 2013 .

[70]  Pascal Aubry,et al.  An Approximate Method for Throughput Evaluation of Cyclo-static Dataflow Programs , 2014, 2014 Eighth International Conference on Complex, Intelligent and Software Intensive Systems.

[71]  Manuel Silva Suárez,et al.  On Weighted T-Systems , 1992, Application and Theory of Petri Nets.

[72]  Soonhoi Ha,et al.  Decidable Dataflow Models for Signal Processing: Synchronous Dataflow and Its Extensions , 2013, Handbook of Signal Processing Systems.

[73]  J. Quadrat,et al.  Max-Plus Algebra and System Theory: Where We Are and Where to Go Now , 1999 .

[74]  Raymond R. Devillers,et al.  State space axioms for T-systems , 2015, Acta Informatica.

[75]  Heinrich Meyr,et al.  An upper bound of the throughput of multirate multiprocessor schedules , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

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

[77]  C. Leake Synchronization and Linearity: An Algebra for Discrete Event Systems , 1994 .

[78]  S. M. Heemstra de Groot,et al.  A polynomial time algorithm for the computation of the iteration-period bound in recursive data flow graphs , 1992 .

[79]  Robert E. Tarjan,et al.  Faster parametric shortest path and minimum-balance algorithms , 1991, Networks.

[80]  Sander Stuijk,et al.  Modeling static-order schedules in synchronous dataflow graphs , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[81]  Shuvra S. Bhattacharyya,et al.  Partial Expansion Graphs: Exposing Parallelism and Dynamic Scheduling Opportunities for DSP Applications , 2012, 2012 IEEE 23rd International Conference on Application-Specific Systems, Architectures and Processors.

[82]  Olivier Marchetti,et al.  Periodic Schedules for Bounded Timed Weighted Event Graphs , 2012, IEEE Transactions on Automatic Control.

[83]  Edward A. Lee,et al.  Multidimensional synchronous dataflow , 2002, IEEE Trans. Signal Process..

[84]  S. Kohl A simple group generated by involutions interchanging residue classes of the integers , 2010 .

[85]  Shuvra S. Bhattacharyya,et al.  Intermediate Representations for Design Automation of Multiprocessor DSP Systems , 2002, Des. Autom. Embed. Syst..

[86]  Bertrand Cottenceau,et al.  Modeling and Control of Weight-Balanced Timed Event Graphs in Dioids , 2014, IEEE Transactions on Automatic Control.

[87]  Rudy Lauwereins,et al.  Cycle-static dataflow: model and implementation , 1994, Proceedings of 1994 28th Asilomar Conference on Signals, Systems and Computers.

[88]  Keshab K. Parhi,et al.  Static Rate-Optimal Scheduling of Iterative Data-Flow Programs via Optimum Unfolding , 1991, IEEE Trans. Computers.

[89]  Shuvra S. Bhattacharyya,et al.  Embedded Multiprocessors: Scheduling and Synchronization , 2000 .

[90]  Sander Stuijk,et al.  Throughput-Buffering Trade-Off Exploration for Cyclo-Static and Synchronous Dataflow Graphs , 2008, IEEE Transactions on Computers.

[91]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[92]  Manuel Silva,et al.  Cycle time computation in deterministically timed weighted marked graphs , 1999, 1999 7th IEEE International Conference on Emerging Technologies and Factory Automation. Proceedings ETFA '99 (Cat. No.99TH8467).

[93]  James B. Orlin,et al.  Finding minimum cost to time ratio cycles with small integral transit times , 1993, Networks.

[94]  G. Cohen,et al.  Timed-event graphs with multipliers and homogeneous min-plus systems , 1998, IEEE Trans. Autom. Control..

[95]  Sander Stuijk,et al.  Exploring trade-offs in buffer requirements and throughput constraints for synchronous dataflow graphs , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[96]  Edward A. Lee Representing and exploiting data parallelism using multidimensional dataflow diagrams , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[97]  Timothy W. O'Neil UNFOLDING SYNCHRONOUS DATA-FLOW GRAPHS , 2011 .

[98]  Henk Corporaal,et al.  Worst-case throughput analysis of real-time dynamic streaming applications , 2012, CODES+ISSS '12.