<?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>Team:TADAAM</title>
    <link rel="stylesheet" href="../static/css/raweb.css" type="text/css"/>
    <meta name="description" content="Research Program - Need for System-Scale Optimization"/>
    <meta name="dc.title" content="Research Program - Need for System-Scale Optimization"/>
    <meta name="dc.subject" content=""/>
    <meta name="dc.publisher" content="INRIA"/>
    <meta name="dc.date" content="(SCHEME=ISO8601) 2016-01"/>
    <meta name="dc.type" content="Report"/>
    <meta name="dc.language" content="(SCHEME=ISO639-1) en"/>
    <meta name="projet" content="TADAAM"/>
    <script type="text/javascript" src="https://raweb.inria.fr/rapportsactivite/RA2016/static/MathJax/MathJax.js?config=TeX-MML-AM_CHTML">
      <!--MathJax-->
    </script>
  </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">Team Tadaam</a>
        </div>
        <span>
          <a href="uid1.html">Members</a>
        </span>
      </div>
      <div class="TdmEntry">
        <a href="./uid3.html">Overall Objectives</a>
      </div>
      <div class="TdmEntry">Research Program<ul><li class="tdmActPage"><a href="uid12.html&#10;&#9;&#9;  ">Need for System-Scale Optimization</a></li><li><a href="uid15.html&#10;&#9;&#9;  ">Scientific Challenges and Research Issues</a></li></ul></div>
      <div class="TdmEntry">Application Domains<ul><li><a href="uid17.html&#10;&#9;&#9;  ">Mesh-based applications</a></li></ul></div>
      <div class="TdmEntry">
        <a href="./uid24.html">Highlights of the Year</a>
      </div>
      <div class="TdmEntry">New Software and Platforms<ul><li><a href="uid26.html&#10;&#9;&#9;  ">NetLoc</a></li><li><a href="uid30.html&#10;&#9;&#9;  ">NewMadeleine</a></li><li><a href="uid34.html&#10;&#9;&#9;  ">PaMPA</a></li><li><a href="uid46.html&#10;&#9;&#9;  ">SCOTCH</a></li><li><a href="uid51.html&#10;&#9;&#9;  ">TreeMatch</a></li><li><a href="uid56.html&#10;&#9;&#9;  ">hwloc</a></li></ul></div>
      <div class="TdmEntry">New Results<ul><li><a href="uid62.html&#10;&#9;&#9;  ">Network Modeling</a></li><li><a href="uid63.html&#10;&#9;&#9;  ">Communication and computation overlap</a></li><li><a href="uid64.html&#10;&#9;&#9;  ">Topology Aware Performance Monitoring</a></li><li><a href="uid65.html&#10;&#9;&#9;  ">Locality Aware Roofline Model</a></li><li><a href="uid66.html&#10;&#9;&#9;  ">Performance Analysis of Electromagnetic Field Application on Large SMP Node</a></li><li><a href="uid67.html&#10;&#9;&#9;  ">Structural Modeling of
