<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
    <title>Project-Team:AOSTE</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Research Program - The AAA (Algorithm-Architecture Adequation) methodology and Real-Time Scheduling"/>
    <meta name="dc.title" content="Research Program - The AAA (Algorithm-Architecture Adequation) methodology and Real-Time Scheduling"/>
    <meta name="dc.creator" content="Laurent George"/>
    <meta name="dc.creator" content="Dumitru Potop Butucaru"/>
    <meta name="dc.creator" content="Yves Sorel"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2013-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="AOSTE"/>
  </head>
  <body>
    <div class="tdmdiv">
      <div class="logo">
        <a href="http://www.inria.fr">
          <img style="align:bottom; border:none" src="../static/img/icons/logo_INRIA-coul.jpg" alt="Inria"/>
        </a>
      </div>
      <div class="TdmEntry">
        <div class="tdmentete">
          <a href="uid0.html">Project-Team Aoste</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Embedded System Design</a></li><li><a href="./uid4.html">Highlights of the Year</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li><a href="uid6.html&#10;&#9;&#9;  ">Models of Computation and Communication (MoCCs)</a></li><li><a href="uid9.html&#10;&#9;&#9;  ">Logical Time in Model-Driven Embedded System Design</a></li><li class="tdmActPage"><a href="uid10.html&#10;&#9;&#9;  ">The AAA (Algorithm-Architecture Adequation) methodology and Real-Time Scheduling</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid14.html&#10;&#9;&#9;  ">Multicore System-on-Chip design</a></li><li><a href="uid15.html&#10;&#9;&#9;  ">Automotive and avionic embedded systems</a></li></ul></div>
      <div class="TdmEntry">Software and Platforms<ul><li><a href="uid17.html&#10;&#9;&#9;  ">TimeSquare</a></li><li><a href="uid22.html&#10;&#9;&#9;  ">K-Passa</a></li><li><a href="uid23.html&#10;&#9;&#9;  ">SynDEx</a></li><li><a href="uid24.html&#10;&#9;&#9;  ">Lopht</a></li><li><a href="uid25.html&#10;&#9;&#9;  ">SAS</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid27.html&#10;&#9;&#9;  ">Process Networks with routing for parallel architectures</a></li><li><a href="uid28.html&#10;&#9;&#9;  ">Formal analysis of MARTE Time Model and CCSL</a></li><li><a href="uid29.html&#10;&#9;&#9;  ">Logical time in Model-Driven Engineering of embedded systems</a></li><li><a href="uid30.html&#10;&#9;&#9;  ">Multiview modeling and power intent in Systems-on-chip</a></li><li><a href="uid31.html&#10;&#9;&#9;  ">Performance variability analysis on manycore architectures</a></li><li><a href="uid32.html&#10;&#9;&#9;  ">Off-line (static) mapping of real-time applications onto NoC-based many-cores</a></li><li><a href="uid33.html&#10;&#9;&#9;  ">WCET estimation for parallel code</a></li><li><a href="uid34.html&#10;&#9;&#9;  ">Real-time scheduling and code generation for time-triggered platforms</a></li><li><a href="uid35.html&#10;&#9;&#9;  ">Uniprocessor Real-Time Scheduling</a></li><li><a href="uid38.html&#10;&#9;&#9;  ">Multiprocessor Real-Time Scheduling</a></li><li><a href="uid43.html&#10;&#9;&#9;  ">Probabilistic Real-Time Systems</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid45.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid52.html&#10;&#9;&#9;  ">Regional Initiatives</a></li><li><a href="uid54.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid65.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid84.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid96.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid104.html&#10;&#9;&#9;  ">Scientific Animation</a></li><li><a href="uid126.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid182.html&#10;&#9;&#9;  ">Popularization</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentmajor" href="bibliography.html">Major publications</a>
          </li>
          <li>
            <a id="tdmbibentyear" href="bibliography.html#year">Publications of the year</a>
          </li>
          <li>
            <a id="tdmbibentfoot" href="bibliography.html#References">References in notes</a>
          </li>
        </ul>
      </div>
    </div>
    <div id="main">
      <div class="mainentete">
        <div id="head_agauche">
          <small><a href="http://www.inria.fr">
	    
	    Inria
	  </a> | <a href="../index.html">
	    
	    Raweb 
	    2013</a> | <a href="http://www.inria.fr/en/teams/aoste">Presentation of the Project-Team AOSTE</a> | <a href="http://www-sop.inria.fr/aoste/">AOSTE Web Site
	  </a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="aoste.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="aoste.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-aoste-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../aoste/aoste.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-aoste-epub.png"/>
                </a>
              </td>
            </tr>
            <tr>
              <td/>
              <td>PDF
