Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 2732

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Le traitement en parall&egrave;le sous Linux</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><meta name="description" content="

Le traitement en parall&egrave;le 
(Parallel Processing) se 
r&eacute;f&egrave;re &agrave; l'id&eacute;e d'acc&eacute;l&eacute;rer l'ex&eacute;cution d'un programme en divisant 
celui-ci en plusieurs fragments pouvant &ecirc;tre ex&eacute;cut&eacute;s simultan&eacute;ment, 
chacun sur son propre processeur, un programme ex&eacute;cut&eacute; sur 
N processeurs pouvant alors fonctionner 
N fois plus vite qu'il le ferait en utilisant un 
seul processeur. Ce document traite des quatre approches de base du 
traitement en parall&egrave;le accessibles aux utilisateurs de Linux&nbsp;: les 
syst&egrave;mes Linux SMP, les grappes 
(cluster) de syst&egrave;mes 
Linux mis en r&eacute;seau, l'ex&eacute;cution en parall&egrave;le avec utilisation des 
instructions multim&eacute;dia (ex&nbsp;: MMX), et l'utilisation des 
processeurs secondaires embarqu&eacute;s dans une machine fonctionnant sous 
Linux.

"><link rel="start" href="index.html" title="Le traitement en parall&egrave;le sous Linux"><link rel="next" href="ar01s01.html" title="1.&nbsp;Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table summary="Navigation header" width="100%"><tr><th align="center" colspan="3">Le traitement en parall&egrave;le sous Linux</th></tr><tr><td align="left" width="20%">&nbsp;</td><th align="center" width="60%">&nbsp;</th><td align="right" width="20%">&nbsp;<a accesskey="n" href="ar01s01.html">Suivant</a></td></tr></table><hr></div><div class="article" lang="fr"><div class="titlepage"><div><div><h1 class="title"><a name="N10001"></a>Le traitement en parall&egrave;le sous Linux</h1></div><div><h3 class="subtitle"><i>
      Version fran&ccedil;aise du <span class="foreignphrase"><em class="foreignphrase">Parallel Processing HOWTO</em></span>
   </i></h3></div><div><div class="author"><h3 class="author"><span class="firstname">Hank</span> <span class="surname">Dietz</span></h3><code class="email">&lt;<a href="mailto:hankd CHEZ engr POINT uky POINT edu">hankd CHEZ engr POINT uky POINT edu</a>&gt;</code></div></div><div><p class="othercredit"><span class="contrib">Adaptation fran&ccedil;aise</span>&nbsp;: <span class="firstname">Dominique</span> <span class="surname">van den Broeck</span></p></div><div><p class="othercredit"><span class="contrib">Relecture de la version fran&ccedil;aise</span>&nbsp;: <span class="firstname">Isabelle</span> <span class="surname">Hurbain</span></p></div><div><p class="othercredit"><span class="contrib">Pr&eacute;paration de la publication de la v.f.</span>&nbsp;: <span class="firstname">Jean-Philippe</span> <span class="surname">Gu&eacute;rard</span></p></div><div><p class="releaseinfo">Version&nbsp;: 980105.fr.1.1</p></div><div><p class="pubdate">4 septembre 2005</p></div><div><div class="revhistory"><table summary="Revision history" width="100%" border="1"><tr><th colspan="3" valign="top" align="left"><b>Historique des versions</b></th></tr><tr><td align="left">Version 980105.fr.1.1</td><td align="left">2005-09-04</td><td align="left">DV</td></tr><tr><td colspan="3" align="left">Quelques am&eacute;liorations mineures de la version 
          fran&ccedil;aise</td></tr><tr><td align="left">Version 980105.fr.1.0</td><td align="left">2004-09-13</td><td align="left">DV, IH, JPG</td></tr><tr><td colspan="3" align="left">Premi&egrave;re traduction fran&ccedil;aise</td></tr><tr><td align="left">Version 980105</td><td align="left">1998-01-05</td><td align="left">HGD</td></tr><tr><td colspan="3" align="left">Version originale</td></tr></table></div></div><div><div class="abstract"><p class="title"><b>R&eacute;sum&eacute;</b></p><p>

Le <span class="emphasis"><em>traitement en parall&egrave;le</em></span> 
(&laquo;&nbsp;<span class="quote"><span class="foreignphrase"><em class="foreignphrase">Parallel Processing</em></span></span>&nbsp;&raquo;) se 
r&eacute;f&egrave;re &agrave; l'id&eacute;e d'acc&eacute;l&eacute;rer l'ex&eacute;cution d'un programme en divisant 
celui-ci en plusieurs fragments pouvant &ecirc;tre ex&eacute;cut&eacute;s simultan&eacute;ment, 
chacun sur son propre processeur, un programme ex&eacute;cut&eacute; sur 
<span class="emphasis"><em>N</em></span> processeurs pouvant alors fonctionner 
<span class="emphasis"><em>N</em></span> fois plus vite qu'il le ferait en utilisant un 
seul processeur. Ce document traite des quatre approches de base du 
traitement en parall&egrave;le accessibles aux utilisateurs de Linux&nbsp;: les 
syst&egrave;mes Linux SMP, les grappes 
(&laquo;&nbsp;<span class="quote"><span class="foreignphrase"><em class="foreignphrase">cluster</em></span></span>&nbsp;&raquo;) de syst&egrave;mes 
Linux mis en r&eacute;seau, l'ex&eacute;cution en parall&egrave;le avec utilisation des 
instructions multim&eacute;dia (ex&nbsp;: MMX), et l'utilisation des 
processeurs secondaires embarqu&eacute;s dans une machine fonctionnant sous 
Linux.

