A Compilation Flow for Parametric Dataflow: Programming Model

A Compilation Flow for Parametric Dataflow: Programming Model

A Compilation Flow for Parametric Dataflow: Programming Model, Scheduling, and Application to Heterogeneous MPSoC Mickaël Dardaillon, Kevin Marquet, Tanguy Risset, Jérôme Martin, Henri-Pierre Charles To cite this version: Mickaël Dardaillon, Kevin Marquet, Tanguy Risset, Jérôme Martin, Henri-Pierre Charles. A Compi- lation Flow for Parametric Dataflow: Programming Model, Scheduling, and Application to Hetero- geneous MPSoC. International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES), Oct 2014, New Dehli, India. pp.1-10, 10.1145/2656106.2656110. hal-01048649 HAL Id: hal-01048649 https://hal.archives-ouvertes.fr/hal-01048649 Submitted on 5 Aug 2014 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. A Compilation Flow for Parametric Dataflow: Programming Model, Scheduling, and Application to Heterogeneous MPSoC Mickael¨ Dardaillon ∗ Kevin Jer´ omeˆ Martin Henri-Pierre Charles Marquet Tanguy Risset Univ. Grenoble Alpes, Univ. Grenoble Alpes, Universite´ de Lyon, Inria, F-38000 Grenoble, France F-38000 Grenoble, France INSA-Lyon, CITI-Inria, CEA, LETI, Minatec campus, CEA, LIST, Minatec campus, F-69621 Villeurbanne, France F-38054 Grenoble, France F-38054 Grenoble, France fi[email protected] [email protected] [email protected] Abstract 1. Introduction Efficient programming of signal processing applications on embed- Implementation of signal processing algorithms in the dataflow ded systems is a complex problem. High level models such as Syn- programming model is an active research area, and many popular chronous dataflow (SDF) have been privileged candidates for deal- signal processing environments (Simulink, Labview, etc.) already ing with this complexity. These models permit to express inherent use this paradigm. Dataflow programming models are natural can- application parallelism, as well as analysis for both verification and didates for streaming applications. They allow both static analy- optimization. Parametric dataflow models aim at providing suffi- sis and explicit parallelism, making them suitable for embedded cient dynamicity to model new applications, while at the same time applications such as packet processing, cryptography, telecommu- maintaining the high level of analyzability needed for efficient real nications, video decoding, etc. This is of particular interest in the life implementations. wireless digital telecommunication domain where implementation This paper presents a new compilation flow that targets para- of wireless protocol has to be computationally efficient and pre- metric dataflows. Built on the LLVM compiler infrastructure, it of- dictable for real time communication, but also energy efficient to fers an actor based C++ programming model to describe paramet- be embedded in mobile phones. ric graphs, a compilation front-end providing graph analysis fea- “Advanced” 4G (e.g. LTE-Advanced) and forthcoming 5G wire- tures, and a retargetable back-end to map the application on real less protocols, the advent of SDR technologies and the development hardware. This paper gives an overview of this flow, with a spe- of cognitive radio networks reveal new challenges for expressing cific focus on scheduling. The crucial gap between dataflow mod- and compiling wireless applications. The physical layer of wire- els and real hardware on which actor firing is not atomic, as well less protocols have a dynamic behavior and require fast dynamic as the consequences on FIFOs sizing and execution pipelining are reconfigurations which are not possible with today’s wireless de- taken into account.The experimental results illustrate our compila- vices. These technological trends have re-activated past research tion flow applied to compilation of 3GPP LTE-Advanced demodu- axes such as dynamic dataflow compiling or distributed signal pro- lation on a heterogeneous MPSoC with distributed scheduling fea- cessing algorithm. In particular, the need for flexible but still ver- tures. This achieves performances similar to time-consuming hand ifiable programs has led very recently to the appearance of new made optimizations. parametric dataflow Models of Computation (MoC). A typical example to illustrate dataflow dynamicity comes from Categories and Subject Descriptors D.3.2 [Programming Lan- LTE-Advanced: the type of modulation used to decode samples guages]: Language Classifications—Data-flow languages; D.3.3 in a LTE-Advanced frame (i.e. QPSK, 16-QAM, etc.) is indicated [Programming Languages]: Processors—Retargetable compilers within the frame itself. Hence the hardware should be able to adapt to this modulation within a few micro-seconds. Classical dataflow programming models that cannot express dynamic behavior need Keywords data flow, programming model, heterogeneous MP- to be extended [7]. SoC, compiler, scheduling LTE-Advanced decoding, as well as 5G telecommunications protocols, will run on dedicated system on chip (SoC) with suffi- ∗ cient processing power (order of 40 GOPS for LTE-Advanced [12, This work is sponsored by Region´ Rhoneˆ Alpes ADR 11 01302401. 31]) and reasonable power consumption (less than 500 mW). The challenge with these SoCs is to set up a real compilation flow that takes advantage of the hardware acceleration while retaining porta- bility. There already exist some implementations of LTE-Advanced being commercially deployed. Unfortunately these implementa- tions are highly dedicated to a single architecture and are usually manually tuned to meet the hard performance and power-efficiency constraints. Our proposal is a step towards a more generic ap- proach: compiling SDR waveforms from high level dataflow rep- resentations rather than manual tuning. The contributions provided by this work are: 1 2014/8/5 1. A new high level format for expressing parametric dataflow Front-End Back-End graphs based on semi-static actors. This format permits to ex- Reduced dataflow press parametrized dataflow graphs in an high level program- Mapping ming model so as to describe, for instance, a MIMO receiver graph (c++) with N antennas (detailed hereafter). As N should be known before compilation we refer to this format as semi-static. C++ Front-End Scheduling 2. A new static analysis paradigm called micro-schedule that (CLang) permits a more precise analysis of deadlock when mapping parametrized data-flow graph to real architecture. We have used model checking to show the applicability of our micro- Reduced dataflow buffer check schedule paradigm to the specific problem of advanced actor graph (LLVM IR) (SPIN) pipelining in the context of dedicated target architecture with small buffers. dataflow graph Code 3. The first complete compilation flow for the Magali platform [11]. construction generation Magali programs are usually tuned by hand. Our compilation framework has been instantiated for the Magali architecture (with part of it still being manual, such as mapping for in- Extended dataflow SoC code stance) and we obtain performance of the compiled programs graph (ASM) which are roughly equivalent to manually tuned programs. This highlights the fact that our generic compilation framework can adapt to very dedicated architectures such as Magali. Figure 1. Proposed compilation flow from dataflow to heteroge- neous SoC. The paper is organized as follows: section 2 present our compi- lation framework, sections 3 and 4 present parametric synchonous dataflow and the micro-schedule proposal. Experimental results are 2.1.1 Parametric Dataflow Format presented in section 5 and related work are presented in section 6. The input format follows the Schedulable Parametric DataFlow (SPDF) model of computation propose by Fradet et al. in [16]. 2. Overview of Compilation Framework In a dataflow graph (DFG), from the classical dataflow model of In this section, we describe simultaneously the input format used to computation, the integers on the arcs represent the number of express parametric dataflow graphs and the compilation flow that samples produced or consumed by the actor at each execution. we have built to compile these programs. A dataflow compilation In SPDF, this number can be a symbolic parameter whose value framework should compile high level specifications of a dataflow is produced by an actor. A simple SPDF graph is represented on representation (we use the parametric dataflow paradigm) and pro- Fig. 2b, the set p[1] indicates that the actor A produces a new duce the executable codes needed to program the target platform. value for parameter p each time it fires. Also, the graph indicates To be retargetable, it should also take as input a description of the that actor A defines p and then output 2p data. target architecture. As the target architecture often contains dedi- cated processors, we use the term “hardware IP” (or simply IP for //actors declaration intellectual property) to refer the various kind of processors (gen- class A : public Actor { eral or dedicated) that are present in the target machine. public: Our dataflow compilation framework, illustrated in Fig. 1, is PortOut<int> out; ParamOut p; split into two phases:

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    11 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us