</td>
              <td>e-Pub
</td>
            </tr>
          </table>
        </div>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid9.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid14.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
      <div id="textepage">
        <!--DEBUT2 du corps du module-->
        <h2>Section: 
      Research Program</h2>
        <h3 class="titre3">The AAA (<i>Algorithm-Architecture Adequation</i>) methodology and Real-Time Scheduling</h3>
        <p class="participants"><span class="part">Participants</span> :
	Laurent George, Dumitru Potop Butucaru, Yves Sorel.</p>
        <p>Note: The AAA methodology and the SynDEx environment are fully described at <a href="http://www.syndex.org/">http://www.syndex.org/</a> , together with <a href="http://www.syndex.org/publications/index.htm">relevant publications</a> .</p>
        <a name="uid11"/>
        <h4 class="titre4">Algorithm-Architecture Adequation</h4>
        <p>The <a href="http://www.syndex.org/">AAA methodology</a>  relies on distributed
real-time scheduling and relevant optimization to connect an
Algorithm/Application model to an Architectural one. We now describe its
premises and benefits.</p>
        <p>The Algorithm model is an extension of the well known data-flow model from
Dennis <a href="./bibliography.html#aoste-2013-bid15">[63]</a> . It is a directed acyclic hyper-graph (DAG) that we
call “conditioned factorized data dependence graph”, whose vertices are
“operations” and hyper-edges are directed “data or control dependences”
between operations. The data dependences define a partial order on the
operations execution. The basic data-flow model was extended in three
directions: first infinite (resp. finite) repetition of a sub-graph pattern in
order to specify the reactive aspect of real-time systems (resp. in order to
specify the finite repetition of a sub-graph consuming different data similar
to a loop in imperative languages), second “state” when data dependences are
necessary between different infinite repetitions of the sub-graph pattern
introducing cycles which must be avoided by introducing specific vertices
called “delays” (similar to <span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mi>z</mi><mrow><mo>-</mo><mi>n</mi></mrow></msup></math></span> in automatic control), third
“conditioning” of an operation by a control dependence similar to conditional
control structure in imperative languages, allowing the execution of
alternative subgraphs. Delays combined with conditioning allow the programmer
to specify automata necessary for describing “mode changes”.</p>
        <p>The Architecture model is a directed graph, whose vertices are of two types:
“processor” (one sequencer of operations and possibly several sequencers of
communications) and “medium” (support of communications), and whose edges are
directed connections.</p>
        <p>The resulting implementation model <a href="./bibliography.html#aoste-2013-bid16">[9]</a>  is obtained by
an external compositional law, for which the architecture graph operates on the
algorithm graph. Thus, the result of such compositional law is an algorithm
graph, "architecture-aware", corresponding to refinements of the initial
algorithm graph, by computing spatial (distribution) and timing (scheduling)
allocations of the operations onto the architecture graph resources. In that
context "Adequation" refers to some search amongst the solution space of
resulting algorithm graphs, labelled by timing characteristics, for one
algorithm graph which verifies timing constraints and optimizes some criteria,
usually the total execution time and the number of computing resources (but
other criteria may exist). The next section describes distributed real-time
schedulability analysis and optimization techniques for that purpose.</p>
        <a name="uid12"/>
        <h4 class="titre4">Distributed Real-Time Scheduling and Optimization</h4>
        <p>We address two main issues: uniprocessor and multiprocessor real-time
scheduling where constraints must mandatorily be met, otherwise dramatic
consequences may occur (hard real-time) and where resources must be minimized
because of embedded features.</p>
        <p>In the case of uniprocessor real-time scheduling, besides the classical
