Throughput Constraint for Synchronous Data Flow Graphs

Stream (data-flow) computing is considered an effective para-digm for parallel programming of high-end multi-core architectures for embedded applications (networking, multimedia, wireless communication). Our work addresses a key step in stream programming for embedded multicores, namely, the efficient mapping of a synchronous data-flow graph (SDFG) onto a multi-core platform subject to a minimum throughput requirement. This problem has been extensively studied in the past, and its complexity has lead researches to develop incomplete algorithms which cannot exclude false negatives. We developed a CP-based complete algorithm based on a new throughput-bounding constraint. The algorithm has been tested on a number of non-trivial SDFG mapping problems with promising results.

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

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

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

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

[5]  M. Suzuoki,et al.  Overview of the architecture, circuit design, and physical implementation of a first-generation cell processor , 2006, IEEE Journal of Solid-State Circuits.

[6]  Edward A. Lee,et al.  Software Synthesis from Dataflow Graphs , 1996 .

[7]  Stephen F. Smith,et al.  From precedence constraint posting to partial order schedules: A CSP approach to Robust Scheduling , 2007, AI Commun..

[8]  Maurizio Paganini Nomadik®: AMobile Multimedia Application Processor Platform , 2007, 2007 Asia and South Pacific Design Automation Conference.

[9]  Peter van der Stok Dynamic and Robust Streaming in and between Connected Consumer-Electronic Devices , 2011 .

[10]  Edward A. Lee,et al.  Determining the Order of Processor Transactions in Statically Scheduled Multiprocessors , 1997, J. VLSI Signal Process..

[11]  Ahmed Amine Jerraya,et al.  Roundtable: Envisioning the Future for Multiprocessor SoC , 2007, IEEE Des. Test Comput..

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

[13]  Michel Gendreau,et al.  An Exact Constraint Logic Programming Algorithm for the Traveling Salesman Problem with Time Windows , 1998, Transp. Sci..

[14]  Paul M. Chau,et al.  Vlsi Signal Processing II , 1986 .

[15]  Mike Muller Embedded Processing at the Heart of Life and Style , 2008, 2008 IEEE International Solid-State Circuits Conference - Digest of Technical Papers.

[16]  John Goodacre,et al.  Parallelism and the ARM instruction set architecture , 2005, Computer.

[17]  David Wentzlaff,et al.  Processor: A 64-Core SoC with Mesh Interconnect , 2010 .

[18]  Orlando Moreira,et al.  Multiprocessor resource allocation for hard-real-time streaming with a dynamic job-mix , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

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

[20]  Rajesh K. Gupta,et al.  Faster maximum and minimum mean cycle algorithms for system-performance analysis , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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