<?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:MOAIS</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Research Program - Scheduling"/>
    <meta name="dc.title" content="Research Program - Scheduling"/>
    <meta name="dc.creator" content="Pierre-François Dutot"/>
    <meta name="dc.creator" content="Guillaume Huard"/>
    <meta name="dc.creator" content="Grégory Mounié"/>
    <meta name="dc.creator" content="Jean-Louis Roch"/>
    <meta name="dc.creator" content="Denis Trystram"/>
    <meta name="dc.creator" content="Frédéric Wagner"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2015-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="MOAIS"/>
    <!-- Piwik -->
    <script type="text/javascript" src="/rapportsactivite/piwik.js"></script>
    <noscript><p><img src="//piwik.inria.fr/piwik.php?idsite=49" style="border:0;" alt="" /></p></noscript>
    <!-- End Piwik Code -->
  </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 Moais</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">Overall Objectives<ul><li><a href="./uid3.html">Preamble</a></li><li><a href="./uid4.html">Objectives</a></li></ul></div>
      <div class="TdmEntry">Research Program<ul><li class="tdmActPage"><a href="uid13.html&#10;&#9;&#9;  ">Scheduling</a></li><li><a href="uid14.html&#10;&#9;&#9;  ">Adaptive Parallel and Distributed Algorithms Design</a></li><li><a href="uid20.html&#10;&#9;&#9;  ">Interactivity</a></li><li><a href="uid27.html&#10;&#9;&#9;  ">Adaptive middleware for code coupling and data movements</a></li></ul></div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid31.html&#10;&#9;&#9;  ">FlowVR</a></li><li><a href="uid35.html&#10;&#9;&#9;  ">K'Star</a></li><li><a href="uid39.html&#10;&#9;&#9;  ">KAAPI</a></li><li><a href="uid42.html&#10;&#9;&#9;  ">KaStORS</a></li><li><a href="uid46.html&#10;&#9;&#9;  ">LinBox</a></li><li><a href="uid50.html&#10;&#9;&#9;  ">OAR</a></li><li><a href="uid55.html&#10;&#9;&#9;  ">QuickCSG</a></li><li><a href="uid60.html&#10;&#9;&#9;  ">Triva</a></li><li><a href="uid64.html&#10;&#9;&#9;  ">XKaapi</a></li><li><a href="uid67.html&#10;&#9;&#9;  ">TakTuk</a></li><li><a href="uid72.html&#10;&#9;&#9;  ">Platforms</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid76.html&#10;&#9;&#9;  ">TABARNAC: Tools for Analyzing Behavior of Applications Running on NUMA Architecture. </a></li><li><a href="uid77.html&#10;&#9;&#9;  ">Computing the Rank Profile Matrix</a></li><li><a href="uid78.html&#10;&#9;&#9;  ">Parallel Algebraic Linear Algebra Dedicated Interface</a></li><li><a href="uid79.html&#10;&#9;&#9;  ">Communication models insights meet simulations </a></li><li><a href="uid80.html&#10;&#9;&#9;  ">Adaptive Resource and Job Management for Limited Power Consumption</a></li><li><a href="uid81.html&#10;&#9;&#9;  ">Lessons Learned from Building In Situ Coupling Frameworks</a></li><li><a href="uid82.html&#10;&#9;&#9;  ">Design and analysis of scheduling strategies for multi-CPU and multi-GPU architectures</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid84.html&#10;&#9;&#9;  ">Bilateral Contracts with Industry</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid87.html&#10;&#9;&#9;  ">Regional Initiatives</a></li><li><a href="uid89.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid106.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid166.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid196.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid208.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid242.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li></ul></div>
      <div class="TdmEntry">
        <div>Bibliography</div>
      </div>
      <div class="TdmEntry">
        <ul>
          <li>
            <a id="tdmbibentyear" href="bibliography.html">Publications of the year</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 
	    2015</a> | <a href="http://www.inria.fr/en/teams/moais">Presentation of the Project-Team MOAIS</a> | <a href="http://www-id.imag.fr/MOAIS">MOAIS Web Site
	  </a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="moais.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="moais.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-moais-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../moais/moais.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-moais-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="./uid4.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">Scheduling</h3>
        <p class="participants"><span class="part">Participants</span> :
	Pierre-François Dutot, Guillaume Huard, Grégory Mounié, Jean-Louis Roch, Denis Trystram, Frédéric Wagner.</p>
        <p>
          <i>The goal of this theme is to determine adequate multi-criteria objectives
