Exploiting Statically Schedulable Regions in Dataflow Programs

Dataflow descriptions have been used in a wide range of Digital Signal Processing (DSP) applications, such as multi-media processing, and wireless communications. Among various forms of dataflow modeling, Synchronous Dataflow (SDF) is geared towards static scheduling of computational modules, which improves system performance and predictability. However, many DSP applications do not fully conform to the restrictions of SDF modeling. More general dataflow models, such as CAL [1], have been developed to describe dynamically-structured DSP applications. Such generalized models can express dynamically changing functionality, but lose the powerful static scheduling capabilities provided by SDF. This paper focuses on detection of SDF-like regions in dynamic dataflow descriptions — in particular, in the generalized specification framework of CAL. This is an important step for applying static scheduling techniques within a dynamic dataflow framework. Our techniques combine the advantages of different dataflow languages and tools, including CAL [1], DIF [2] and CAL2C [3]. The techniques are demonstrated on the IDCT module of MPEG Reconfigurable Video Coding (RVC).

[1]  Richard Sharp,et al.  Task Partitioning for Multi-core Network Processors , 2005, CC.

[2]  Hui Wang,et al.  Tasks mapping in multi-core based system: hybrid ACOaGA approach , 2003, ASICON 2003.

[3]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

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

[5]  Edward A. Lee,et al.  THE TOKEN FLOW MODEL , 2011 .

[6]  Ghislain Roquier,et al.  Code generation for the MPEG Reconfigurable Video Coding framework: From CAL actions to C functions , 2008, 2008 IEEE International Conference on Multimedia and Expo.

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

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

[9]  Mickaël Raulet,et al.  Overview of the MPEG Reconfigurable Video Coding Framework , 2011, J. Signal Process. Syst..

[10]  Johan Eker,et al.  Efficient realization of a cal video decoder on a mobile terminal (position paper) , 2008, 2008 IEEE Workshop on Signal Processing Systems.

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

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

[13]  Ghislain Roquier,et al.  Automatic software synthesis of dataflow program: An MPEG-4 simple profile decoder case study , 2008, 2008 IEEE Workshop on Signal Processing Systems.

[14]  Shuvra S. Bhattacharyya,et al.  Functional DIF for Rapid Prototyping , 2008, 2008 The 19th IEEE/IFIP International Symposium on Rapid System Prototyping.

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

[16]  Christophe Lucarz,et al.  Reconfigurable Media Coding: A New Specification Model for Multimedia Coders , 2007, 2007 IEEE Workshop on Signal Processing Systems.

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

[18]  Ed F. Deprettere,et al.  Parameterized Looped Schedules for Compact Representation of Execution Sequences in DSP Hardware and Software Implementation , 2007, IEEE Transactions on Signal Processing.

[19]  Stavros Tripakis,et al.  Translating data flow to synchronous block diagrams , 2008, 2008 IEEE/ACM/IFIP Workshop on Embedded Systems for Real-Time Multimedia.

[20]  Mickaël Raulet,et al.  OpenDF: a dataflow toolset for reconfigurable hardware and multicore systems , 2008, CARN.

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

[22]  Ed F. Deprettere,et al.  Modeling Stream-Based Applications Using the SBF Model of Computation , 2001, J. VLSI Signal Process..

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

[24]  Philip Brisk,et al.  Scheduling of dataflow models within the Reconfigurable Video Coding framework , 2008, 2008 IEEE Workshop on Signal Processing Systems.

[25]  Shuvra S. Bhattacharyya,et al.  Porting DSP applications across design tools using the dataflow interchange format , 2005, 16th IEEE International Workshop on Rapid System Prototyping (RSP'05).

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

[27]  Mickaël Raulet,et al.  Exploiting Statically Schedulable Regions in Dataflow Programs , 2011, J. Signal Process. Syst..

[28]  Shuvra S. Bhattacharyya,et al.  Software synthesis from the dataflow interchange format , 2005, SCOPES '05.

[29]  Mickaël Raulet,et al.  Exploring the Concurrency of an MPEG RVC Decoder Based on Dataflow Program Analysis , 2009, IEEE Transactions on Circuits and Systems for Video Technology.

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

[31]  Won Yong Sung,et al.  Demonstration of Codesign Workflow in PeaCE , 1997 .

[32]  Ghislain Roquier,et al.  Software Code Generation for the RVC-CAL Language , 2011, J. Signal Process. Syst..