</p></div></div></div><hr></div><div class="toc"><p><b>Table des mati&egrave;res</b></p><dl><dt><span class="sect1"><a href="ar01s01.html">1. Introduction</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s01.html#N1009A">1.1. Le traitement en parall&egrave;le correspond-il &agrave; mes besoins&nbsp;?</a></span></dt><dt><span class="sect2"><a href="ar01s01.html#N100C3">1.2. Terminologie</a></span></dt><dt><span class="sect2"><a href="ar01s01.html#N1021D">1.3. Algorithme d'exemple</a></span></dt><dt><span class="sect2"><a href="ar01s01.html#N1023D">1.4. Structure du document</a></span></dt><dt><span class="sect2"><a href="ar01s01.html#N1027A">1.5. Note du traducteur</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar01s02.html">2. Linux sur SMP</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s02.html#N102FD">2.1. L'&eacute;lectronique SMP</a></span></dt><dt><span class="sect2"><a href="ar01s02.html#N1034E">2.2. Introduction &agrave; la programmation en m&eacute;moire partag&eacute;e</a></span></dt><dt><span class="sect2"><a href="ar01s02.html#N10564">2.3. bb_threads</a></span></dt><dt><span class="sect2"><a href="ar01s02.html#N10601">2.4. LinuxThreads</a></span></dt><dt><span class="sect2"><a href="ar01s02.html#N1066C">2.5. La m&eacute;moire partag&eacute;e de System V</a></span></dt><dt><span class="sect2"><a href="ar01s02.html#N106D8">2.6. Projection m&eacute;moire (<span class="foreignphrase"><em class="foreignphrase">Memory Map Call</em></span>)</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar01s03.html">3. <span class="foreignphrase"><em class="foreignphrase">Clusters</em></span> de syst&egrave;mes Linux</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s03.html#N1071A">3.1. Pourquoi un <span class="foreignphrase"><em class="foreignphrase">cluster</em></span>&nbsp;?</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N1078F">3.2. Le mat&eacute;riel r&eacute;seau</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N10E23">3.3. Interface Logicielle R&eacute;seau</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N10EEF">3.4. PVM (&laquo;&nbsp;<span class="quote"><span class="foreignphrase"><em class="foreignphrase">Parallel Virtual Machine</em></span></span>&nbsp;&raquo;)</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N10F38">3.5. MPI (&laquo;&nbsp;<span class="quote"><span class="foreignphrase"><em class="foreignphrase">Message Passing Interface</em></span></span>&nbsp;&raquo;)</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N10FF0">3.6. AFAPI (&laquo;&nbsp;<span class="quote"><span class="foreignphrase"><em class="foreignphrase">Aggregate Function API</em></span></span>&nbsp;&raquo;)</a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N11022">3.7. Autres biblioth&egrave;ques de gestion de <span class="foreignphrase"><em class="foreignphrase">clusters</em></span></a></span></dt><dt><span class="sect2"><a href="ar01s03.html#N11073">3.8. R&eacute;f&eacute;rences g&eacute;n&eacute;rales aux <span class="foreignphrase"><em class="foreignphrase">clusters</em></span></a></span></dt></dl></dd><dt><span class="sect1"><a href="ar01s04.html">4. SIMD <span class="foreignphrase"><em class="foreignphrase">Within A Register</em></span>&nbsp;: SWAR (Ex&nbsp;: utilisation de MMX)</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s04.html#N111DA">4.1. Quels usages pour le SWAR&nbsp;?</a></span></dt><dt><span class="sect2"><a href="ar01s04.html#N1121A">4.2. Introduction &agrave; la programmation SWAR</a></span></dt><dt><span class="sect2"><a href="ar01s04.html#N113E5">4.3. SWAR MMX sous Linux</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar01s05.html">5. Processeurs auxiliaires des machines Linux</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s05.html#N11443">5.1. Un PC Linux est une bonne station d'accueil</a></span></dt><dt><span class="sect2"><a href="ar01s05.html#N1145E">5.2. Avez-vous essay&eacute; le DSP&nbsp;?</a></span></dt><dt><span class="sect2"><a href="ar01s05.html#N114A8">5.3. Calcul &agrave; l'aide des FPGA et circuits logiques reconfigurables</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar01s06.html">6. D'int&eacute;r&ecirc;t g&eacute;n&eacute;ral</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar01s06.html#N114D6">6.1. Compilateurs et langages de programmation</a></span></dt><dt><span class="sect2"><a href="ar01s06.html#N11635">6.2. Question de performance</a></span></dt><dt><span class="sect2"><a href="ar01s06.html#N11662">6.3. Conclusion &mdash; C'est fini&nbsp;!</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td align="right" width="40%">&nbsp;<a accesskey="n" href="ar01s01.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">&nbsp;</td><td align="center" width="20%">&nbsp;</td><td valign="top" align="right" width="40%">&nbsp;1.&nbsp;Introduction</td></tr></table></div></body></html>