deadline constraint, often equal to a period, we take into consideration
dependences beetween tasks and several, latencies. The latter are complex
related “end-to-end” constraints. Dealing with multiple real-time constraints
raises the complexity of the scheduling problems. Moreover, because the
preemption leads, at least, to a waste of resources due to its approximation in
the WCET (Worst Execution Time) of every task, as proposed by Liu and Leyland
<a href="./bibliography.html#aoste-2013-bid17">[68]</a> , we first studied non-preemtive real-time scheduling
with dependences, periodicities, and latencies constraints. Although a bad
approximation of the preemption cost, may have dramatic consequences on
real-time scheduling, there are only few researches on this topic. We have been
investigating preemptive real-time scheduling since few years, and we focus on
the exact cost of the preemption. We have integrated this cost in the
schedulability conditions that we propose, and in the corresponding scheduling
algorithms. More generally, we are interested in integrating in the
schedulability analyses the cost of the RTOS (Real-Time Operating System), for
which the cost of preemption is the most difficult part because it varies
according to the instance (job) of each task.</p>
        <p>In the case of multiprocessor real-time scheduling, we chose at the beginning
the partitioned approach, rather than the global approach, since the latter
allows task migrations whose cost is prohibitive for current commercial
processors. The partitioned approach enables us to reuse the results obtained
in the uniprocessor case in order to derive solutions for the multiprocessor
case. We consider also the semi-partitioned approach which allows only some
migrations in order to minimize the overhead they involve. In addition to
satisfy the multiple real-time constraints mentioned in the uniprocessor case,
we have to minimize the total execution time (makespan) since we deal with
automatic control applications involving feedback loops. Furthermore, the
domain of embedded systems leads to solving minimization resources
problems. Since these optimization problems are NP-hard we develop exact
algorithms (B &amp; B, B &amp; C) which are optimal for simple problems, and
heuristics which are sub-optimal for realistic problems corresponding to
industrial needs. Long time ago we proposed a very fast “greedy” heuristics
<a href="./bibliography.html#aoste-2013-bid18">[8]</a>  whose results were regularly improved, and extended with
local neighborhood heuristics, or used as initial solutions for metaheuristics.</p>
        <p>In addition to the spatial dimension (distributed) of the real-time scheduling
problem, other important dimensions are the type of communication mechanisms
(shared memory vs. message passing), or the source of control and
synchronization (event-driven vs. time-triggered). We explore real-time
scheduling on architectures corresponding to all combinations of the above
dimensions. This is of particular impact in application domains such as
automotive and avionics (see <a title="Automotive and avionic embedded systems" href="./uid15.html">
	4.2</a> ).</p>
        <p>The arrival of complex hardware responding to the increasing demand for
computing power in next generation systems exacerbates the limitations of the
current worst-case real-time reasoning. Our solution to overcome these
limitations is based on the fact that worst-case situations may have a
extremely low probability of appearance within one hour of functioning
(<span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mn>10</mn><mrow><mo>-</mo><mn>45</mn></mrow></msup></math></span> <a href="./bibliography.html#aoste-2013-bid19">[17]</a> ), compared to the certification
requirements for instance (<span class="math"><math xmlns="http://www.w3.org/1998/Math/MathML"><msup><mn>10</mn><mrow><mo>-</mo><mn>9</mn></mrow></msup></math></span> for the highest level of certification in
avionics ). Thus we model and analyze the real-time systems using
probabilistic models and we propose results that are fundamental for the
probabilistic worst-case reasoning over a given time window.
</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid9.html" accesskey="P"><img style="align:bottom; border:none" alt="previous" src="../static/img/icons/previous_motif.jpg"/> Previous | </a>
          <a href="./uid0.html" accesskey="U"><img style="align:bottom; border:none" alt="up" src="../static/img/icons/up_motif.jpg"/>  Home</a>
          <a href="./uid14.html" accesskey="N"> | Next <img style="align:bottom; border:none" alt="next" src="../static/img/icons/next_motif.jpg"/></a>
        </div>
        <br/>
      </div>
    </div>
  </body>
</html>