which are efficient (precision, reactivity, speed) and to study scheduling algorithms
to reach these objectives. </i>
        </p>
        <p>In the context of parallel and distributed processing, the term <i>scheduling</i> is
used with many acceptations. In general, scheduling means assigning tasks of a program (or processes) to the
various components of a system (processors, communication links).</p>
        <p>Researchers within MOAIS have been working on this subject for many years.
They are known for their multiple contributions
for determining the target dates
and processors the tasks of a parallel program should be executed;
especially regarding execution models
(taking into account inter-task communications or any other system features) and
the design of efficient algorithms (for which there exists a performance guarantee
relative to the optimal scheduling).</p>
        <p><b>Parallel tasks model and extensions.</b>
We have contributed to the definition and promotion of modern task models: parallel moldable tasks and divisible load.
For both models, we have developed new techniques to derive efficient scheduling algorithms
(with a good performance guaranty).
We proposed recently some extensions taking into account machine unavailabilities (reservations).</p>
        <p><b>Multi-objective Optimization.</b>
A natural question while designing practical scheduling algorithms is "which criterion should
be optimized ?". Most existing works have been developed for minimizing the
<i>makespan</i> (time of the latest tasks to be executed).
This objective corresponds to a system administrator view who
wants to be able to complete all the waiting jobs as soon as possible.
The user, from his-her point of view, would be more interested in minimizing
the average of the completion times (called <i>minsum</i>) of the whole set of
submitted jobs.
There exist several other objectives which may be pertinent for specific use.
We worked on the problem of designing scheduling algorithms that
optimize simultaneously several objectives with a theoretical guarantee on each objective.
The main issue is that most of the policies are good for one criterion but bad
for another one.</p>
        <p class="notaparagraph">We have proposed an algorithm that is guaranteed for both <i>makespan</i>
and <i>minsum</i>. This algorithm has been implemented for managing the resources of a cluster
of the regional grid CIMENT.
More recently, we extended such analysis to other objectives (makespan and reliability).
We concentrate now on finding good algorithms able to schedule a set of jobs with a large variety
of objectives simultaneously.
For hard problems, we propose approximation of Pareto curves (best compromises).</p>
        <p><b>Uncertainties.</b>
Most of the new execution supports are characterized by a higher complexity in predicting
the parameters (high versatility in desktop grids, machine crash, communication congestion,
cache effects, etc.). We studied some time ago the impact of uncertainties on the scheduling algorithms.
There are several ways for dealing with this problem: First, it is possible to design robust algorithms
that can optimize a problem over a set of scenarii, another solution is to design flexible algorithms.
Finally, we promote semi on-line approaches that start from an optimized off-line solution
computed on an initial data set and updated during the execution on the "perturbed" data
(stability analysis).</p>
        <p><b>Game Theory.</b>
Game Theory is a framework that can be used for obtaining good solution of both previous problems
(multi-objective optimization and uncertain data).
On the first hand, it can be used as a complement of multi-objective analysis.
On the other hand, it can take into account the uncertainties.
Finally, we are working at formalizing the concept of cooperation.</p>
        <p><b>Scheduling for optimizing parallel time and memory space.</b>
It is well known that parallel time and memory space are two antagonists criteria.
However, for many scientific computations, the use of parallel architectures
is motivated by increasing both the computation power and the memory space.
Also, scheduling for optimizing both parallel time and memory space targets an
important multicriteria objective.
Based on the analysis of the dataflow related to the execution, we have proposed a scheduling algorithm with provable performance.</p>
        <p><b>Coarse-grain scheduling of fine grain multithreaded computations
on heterogeneous platforms.</b>
Designing multi-objective scheduling algorithms is a transversal problem.
Work-stealing scheduling is well studied for fine grain multithreaded computations
with a small critical time: the speed-up is asymptotically optimal.
However, since the number of tasks to manage is huge, the control of the scheduling is
expensive.
We proposed a generalized lock-free cactus stack execution mechanism, to
extend previous results, mainly from Cilk, based on the
<i>work-first principle</i> for strict multi-threaded computations on SMPs
to general multithreaded computations with dataflow dependencies.
The main result is that optimizing the sequential local executions of tasks enables to
amortize the overhead of scheduling. This distributed work-stealing
scheduling algorithm has been implemented in <b>XKaapi</b>.</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid4.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>
