<html><head><META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>7. Systèmes de programmation pour GNU/Linux</title><link href="style.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.68.1" name="generator"><link rel="start" href="index.html" title="Guide pratique de l'informatique scientifique avec des logiciels libres sous GNU/Linux"><link rel="up" href="index.html" title="Guide pratique de l'informatique scientifique avec des logiciels libres sous GNU/Linux"><link rel="prev" href="ar01s06.html" title="6. Graphiques et visualisation"><link rel="next" href="ar01s08.html" title="8. Traitements de texte et outils de présentation sous Linux "></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">7. Systèmes de programmation pour GNU/Linux</th></tr><tr><td align="left" width="20%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><th align="center" width="60%"> </th><td align="right" width="20%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="systems"></a>7. Systèmes de programmation pour GNU/Linux</h2></div></div></div><p> Vous trouverez dans cette section des liens vers des didacticiels et des documents pour installer Linux sur un PC, comment débuter sur Linux et comment aller encore un peu plus loin : comment optimiser votre PC pour en utiliser toute la puissance de traitement, comment utiliser de multiples processeurs (traitement symétrique multi-processeurs - SMP), comment créer un cluster Linux bon marché et évolutif et finalement on vous donnera des liens pour réaliser de la programmation parallèle sur Linux. </p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="GNULinuxWS"></a>7.1. La station de travail GNU/Linux</h3></div></div></div><p> Comme pour une grande partie de la documentation sur GNU/Linux, la page web du <a href="http://tldp.org" target="_top">projet de documentation de Linux</a> est une source inestimable (vous pouvez également consulter son équivalent francophone <a href="http://www.traduc.org" target="_top">Traduc</a>). Vous pouvez commencer par lire le <a href="http://www.traduc.org/docs/howto/lecture/Installation-HOWTO.html" target="_top">guide d'installation de Linux</a>. Pour ceux qui veulent installer Linux et Windows conjointement, allez voir le <a href="http://www.traduc.org/docs/howto/lecture/Linux+Windows-HOWTO.html" target="_top">guide Linux + Windows</a>. Lorsque vous installez Linux assurez vous de choisir d'installer toute la documentation. Après l'installation, un bon document, très complet pour commencer à utiliser Linux est le <a href="http://www.icon.co.za/~psheer/book/" target="_top">The Rute Users Tutorial and Exposition</a> ; c'est un guide pour ceux qui débutent avec les systèmes Linux et UNIX. J'aimerais donner un lien moins intimidant (point de vue taille) vers un petit guide pour débutants, mais vous le trouverez utile une fois dans le bain. Vous pouvez aussi consulter le <a href="http://www.traduc.org/docs/guides/lecture/sag/html/" target="_top">guide de l'administrateur système Linux</a> ou le <a href="http://www.traduc.org/docs/guides/lecture/lame/linux-admin-made-easy/html/" target="_top">guide de l'administration Linux faite facile</a>. Il tente de décrire les problèmes d'administration et de maintenance rencontrés au jour le jour par les administrateurs système Linux. </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="PPSMP"></a>7.2. 7.2. Traitement symétrique parallèle multi-processeurs : introduction aux super-calculateurs</h3></div></div></div><p> Il est possible d'effectuer de très grands volumes d'opérations sans dépenser des millions de roupies dans un super-calculateur. Vous avez seulement besoin de connecter entre-eux (via un réseau rapide) le nombre requis de processeurs gérés avec GNU/Linux comme système d'exploitation. Ajoutez à cela des logiciels de passage de messages disponibles librement et vous obtenez une machine parallèle efficace avec des possibilités étendues de calcul. De telles grappes d'ordinateurs sont appelées "clusters Beowulf". L'autre avantage d'une telle grappe, en plus de son faible coût de construction, est la faiblesse de ses coûts de mise à jour. La meilleure ressource pour ceux qui veulent construire un cluster Linux est : <a href="http://www.beowulf.org" target="_top">la page web du projet Beowulf</a>. Ce site est mis à jour régulièrement avec des informations utiles pour construire des grappes. </p><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="ppdocs"></a>7.2.1. Liens vers des documents sur le calcul parallèle</h4></div></div></div><p> Je vous propose de lire cet excellent article écrit par Joe Greenseid, intitulé <a href="http://freshmeat.net/articles/view/458/" target="_top"><span class="foreignphrase"><em class="foreignphrase">Linux Clustering Software</em></span>, logiciels pour grappes de calcul Linux</a>, et la grande quantité de liens qu'il fournit. Je compte visiter ses différents liens et les ajouter dans ce guide. </p><p> D'autres liens vers des documents libres pour le traitement parallèle sont donnés ici : </p><div class="itemizedlist"><ul type="disc"><li><p> <a href="http://www.traduc.org/docs/howto/lecture/Beowulf-HOWTO.html" target="_top">Le guide de Beowulf</a> : ce document constitue une introduction à l'architecture des super-ordinateurs Beowulf ; il fournit des informations de fond sur la programmation parallèle, y compris des liens vers d'autres documents plus spécifiques ainsi que des pages web. Mais avant cela, si vous désirez comprendre le traitement symétrique parallèle multi-processeurs sous Linux, allez voir les documents suivants : </p></li><li><p> <a href="http://www.traduc.org/docs/howto/lecture/Parallel-Processing-HOWTO.html" target="_top"> Le guide du traitement parallèle sous Linux</a> </p></li><li><p> <a href="http://www.traduc.org/docs/howto/lecture/SMP-HOWTO.html" target="_top"> Le guide du traitement symétrique multi-processeurs</a> </p></li></ul></div></div><div class="sect3" lang="fr"><div class="titlepage"><div><div><h4 class="title"><a name="PPSW"></a>7.2.2. Logiciels parallèles pour Linux</h4></div></div></div><p> Maintenant, après avoir lu les documents précédents, vous avez une idée de ce qu'est le calcul parallèle. Les bibliothèques parallèles sont le coeur du traitement parallèle dans une grappe de calcul Linux. Il y a plusieurs versions libres de bibliothèques de calcul parallèle. Puisque le but de ce type de calcul est la performance, elles ont de beaux outils fonctionnels pour analyser la performance de vos programmes parallèles. Vous trouverez ci-dessous une série de liens vers ces bibliothèques de programmes et vers des outils. </p><div class="itemizedlist"><ul type="disc"><li><p> <a href="http://www-unix.mcs.anl.gov/mpi" target="_top"><span class="foreignphrase"><em class="foreignphrase">Message Passing Interface</em></span>, interface de passage de messages</a> : MPI est un ensemble de spécifications standards pour des bibliothèques de passage de messages. Le document ci-dessus propose de nombreux liens vers des documents sur le standard, etc. Une bibliothèque MPI pour Linux, appelée <a href="http://www-unix.mcs.anl.gov/mpi/mpich" target="_top">mpich</a>, est aussi disponible sur ce site. Il existe de nombreux documents pour <a href="http://www-unix.mcs.anl.gov/mpi/tools.html" target="_top">apprendre à utiliser MPI</a>. </p></li><li><p> <a href="http://www.lam-mpi.org/" target="_top"><span class="foreignphrase"><em class="foreignphrase">Local Area Multicomputer</em></span></a> : LAM (calcul multi-stations pour réseaux locaux) est un environnement de programmation MPI et un système de développement pour réseaux d'ordinateurs hétérogènes. Avec LAM, une grappe (de calcul) dédiée ou une infrastructure de calcul en réseau existante peut agir comme un seul ordinateur parallèle résolvant un problème. LAM fournit des possibilités étendues de débogage dans le cycle de développement de l'application et des performances de pointe pour les applications de production. LAM met en oeuvre le standard de communication MPI dans son intégralité. Vous pouvez télécharger les sources (tar-zippées, rpm) ou les binaires <a href="http://www.lam-mpi.org/download/" target="_top">ici</a>. Une série de liens vers des didacticiels pour MPI et aussi un manuel pour commencer à travailler avec LMA sont disponibles <a href="http://www.lam-mpi.org/tutorials/" target="_top">ici</a>. </p></li><li><p> <a href="http://www.epm.ornl.gov/pvm/pvm_home.html" target="_top"><span class="foreignphrase"><em class="foreignphrase">Parallel Virtual Machine</em></span>, machine parallèle virtuelle</a> : comme expliqué sur la page web de PVM, c'est un outil logiciel qui permet à une série hétérogène d'ordinateurs sous Unix et/ou sous Windows NT reliés entre-eux par un réseau d'être utilisés comme un seul gros ordinateur parallèle. Dès lors, de grands calculs peuvent être effectués plus économiquement en utilisant la puissance et la mémoire regroupées de nombreux ordinateurs. Le logiciel est portable sur de nombreuses plateformes. Les sources, qui sont disponibles sur netlib, ont été compilées sur toutes sortes de machines depuis des ordinateurs portables jusqu'à des CRAY. </p></li><li><p> <a href="http://ganglia.sourceforge.net" target="_top">Ganglia</a> : Ganglia est un environnement libre de surveillance et d'exécution de grappes, développé dans le département de science informatique de l'Université de Californie de Berkeley. Comme décrit dans le lien précédent : « <span class="quote">Ganglia est aussi simple à installer et à utiliser dans une grappe de 16 noeuds que dans une en possédant 512, comme cela a été prouvé sur de nombreuses grappes de plus de 500 noeuds</span> ». Il peut non seulement lier des noeuds dans une grappe, mais aussi lier des grappes entre elles. </p></li></ul></div></div></div></div><div class="navfooter"><hr><table summary="Navigation footer" width="100%"><tr><td align="left" width="40%"><a accesskey="p" href="ar01s06.html">Précédent</a> </td><td align="center" width="20%"> </td><td align="right" width="40%"> <a accesskey="n" href="ar01s08.html">Suivant</a></td></tr><tr><td valign="top" align="left" width="40%">6. Graphiques et visualisation </td><td align="center" width="20%"><a accesskey="h" href="index.html">Sommaire</a></td><td valign="top" align="right" width="40%"> 8. Traitements de texte et outils de présentation sous Linux </td></tr></table></div></body></html>