Parametric Throughput Analysis of Synchronous Data Flow Graphs

Synchronous data flow graphs (SDFGs) have proved to be a very successful tool for modeling, analysis and synthesis of multimedia applications targeted at both single- and multiprocessor platforms. One of the most prominent performance constraints of concurrent real-time applications is throughput. For given actor execution times, throughput can be verified by analyzing the SDFG models of such applications, for instance using maximum cycle mean analysis or state space analysis. In various contexts, such as design space exploration or run-time reconfiguration, many fast throughput computations are required for varying actor execution times. We present methods to compute throughput of an SDFG where actor execution times can be parameters. The throughput of these graphs is obtained in the form of a function of these parameters. Recalculation of throughput is then merely an evaluation of this function for specific parameter values, which is much faster than the standard throughput analysis. We propose three different algorithms for parametric throughput analysis and evaluate these algorithms experimentally, showing the feasibility of the approach and showing that a divide and conquer algorithm performs best.

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

[2]  Twan Basten,et al.  Task-level timing models for guaranteed performance in multiprocessor networks-on-chip , 2003, CASES '03.

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

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

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

[6]  Leonidas J. Guibas,et al.  The upper envelope of piecewise linear functions: Algorithms and applications , 2015, Discret. Comput. Geom..

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

[8]  Siddharth Garg,et al.  System-Level Process Variation Driven Throughput Analysis for Single and Multiple Voltage-Frequency Island Designs , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[9]  Twan Basten,et al.  Execution-time Prediction for Dynamic Streaming Applications with Task-level Parallelism , 2007, 10th Euromicro Conference on Digital System Design Architectures, Methods and Tools (DSD 2007).

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

[11]  Soonhoi Ha,et al.  Fractional Rate Dataflow Model for Efficient Code Synthesis , 2004, J. VLSI Signal Process..

[12]  Donald B. Johnson,et al.  Finding All the Elementary Circuits of a Directed Graph , 1975, SIAM J. Comput..

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

[14]  Twan Basten,et al.  Execution-time Prediction for Dynamic Streaming Applications with Task-level Parallelism , 2007 .

[15]  S. Stuijk Predictable mapping of streaming applications on multiprocessors , 2007 .

[16]  Sander Stuijk,et al.  Multiprocessor Resource Allocation for Throughput-Constrained Synchronous Dataflow Graphs , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[17]  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.

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

[19]  Z. Peng Parametric throughput analysis of synchronous data flow , 2009 .