A rule-based quasi-static scheduling approach for static islands in dynamic dataflow graphs

In this article, an efficient rule-based clustering algorithm for static dataflow subgraphs in a dynamic dataflow graph is presented. The clustered static dataflow actors are quasi-statically scheduled, in such a way that the global performance in terms of latency and throughput is improved compared to a dynamically scheduled execution, while avoiding the introduction of deadlocks as generated by naive static scheduling approaches. The presented clustering algorithm outperforms previously published approaches by a faster computation and more compact representation of the derived quasi-static schedule. This is achieved by a rule-based approach, which avoids an explicit enumeration of the state space. A formal proof of the correctness of the presented clustering approach is given. Experimental results show significant improvements in both, performance and code size, compared to a state-of-the-art clustering algorithm.

[1]  Seth Copen Goldstein,et al.  C to Asynchronous Dataflow Circuits: An End-to-End Toolflow , 2004 .

[2]  Lothar Thiele,et al.  Mapping Applications to Tiled Multiprocessor Embedded Systems , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[3]  Ed F. Deprettere,et al.  A framework for rapid system-level exploration, synthesis, and programming of multimedia MP-SoCs , 2007, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS).

[4]  Edward A. Lee,et al.  Generating compact code from dataflow specifications of multirate signal processing algorithms , 1995, IEEE Transactions on Circuits and Systems I Fundamental Theory and Applications.

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

[6]  Christian Haubelt,et al.  Electronic System-Level Synthesis Methodologies , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Luciano Lavagno,et al.  Quasi-Static Scheduling of Embedded Software Using Equal Conflict Nets , 1999, ICATPN.

[8]  Christian Haubelt,et al.  A SystemC-Based Design Methodology for Digital Signal Processing Systems , 2007, EURASIP J. Embed. Syst..

[9]  Shuvra S. Bhattacharyya,et al.  Mode grouping for more effective generalized scheduling of dynamic dataflow applications , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[10]  Shuvra S. Bhattacharyya,et al.  A generalized scheduling approach for dynamic dataflow applications , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[11]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State-Space Exploration , 2001, Formal Methods Syst. Des..

[12]  L. Thiele,et al.  Multiprocessor SoC software design flows , 2009, IEEE Signal Processing Magazine.

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

[14]  Yunheung Paek,et al.  A retargetable parallel-programming framework for MPSoC , 2008, TODE.

[15]  Christian Haubelt,et al.  A generalized static data flow clustering algorithm for mpsoc scheduling of multimedia applications , 2008, EMSOFT '08.

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

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

[18]  Edward A. Lee The problem with threads , 2006, Computer.

[19]  Rainer Leupers,et al.  Software synthesis and code generation for signal processing systems , 2000 .

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

[21]  Shuvra S. Bhattacharyya,et al.  Cycle-Breaking Techniques for Scheduling Synchronous Dataflow Graphs , 2007 .

[22]  Johan Eker,et al.  CAL language report: Specification of the CAL actor language , 2003 .

[23]  Soonhoi Ha,et al.  Software synthesis for dynamic data flow graph , 1997, Proceedings 8th IEEE International Workshop on Rapid System Prototyping Shortening the Path from Specification to Prototype.

[24]  Robert K. Brayton,et al.  Partial-Order Reduction in Symbolic State Space Exploration , 1997, CAV.

[25]  Mickaël Raulet,et al.  Exploiting Statically Schedulable Regions in Dataflow Programs , 2009, 2009 IEEE International Conference on Acoustics, Speech and Signal Processing.

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

[27]  Edward A. Lee,et al.  Scheduling dynamic dataflow graphs with bounded memory using the token flow model , 1993, 1993 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[28]  Soonhoi Ha,et al.  PeaCE: A hardware-software codesign environment for multimedia embedded systems , 2008, TODE.

[29]  Edward A. Lee,et al.  APGAN and RPMC: Complementary Heuristics for Translating DSP Block Diagrams into Efficient Software Implementations , 1997, Des. Autom. Embed. Syst..

[30]  Todor Stefanov,et al.  Throughput modeling to evaluate process merging transformations in polyhedral process networks , 2010, 2010 Design, Automation & Test in Europe Conference & Exhibition (DATE 2010).

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

[32]  Christian Haubelt,et al.  A rule-based static dataflow clustering algorithm for efficient embedded software synthesis , 2011, 2011 Design, Automation & Test in Europe.

[33]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

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

[35]  Shuvra S. Bhattacharyya,et al.  Efficient techniques for clustering and scheduling onto embedded multiprocessors , 2006, IEEE Transactions on Parallel and Distributed Systems.