A compilation flow for parametric dataflow: Programming model, scheduling, and application to heterogeneous MPSoC

Efficient programming of signal processing applications on embedded systems is a complex problem. High level models such as Synchronous dataflow (SDF) have been privileged candidates for dealing with this complexity. These models permit to express inherent application parallelism, as well as analysis for both verification and optimization. Parametric dataflow models aim at providing sufficient dynamicity to model new applications, while at the same time maintaining the high level of analyzability needed for efficient real life implementations. This paper presents a new compilation flow that targets parametric dataflows. Built on the LLVM compiler infrastructure, it offers an actor based C++ programming model to describe parametric graphs, a compilation front-end providing graph analysis features, and a retargetable back-end to map the application on real hardware. This paper gives an overview of this flow, with a specific focus on scheduling. The crucial gap between dataflow models and real hardware on which actor firing is not atomic, as well as the consequences on FIFOs sizing and execution pipelining are taken into account. The experimental results illustrate our compilation flow applied to compilation of 3GPP LTE-Advanced demodulation on a heterogeneous MPSoC with distributed scheduling features. This achieves performances similar to time-consuming hand made optimizations.

[1]  Antoine Fraboulet,et al.  Digital Front-End in Wireless Communication and Broadcasting: Programming models and implementation platforms for software defined radio configuration , 2011 .

[2]  Hyunseok Lee,et al.  SODA: A Low-power Architecture For Software Radio , 2006, 33rd International Symposium on Computer Architecture (ISCA'06).

[3]  Pascal Fradet,et al.  A framework to schedule parametric dataflow applications on many-core platforms , 2013, LCTES '14.

[4]  William Thies,et al.  Phased scheduling of stream programs , 2003, LCTES '03.

[5]  Kevin Marquet,et al.  PinaVM: a systemC front-end based on an executable intermediate representation , 2010, EMSOFT '10.

[6]  Kevin Marquet,et al.  Compilation for heterogeneous SoCs : bridging the gap between software and target-specific mechanisms , 2014, HiPEAC 2014.

[7]  Rainer Leupers,et al.  Component-based waveform development: the Nucleus tool flow for efficient and portable software defined radio , 2011 .

[8]  Jeffrey H. Reed,et al.  Open-source SCA-based core framework and rapid development tools enable software-defined radio education and research , 2009, IEEE Communications Magazine.

[9]  Vincent David,et al.  ΣC: A Programming Model and Language for Embedded Manycores , 2011, ICA3PP.

[10]  Kevin Marquet,et al.  Cognitive Radio Programming: Existing Solutions and Open Issues , 2013 .

[11]  Sander Stuijk,et al.  Minimising buffer requirements of synchronous dataflow graphs with model checking , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[12]  J. Zyren Overview of the 3 GPP Long Term Evolution Physical Layer , 2007 .

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

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

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

[16]  Fabien Clermidy,et al.  An Open and Reconfigurable Platform for 4G Telecommunication: Concepts and Application , 2009, 2009 12th Euromicro Conference on Digital System Design, Architectures, Methods and Tools.

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

[18]  Hyunseok Lee,et al.  The Next Generation Challenge for Software Defined Radio , 2007, SAMOS.

[19]  Claudio Brunelli,et al.  Analyzing models of computation for software defined radio applications , 2008, 2008 International Symposium on System-on-Chip.

[20]  Pascal Fradet,et al.  SPDF: A schedulable parametric data-flow MoC , 2012, 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[21]  Preeti Ranjan Panda,et al.  SystemC - a modeling platform supporting multiple design abstractions , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[22]  Soonhoi Ha,et al.  Multi-objective mapping optimization via problem decomposition for many-core systems , 2012, 2012 IEEE 10th Symposium on Embedded Systems for Real-time Multimedia.

[23]  Trevor Mudge,et al.  SPEX: A Programming Language for Software Defined Radio , 2006 .

[24]  Pascal Fradet,et al.  BPDF: A statically analyzable dataflow model with integer and boolean parameters , 2013, 2013 Proceedings of the International Conference on Embedded Software (EMSOFT).

[25]  M P CardosoJoão,et al.  Compiling for reconfigurable computing , 2010 .

[26]  Rabéa Ameur-Boulifa,et al.  DiplodocusDF, a Domain-Specific Modelling Language for Software Defined Radio Applications , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[27]  Pedro C. Diniz,et al.  Compiling for reconfigurable computing: A survey , 2010, CSUR.

[28]  Sander Stuijk,et al.  Scenario-aware dataflow: Modeling, analysis and implementation of dynamic applications , 2011, 2011 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[29]  Christian Bernard,et al.  A 477mW NoC-based digital baseband for MIMO 4G SDR , 2010, 2010 IEEE International Solid-State Circuits Conference - (ISSCC).