<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Data ow-based Adaptation Framework with Coarse-Grained Recon gurable Accelerators?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudio Rubattu</string-name>
          <email>claudio.rubattu@insa-rennes.fr</email>
          <email>claudio.rubattu@uniss.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Sassari</institution>
          ,
          <addr-line>07100 Sassari, Italy Univ Rennes, INSA Rennes, IETR, UMR CNRS 6164, 35708 Rennes</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Today, the demand of adaptive systems is constantly growing, especially in hard-constrained contexts such as Cyber-Physical Systems. However, the e cient management of such platforms requires dealing with several issues such as the real-time execution, energy saving and dynamic context changes. Such strict requirements imply a high exibility of the application and of the architecture on which it is executed. Runtime managers o er the possibility to dynamically schedule and map an application on the available software processing units. However, hardware acceleration may also be necessary for computationally-intensive workloads that depend on the running functionality, additionally complicating runtime management. Coarse-Grained Recon gurable (CGR) accelerators have the ability to switch among di erent domain-speci c functionalities with a small overhead. To support energy and time adaptivity in heterogeneous systems, and to exploit multi-core architectures and CGR accelerators, this work proposes the combination of the SPIDER software runtime manager and the data ow-to-hardware MDC design suite for CGR accelerators.</p>
      </abstract>
      <kwd-group>
        <kwd>Coarse-Grained Recon guration</kwd>
        <kwd>MDC</kwd>
        <kwd>SPIDER</kwd>
        <kwd>FPGA</kwd>
        <kwd>Data ow MoC</kwd>
        <kwd>HW/SW Co-design</kwd>
        <kwd>Runtime Manager</kwd>
        <kwd>Datapath</kwd>
        <kwd>Merging</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In the last few years, besides the concepts of embedded and interconnected
systems, Cyber-Physical Systems (CPS) have become known and studied with
interest by the scienti c community. These systems are capable of monitoring and
controlling physical elements and consider heterogeneous components that
interact with each other in di erent modalities depending on the context in which
they operate. Design and maintenance of such systems are extremely complex
because of their multidisciplinary nature, the elaborate requirements, the
heterogeneity of their components and the continuous communication between physical
? This project has received funding from the European Union's Horizon 2020 research
and innovation programme under grant agreement No 732105.
and computing layers. Adaptation according to uncertain events and to
changing functional and non-functional requirements is the most important challenge
for the developers. In this context, the Cross-layer modEl-based fRamework for
multi-oBjective dEsign of Recon gurable systems in unceRtain hybRid
envirOnments (CERBERO) H20201 european project aims at developing a design
environment for CPS based on two main elements: i) a cross-layer and model-based
approach to describe, optimize and analyze the system according to di erent
views; and ii) an extended adaptivity of the calculation to the system state as
well as to its environment, adaptivity provided by an autonomous recon
guration engine. This work is mainly focused on the second CERBERO element, and,
in particular, on the study of the ability of the system to dynamically recon gure
itself according to its state and to its environment.</p>
      <p>Compared to all these approaches considered in Section 2, the proposed
framework is focused on providing a combination of the state-of-the-art
functionalities within the CERBERO project. To do that, in Section 3, an open-source
adaptive management system is proposed, portable over several embedded
software systems and heterogeneous CGR hardware accelerators. This type of CGR
units are hardware blocks that accelerate a given set of application
functionalities switching among them without signi cant recon guration time overheads.
Moreover, CGR accelerators can be implemented on both ASIC or FPGA
platforms. In order to combine these Processing Elements (PEs) with multi-core
architectures, the integration activity between the SPIDER2 data ow-based
runtime manager (see Section 2.1) and the MDC3 data ow-to-hardware suite (see
Section 2.2) has been conducted. Both tools are based on the data ow Model of
Computation (MoC) that can be used to separate temporal and functional
problems in hardware design. Moreover, modularity of the data ow representations
favors a natural splitting of the computation into di erent blocks, making it
possible to automatically map them onto heterogeneous PEs. Thus, the proposed
idea is to leverage on a software-hardware design ow to develop and manage
data ow-based autonomous recon gurable systems, as requested by the
CERBERO model-based approach to system design. Challenges and steps related to
the implementation of the integration framework are presented in Section 4.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Several tools capable of handling runtime adaptivity have been proposed in
literature. Most approaches concentrate on software management and rely on
existing software frameworks [1, 5{7, 9, 14, 15, 20, 21]. Hardware runtime adaptivity
is managed in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], in which data routing in a speci c HoneyComb processor
array hardware has been considered, and in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], in which, besides the software
runtime handling, hardware tasks can be implemented in FPGA devices.
However, among the proposed frameworks only a few are open-source and e ectively
1 http://www.cerbero-h2020.eu
2 https://github.com/preesm/spider
3 http://sites.unica.it/rpct/
available [
        <xref ref-type="bibr" rid="ref15 ref2 ref5 ref6">2, 5, 6, 15</xref>
        ]. Among these, [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] are High Performance
