Modeling pipelined application with Synchronous Data Flow graphs

Streaming applications can efficiently exploit multiprocessors architectures by means of pipelined parallelism, but designing this type of applications can be an hard task. Different subproblems have indeed to be solved: partitioning, mapping, scheduling and pipeline stage assignment. For this reason, high level abstraction models are adopted during design flow since they simplify this process by hiding most of the architectural details. Synchronous Data Flow (SDF) graphs, widely adopted to describe streaming applications, naturally model only their partitioning, so they usually have to be integrated with other types of representations. In this paper Pipelined Application Modeling (PAM), a methodology to create a Synchronous Data Flow graph describing all the aspects of a pipelined application, is presented. The methodology starts from the SDF graph describing the partitioning of the application and enriches it with new actors and channels detailing the mapping, the scheduling and the pipeline stage assignment of the considered solution. The obtained SDF graph, describing all the aspects of the solution in a formal and compact way, facilitates the evaluation of different solutions during design space exploration.

[1]  Shuvra S. Bhattacharyya,et al.  A Model-Based Schedule Representation for Heterogeneous Mapping of Dataflow Graphs , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

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

[3]  Ed F. Deprettere,et al.  Dynamic and Multidimensional Dataflow Graphs , 2010, Handbook of Signal Processing Systems.

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

[5]  Hai Zhou,et al.  Buffer minimization in pipelined SDF scheduling on multi-core platforms , 2012, 17th Asia and South Pacific Design Automation Conference.

[6]  William J. Dally,et al.  Buffer-space efficient and deadlock-free scheduling of stream applications on multi-core architectures , 2010, SPAA '10.

[7]  Albert Cohen,et al.  A Stream-Comptuting Extension to OpenMP , 2010, IWOMP 2010.

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

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

[10]  Albert Cohen,et al.  A stream-computing extension to OpenMP , 2011, HiPEAC.

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

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

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

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

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

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

[17]  Rafael Asenjo,et al.  Analytical Modeling of Pipeline Parallelism , 2009, 2009 18th International Conference on Parallel Architectures and Compilation Techniques.

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