Heterogeneous Memory Architectures</a></li><li><a href="uid68.html&#10;&#9;&#9;  ">Scalable Management of Platform
Topologies</a></li><li><a href="uid69.html&#10;&#9;&#9;  ">MPI One-side operations</a></li><li><a href="uid70.html&#10;&#9;&#9;  ">Topology and affinity aware hierarchical and distributed load-balancing</a></li><li><a href="uid71.html&#10;&#9;&#9;  ">Topology-Aware Data Aggregation for Intensive I/O on Large-Scale Supercomputers</a></li><li><a href="uid72.html&#10;&#9;&#9;  ">Communication monitoring in OpenMPI</a></li><li><a href="uid73.html&#10;&#9;&#9;  ">Process Placement with TreeMatch</a></li><li><a href="uid74.html&#10;&#9;&#9;  ">Topology Aware Resource Management</a></li><li><a href="uid75.html&#10;&#9;&#9;  ">Impact of progress threads placement for MPI Non-Blocking Collectives</a></li><li><a href="uid76.html&#10;&#9;&#9;  ">Hierarchical Communication Management in MPI</a></li><li><a href="uid77.html&#10;&#9;&#9;  ">Fully-abstracted approach for efficient thread binding in task-based model of programming</a></li><li><a href="uid78.html&#10;&#9;&#9;  ">Multi-criteria graph partitioning for
multi-physics simulations load balancing</a></li><li><a href="uid79.html&#10;&#9;&#9;  ">Scotch</a></li><li><a href="uid80.html&#10;&#9;&#9;  ">PaMPA</a></li><li><a href="uid81.html&#10;&#9;&#9;  ">Originality of software works</a></li></ul></div>
      <div class="TdmEntry">Bilateral Contracts and Grants with Industry<ul><li><a href="uid83.html&#10;&#9;&#9;  ">Bilateral Contract with CEA</a></li><li><a href="uid84.html&#10;&#9;&#9;  ">Bilateral Grant with Bull/Atos</a></li><li><a href="uid85.html&#10;&#9;&#9;  ">Bilateral Grant with Onera</a></li><li><a href="uid86.html&#10;&#9;&#9;  ">Bilateral Grant with EDF</a></li><li><a href="uid87.html&#10;&#9;&#9;  ">Bilateral Grant with Intel</a></li></ul></div>
      <div class="TdmEntry">Partnerships and Cooperations<ul><li><a href="uid89.html&#10;&#9;&#9;  ">National Initiatives</a></li><li><a href="uid102.html&#10;&#9;&#9;  ">European Initiatives</a></li><li><a href="uid127.html&#10;&#9;&#9;  ">International Initiatives</a></li><li><a href="uid148.html&#10;&#9;&#9;  ">International Research Visitors</a></li></ul></div>
      <div class="TdmEntry">Dissemination<ul><li><a href="uid153.html&#10;&#9;&#9;  ">Promoting Scientific Activities</a></li><li><a href="uid169.html&#10;&#9;&#9;  ">Teaching - Supervision - Juries</a></li><li><a href="uid186.html&#10;&#9;&#9;  ">Popularization</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 
	    2016</a> | <a href="http://www.inria.fr/en/teams/tadaam">Presentation of the Team TADAAM</a></small>
        </div>
        <div id="head_adroite">
          <table class="qrcode">
            <tr>
              <td>
                <a href="tadaam.xml">
                  <img style="align:bottom; border:none" alt="XML" src="../static/img/icons/xml_motif.png"/>
                </a>
              </td>
              <td>
                <a href="tadaam.pdf">
                  <img style="align:bottom; border:none" alt="PDF" src="IMG/qrcode-tadaam-pdf.png"/>
                </a>
              </td>
              <td>
                <a href="../tadaam/tadaam.epub">
                  <img style="align:bottom; border:none" alt="e-pub" src="IMG/qrcode-tadaam-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="./uid3.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="./uid15.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">Need for System-Scale Optimization</h3>
        <p>Firstly, in order for applications to make the best possible use of the available
resources, it is impossible to expose all the low-level details of the hardware
to the program, as it would make impossible to achieve portability. Hence, the
standard approach is to add intermediate layers (programming models, libraries,
compilers, runtime systems, etc.) to the software stack so as to bridge the gap
between the application and the hardware. With this approach, optimizing the
application requires to express its parallelism (within the imposed programming
model), organize the code, schedule and load-balance the computations, etc. In
other words, in this approach, the way the code is written and the way it is
executed and interpreted by the lower layers drives the optimization. In any
case, this approach is centered on how computations are performed. Such
an approach is therefore no longer sufficient, as the way an application is
executing does depend less and less on the organization of computation and more
and more on the way its data is managed.</p>
        <p>Secondly, modern large-scale parallel platforms comprise tens to hundreds of
thousand nodes (More than 22,500 XE6 compute node for the BlueWaters
system; 5040 B510 Bullx Nodes for the Curie machine; more than 49,000
BGQ nodes for the MIRA machine.). However, very few applications use
the whole machine. In general, an application runs only on a subset of
the nodes (In 2014, the median case was 2048 nodes for the
BlueWaters system and, for the first year of the Curie machine, the
median case was 256 nodes). Therefore, most of the time, an
application shares the network, the storage and other resources with other
applications running concurrently during its execution. Depending on
the allocated resources, it is not uncommon that the execution of one
application interferes with the execution of a neighboring one.</p>
        <p>Lastly, even if an application is running alone, each element of
the software stack often performs its own optimization
independently. For instance, when considering an hybrid MPI/OpenMP
application, one may realize that threads are concurrently used within the
OpenMP runtime system, within the MPI library for communication
progression, and possibly within the computation library (BLAS) and
even within the application itself (pthreads). However, none of these
different classes of threads are aware of the existence of the others.
Consequently, the way they are executed, scheduled, prioritized does
not depend on their relative roles, their locations in the software
stack nor on the state of the application.</p>
        <p>The above remarks show that in order to go beyond the
state-of-the-art, it is necessary to design a new set of mechanisms
allowing cross-layer and system-wide optimizations so as to optimize
the way data is allocated, accessed and transferred by the application.
</p>
      </div>
      <!--FIN du corps du module-->
      <br/>
      <div class="bottomNavigation">
        <div class="tail_aucentre">
          <a href="./uid3.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="./uid15.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>