Computing (HPC) management systems that place themselves over large-scale facilities
composed of multiple CPUs and GPUs. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], the framework does not consider
hardware acceleration, which is today compulsory in most High Performance
Embedded Computing (HPEC) systems, such as embedded video processing
systems, embedded deep learning, telecommunication and computer vision
systems [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Although the framework presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] can handle hardware tasks,
these are speci c to Intel FPGA devices.
      </p>
      <p>As mentioned in Section 1, the proposed framework considers a combination
of the features provided by the state-of-the-art tools and consists of two existing
tools: the SPIDER runtime manager and the MDC suite.
2.1</p>
      <p>
        SPIDER
The Synchronous Parameterized and Interfaced Data ow Embedded Runtime
(SPIDER) is a runtime manager for applications described through
Parameterized and Interfaced Synchronous Data ow (PiSDF) MoC and executed on
heterogeneous multi-core architectures [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. When compared to DPN, PiSDF increases
processing and communication predictability, serving as input information for
multicore and multisystem partitioning, at the cost of some expressiveness, i.e.
some unpredictable application behaviors cannot be modeled with PiSDF. The
SPIDER runtime is currently available for ARM/Linux-based architectures, Intel
x86 platforms, Keystone II architectures from Texas Instruments, and MPPA256
from Kalray. In order to ensure independence between application and platform
levels, the SPIDER runtime structure consists of the following layers:
{ the Application Layer : that is composed of data ow actors and PiSDF
speci cations describing a stream processing application;
{ the Runtime Layer : the core of the runtime manager consisting of a master
part called global runtime (GRT), that handles scheduling and mapping
of the application, and slave elements named local runtimes (LRT), that
execute the processing of the actors depending on the current scheduling
decided by the GRT;
{ the Hardware Speci c Layer : this layer is a platform-dependent component
designed to manage the inter-core communication and synchronization.
Figure 1 shows the execution scheme of SPIDER. The GRT (master) schedules
the application (1) and sends the execution order based on the mapping decisions
(2). The LRTs (slaves) deal with the execution of the actors present in the
dedicated job queue (3). Jobs are data structures containing the information about
synchronization, data and code of the actors to properly perform one instance
of an actor in a speci c slave. The LRT can be implemented over general- or
special-purpose processors, as well as accelerators. During code execution, LRTs
exchange data tokens through a pool of data FIFOs (4). Once the processing
of the actor is completed, the LRTs send new parameter values (if any) to the
GRT (5). Indeed, a parameter value can be set dynamically by a con guration
actor mapped in a LRT, in uencing the algorithm execution. Moreover, the GRT
receives also the execution traces (the actor start and end times based on the
same timing reference) by the LRTs (6).
      </p>
      <p>Exchange
4 Dataflow</p>
      <p>Tokens</p>
      <p>Fire Actors 3
...</p>
      <sec id="sec-2-1">
        <title>Slave</title>
      </sec>
      <sec id="sec-2-2">
        <title>Slave</title>
      </sec>
      <sec id="sec-2-3">
        <title>Data Queues</title>
      </sec>
      <sec id="sec-2-4">
        <title>Pool</title>
        <sec id="sec-2-4-1">
          <title>Parameters 5 SPeatrRaemseotlevresd</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Jobs</title>
      </sec>
      <sec id="sec-2-6">
        <title>Queues</title>
      </sec>
      <sec id="sec-2-7">
        <title>Timings</title>
        <sec id="sec-2-7-1">
          <title>6 ExTeraccuetison</title>
          <p>1 Schedule
Actors</p>
        </sec>
      </sec>
      <sec id="sec-2-8">
        <title>Master</title>
        <p>
          2 Send Order
The Multi-Data ow Composer (MDC) is a toolset for the design and
development of CGR systems based on the Data ow Process Network (DPN) MoC [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
This design suite is composed of two main sub-components:
{ the Multi-Data ow Generator (MDG): a data ow-based model-to-model
compiler that, given an input set of data ow networks describing the
functionalities to be executed in hardware, generates a high-level multi-data ow
speci cation of the system leveraging on datapath merging techniques [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ];
{ the Platform Composer (PC): a data ow-to-hardware synthesizer that, given
the mentioned multi-data ow speci cation and the hardware description of
the data ow actors and the protocol used for communication among them,
generates a CGR hardware accelerator.
        </p>
        <p>
          MDC o ers also other features that optimize the generated systems and favor
their integration in real environments, such as:
{ a structural pro ler [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] that, taking into account the low level feedback
coming from a priori synthesis of the generated platform, is capable of identifying
the optimal multi-data ow con guration depending on a set of metrics (area,
power, frequency);
{ a power manager [
          <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
          ] that automatically sets power saving strategies, such
as clock- and power-gating at system modelling level;
{ a rapid prototyper [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] embedding the generated CGR systems onto
readyto-use platform-dependent IPs (for Xilinx devices).
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>CGR Adaptation Framework</title>
      <p>SPIDER and MDC show complementary characteristics that motivate their
integration. SPIDER provides software scheduling and memory management at
runtime for multi-core architectures. However, SPIDER supported processing
elements do not include recon gurable hardware blocks and adaptivity is based
on an a priori knowledge of several metrics (latency, throughput and memory
utilization) evaluated with respect to changes in software parameters. On the
contrary, MDC provides a model-to-model compiler capable of merging several
data ow applications, as well as a data ow-to-hardware synthesizer that
implements CGR systems. Moreover, MDC pro les CGR system con gurations,
providing di erent metrics (area, power, frequency) and includes a power
manager that o ers clock- and power-gating techniques.</p>
      <p>PHYSICAL</p>
      <p>PHYSICAL
PHYSICAL</p>
      <p>Model</p>
      <p>System
Environment</p>
      <p>CYBER</p>
      <p>CYBER
CYBER
Cross Layer (CPSs) System Layer</p>
      <p>Computing Layer</p>
      <p>Application</p>
      <p>Graph</p>
      <p>SPIDER</p>
      <p>Self-Scheduling Manager
Sensors</p>
      <p>Multi-ARM
SW Monitoring</p>
      <p>MDC
CGRA Adaptation Engine</p>
      <p>HW Monitoring
Through PAPI</p>
      <p>
        The proposed framework aims at exploiting the features of SPIDER and
MDC in order to respectively manage software and hardware recon gurability
at runtime. Tool integration is also based on the use of data ow models with
similar properties in order to favour the estimation of metrics such as latency,
throughput and energy. The main idea behind these metrics is to use CGR blocks
as slave processing elements in the target system, and re-schedule these
processing elements from a host processor at runtime using models of the instantaneous
hardware behavior. The adaptation architecture is illustrated in Figure 2. An
application graph, conforming to a PiSDF MoC, is dynamically scheduled by
SPIDER. Depending on the scheduling, a hardware system composed of ARM
cores and CGR accelerators (implemented in Xilinx or Intel modern SoC FPGAs)
performs the computation. Software and hardware monitoring provides feedback
to SPIDER about the current execution of the tasks. Regarding the monitoring,
this feature will be provided through the integration of Papify4, an event-based
performance monitoring tool [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and MDC5. In addition, recon
guration/rescheduling can also be triggered by sensors in order to adapt the computing layer
to the environment changes or system needs.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Open Issues and Research Plan</title>
      <p>
        The challenges that this research plan intends to address are summarized as
follows:
i) management of hardware/software adaptivity in systems for which low
energy and time overheads are required;
ii) performance predictability related to the di erent con guration of the
system;
iii) hardware/software fault robustness in architecture composed of
heterogeneous processing elements, such as ARM cores and CGR accelerators.
In order to guarantee fast recon guration and the correct execution of the
application, CGR acceleration and hardware/software monitoring will be considered
respectively. In addition, a strategy based on modeling of architecture and
chosen applications will be used to achieve energy and latency predictability, as
similarly proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>This research plan is part of the activities of the H2020 CERBERO european
project, which will be assessed in three di erent use cases among which:
planetary exploration (lead by: Thales Alenia Space), smart marine vehicles for ocean
monitoring (lead by: AmbieSense), and a smart travelling system for electric
vehicles (lead by: TNO in cooperation with Centro Ricerche Fiat). The
proposed ow will be used to test applications deriving from the scenarios of the
Thales Alenia Space and AmbieSense use cases. To build the proposed ow, the
following three steps have been envisioned:
{ Step 1. Integrate MDC and SPIDER by combining software and hardware
adaptation according to variable application parameters;
{ Step 2. Verify this approach with respect to relevant CERBERO key
performance indicators (as latency, throughput and energy);
{ Step 3. Derive a proof of concept of the proposed approach in the context of</p>
      <p>CERBERO project use case scenarios.</p>
      <p>The work done so far has been focused on the state-of-the-art adaptation tools
and open issues, the study of the tools identi ed for the integration, and the
strategies to address the problems described above.</p>
      <p>Further developments of the proposed ow will be necessary to improve the
decision-making strategy that SPIDER considers for the adaptability of the
system. The runtime manager inputs should embed a more detailed description of
4 https://github.com/Papify
5 This activity is planned within the CERBERO project and is currently ongoing.
the application to be executed and the model of the architecture on which it has
to be performed. Nevertheless, besides managing the known scenarios during the
development phase, it would be necessary to take into account also the statistical
data related to the experience over a certain period of time, in order to prevent
unexpected events at design time. This information should be based on the user
interrupts, the external environment and the hardware and software monitors.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Assayad</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Girault</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Adaptive Mapping for Multiple Applications on Parallel Architectures</article-title>
          . In: Sabir,
          <string-name>
            <surname>E.</surname>
          </string-name>
          , Garc a Armada,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ghogho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Debbah</surname>
          </string-name>
          , M. (eds.) Ubiquitous Networking. pp.
          <volume>584</volume>
          {
          <issue>595</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bragg</surname>
            ,
            <given-names>G.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leech</surname>
            ,
            <given-names>C.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balsamo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>J.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wachter</surname>
            ,
            <given-names>E.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Merrett</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Constantinides</surname>
            ,
            <given-names>G.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Al-Hashimi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>An application- and platform-agnostic control and monitoring framework for multicore systems</article-title>
          .
          <source>In: 3rd International Conference on Pervasive and Embedded Computing</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Fanni</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meloni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ra</surname>
            <given-names>o</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Palumbo</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Power and clock gating modelling in coarse grained recon gurable systems</article-title>
          .
          <source>In: Proceedings of the ACM International Conference on Computing Frontiers, CF'16</source>
          . pp.
          <volume>384</volume>
          {
          <issue>391</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fanni</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ra</surname>
            <given-names>o</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Palumbo</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Automated Power Gating Methodology for Data ow-based Recon gurable Systems</article-title>
          .
          <source>In: Proceedings of the 12th ACM International Conference on Computing Frontiers, CF'15</source>
          . pp.
          <volume>61</volume>
          :
          <issue>1</issue>
          {
          <issue>61</issue>
          :
          <issue>6</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gautier</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lima</surname>
            ,
            <given-names>J.V.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maillard</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ra n</surname>
          </string-name>
          , B.:
          <article-title>XKaapi: A Runtime System for Data-Flow Task Programming on Heterogeneous Architectures</article-title>
          .
          <source>In: 2013 IEEE 27th International Symposium on Parallel and Distributed Processing</source>
          . pp.
          <volume>1299</volume>
          {
          <issue>1308</issue>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gerostathopoulos</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bures</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hnetynka</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Keznikl</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kit</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plasil</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plouzeau</surname>
          </string-name>
          , N.:
          <article-title>Self-adaptation in software-intensive cyberphysical systems: From system goals to architecture con gurations</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>122</volume>
          ,
          <issue>378</issue>
          {
          <fpage>397</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Han,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Park</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Baek</surname>
          </string-name>
          ,
          <string-name>
            <surname>W.:</surname>
          </string-name>
          <article-title>CHRT: A criticality- and heterogeneity-aware runtime system for task-parallel applications</article-title>
          .
          <source>In: Design, Automation Test in Europe Conference Exhibition (DATE)</source>
          ,
          <year>2017</year>
          . pp.
          <volume>942</volume>
          {
          <issue>945</issue>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Heulot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pelcat</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desnos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezan</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aridhi</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>SPIDER: A Synchronous Parameterized and Interfaced Data ow-based RTOS for multicore DSPS</article-title>
          .
          <source>In: 2014 6th European Embedded Design in Education and Research Conference (EDERC)</source>
          . pp.
          <volume>167</volume>
          {
          <issue>171</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hormati</surname>
            ,
            <given-names>A.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kudlur</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rabbah</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mudge</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mahlke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Flextream:
          <article-title>Adaptive Compilation of Streaming Applications for Heterogeneous Architectures</article-title>
          .
          <source>In: 2009 18th International Conference on Parallel Architectures and Compilation Techniques</source>
          . pp.
          <volume>214</volume>
          {
          <issue>223</issue>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. Madron~al,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Morvan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Lazcano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Salvador</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Desnos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Juarez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Sanz</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          :
          <article-title>Automatic Instrumentation of Data ow Applications using PAPI</article-title>
          .
          <source>In: Proceedings of the 15th ACM International Conference on Computing Frontiers, CF'18</source>
          . pp.
          <volume>232</volume>
          {
          <issue>235</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Palumbo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fanni</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meloni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Power-Awarness in Coarse-Grained Recon gurable Multi-Functional Architectures: A Data ow Based Strategy</article-title>
          .
          <source>J. Signal Process. Syst</source>
          .
          <volume>87</volume>
          (
          <issue>1</issue>
          ),
          <volume>81</volume>
          {
          <fpage>106</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Palumbo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ra</surname>
            <given-names>o</given-names>
          </string-name>
          , L.:
          <article-title>Coarse-grained recon guration: data ow-based power management</article-title>
          .
          <source>IET Computers &amp; Digital Techniques</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <volume>36</volume>
          {
          <fpage>48</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Pelcat</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mercat</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desnos</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maggiani</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heulot</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezan</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hamidouche</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mnard</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhattacharyya</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          :
          <article-title>Reproducible Evaluation of System E ciency with a Model of Architecture: From Theory to Practice. IEEE Transactions on Computer-Aided Design of Integrated Circuits</article-title>
          and Systems pp.
          <volume>1</volume>
          {
          <issue>14</issue>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Quan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pimentel</surname>
            ,
            <given-names>A.D.:</given-names>
          </string-name>
          <article-title>A hierarchical run-time adaptive resource allocation framework for large-scale MPSoC systems</article-title>
          .
          <source>Design Automation for Embedded Systems</source>
          <volume>20</volume>
          (
          <issue>4</issue>
          ),
          <volume>311</volume>
          {
          <fpage>339</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Robson</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buch</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kale</surname>
            ,
            <given-names>L.V.</given-names>
          </string-name>
          :
          <article-title>Runtime Coordinated Heterogeneous Tasks in Charm++</article-title>
          . In: 2016
          <source>Second International Workshop on Extreme Scale Programming Models and Middleware (ESPM2)</source>
          . pp.
          <volume>40</volume>
          {
          <issue>43</issue>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Sau</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fanni</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meloni</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ra</surname>
            <given-names>o</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Palumbo</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          :
          <article-title>Recon gurable coprocessors synthesis in the MPEG-RVC domain</article-title>
          .
          <source>In: International Conference on ReConFigurable Computing and FPGAs</source>
          , ReConFig
          <year>2015</year>
          . pp.
          <volume>1</volume>
          {
          <issue>8</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Souza</surname>
          </string-name>
          , C.C.d.,
          <string-name>
            <surname>Lima</surname>
            ,
            <given-names>A.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Araujo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moreano</surname>
            ,
            <given-names>N.B.</given-names>
          </string-name>
          :
          <article-title>The Datapath Merging Problem in Recon gurable Systems: Complexity, Dual Bounds</article-title>
          and
          <string-name>
            <given-names>Heuristic</given-names>
            <surname>Evaluation</surname>
          </string-name>
          .
          <source>J. Exp. Algorithmics</source>
          <volume>10</volume>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Becker</surname>
          </string-name>
          , J.:
          <article-title>Dynamic Adaptive Runtime Routing Techniques in Multigrain Recon gurable Hardware Architectures</article-title>
          . In: Becker,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Platzner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Vernalde</surname>
          </string-name>
          , S. (eds.)
          <source>Field Programmable Logic and Application</source>
          . pp.
          <volume>115</volume>
          {
          <issue>124</issue>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>High-Performance Embedded</surname>
            <given-names>Computing</given-names>
          </string-name>
          ,
          <source>Second Edition: Applications in Cyber-Physical Systems and Mobile Computing. 2nd edn</source>
          . (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Yun</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baek</surname>
            ,
            <given-names>W.:</given-names>
          </string-name>
          <article-title>HARS: A heterogeneity-aware runtime system for self-adaptive multithreaded applications</article-title>
          .
          <source>In: 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC)</source>
          . pp.
          <volume>1</volume>
          {
          <issue>6</issue>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cao</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khan</surname>
            ,
            <given-names>S.U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hwang</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>A task-level adaptive MapReduce framework for real-time streaming data in healthcare applications</article-title>
          .
          <source>Future Generation Computer Systems 43-44</source>
          ,
          <issue>149</issue>
          {
          <fpage>160</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>