A New Compilation Flow for Software-Defined Radio Applications on Heterogeneous MPSoCs

The advent of portable software-defined radio (sdr) technology is tightly linked to the resolution of a difficult problem: efficient compilation of signal processing applications on embedded computing devices. Modern wireless communication protocols use packet processing rather than infinite stream processing and also introduce dependencies between data value and computation behavior leading to dynamic dataflow behavior. Recently, parametric dataflow has been proposed to support dynamicity while maintaining the high level of analyzability needed for efficient real-life implementations of signal processing computations. This article presents a new compilation flow that is able to compile parametric dataflow graphs. Built on the llvm compiler infrastructure, the compiler offers an actor-based C++ programming model to describe parametric graphs, a compilation front end for graph analysis, and a back end that currently matches the Magali platform: a prototype heterogeneous MPSoC dedicated to LTE-Advanced. We also introduce an innovative scheduling technique, called microscheduling, allowing one to adapt the mapping of parametric dataflow programs to the specificities of the different possible MPSoCs targeted. A specific focus on fifo sizing on the target architecture is presented. The experimental results show compilation of 3gpp lte-advanced demodulation on Magali with tight memory size constraints. The compiled programs achieve performance similar to handwritten code.

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

[2]  Vikram S. Adve,et al.  LLVM: a compilation framework for lifelong program analysis & transformation , 2004, International Symposium on Code Generation and Optimization, 2004. CGO 2004..

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

[4]  Mohamed Benazouz,et al.  Liveness evaluation of a Cyclo-Static DataFlow Graph , 2013, 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC).

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

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

[7]  Henk Corporaal,et al.  Analyzing synchronous dataflow scenarios for dynamic software-defined radio applications , 2011, 2011 International Symposium on System on Chip (SoC).

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

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

[10]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[11]  Marc Geilen,et al.  The earlier the better: a theory of timed actor interfaces , 2011, HSCC '11.

[12]  Kevin Marquet,et al.  A compilation flow for parametric dataflow: Programming model, scheduling, and application to heterogeneous MPSoC , 2014, 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

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

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

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

[16]  Sander Stuijk,et al.  Buffer Sizing for Rate-Optimal Single-Rate Data-Flow Scheduling Revisited , 2010, IEEE Transactions on Computers.

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

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

[19]  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).

[20]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[21]  Gerard J. Holzmann,et al.  An improvement in formal verification , 1994, FORTE.

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

[23]  Shuvra S. Bhattacharyya,et al.  Parameterized dataflow modeling of DSP systems , 2000, 2000 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.00CH37100).

[24]  Patrice Quinton,et al.  Structured Scheduling of Recurrence Equations: Theory and Practice , 2002, Embedded Processor Design Challenges.

[25]  Henk J. Sips,et al.  Disciplined Multi-core Programming in C , 2010, PDPTA.

[26]  Jean-François Nezan,et al.  Just-in-time scheduling techniques for multicore signal processing systems , 2014, 2014 IEEE Global Conference on Signal and Information Processing (GlobalSIP).

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

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

[29]  Orlando Moreira,et al.  Mode-Controlled Dataflow based modeling & analysis of a 4G-LTE receiver , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[30]  Maarten Wiggers,et al.  Aperiodic multiprocessor scheduling for real-time stream processing applications , 2009 .

[31]  Yu Wang,et al.  An efficient technique for analysis of minimal buffer requirements of synchronous dataflow graphs with model checking , 2009, CODES+ISSS '09.

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

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

[34]  Angelika Mueller Formal Modeling And Analysis Of Timed Systems , 2016 .

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

[36]  Sander Stuijk,et al.  Liveness and Boundedness of Synchronous Data Flow Graphs , 2006, 2006 Formal Methods in Computer Aided Design.

[37]  Marc Geilen,et al.  Performance Model Checking Scenario-Aware Dataflow , 2011, FORMATS.

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

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

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

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

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

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

[44]  David Gregg,et al.  Orchestrating stream graphs using model checking , 2013, ACM Trans. Archit. Code Optim..

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

[46]  Wei Tong,et al.  Hard-Real-Time Scheduling on a Weakly Programmable Multi-core Processor with Application to Multi-standard Channel Decoding , 2012, 2012 IEEE 18th Real Time and Embedded Technology and Applications Symposium.

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

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

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

[50]  Pieter H. Hartel,et al.  Scheduling Optimisations for SPIN to Minimise Buffer Requirements in Synchronous Data Flow , 2008, 2008 Formal Methods in Computer-Aided Design.

[51]  Maxime Pelcat,et al.  Preesm: A dataflow-based rapid prototyping framework for simplifying multicore DSP programming , 2014, 2014 6th European Embedded Design in Education and Research Conference (EDERC).

[52]  Fabien Clermidy,et al.  A Communication and configuration controller for NoC based reconfigurable data flow architecture , 2009, 2009 3rd ACM/IEEE International Symposium on Networks-on-Chip.

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