Code Search for Developers
 
 
  

beowulf.html from Gulus at Krugle


Show beowulf.html syntax highlighted

<PRE>
Grappes d'ordinateurs Linux de type Beowulf
-------------------------------------------

                            Benoît des Ligneris
                 benoit.des.ligneris at physique.usherb.ca

                 Date: 2002/03/05 10:01:35 - Revision: 1.4

Table des matières

     * [1]Qu'est-ce qu'une grappe d'ordinateurs ?
          + [2]Haute Performance - [High Performance (HA)]
          + [3]Équilibrage de charge - [Load Balancing]
          + [4]Haute Disponibilité - [High Disponibility (HA)]
     * [5]Historique : Pourquoi Linux !
          + [6]Qu'est-ce qu'une grappe de type Beowulf
          + [7]Historique des Beowulf
          + [8]Linux partout ?
          + [9]Pourquoi Linux
     * [10]Conclusion

  Résumé:

   Les grappes d'ordinateurs ou [clusters] sont en train de connaître un
   développement majeur, en particulier celles qui utilisent le système
   d'exploitation à source ouverte Linux.

   Les raisons sont multiples :
     * L'interconnexion des ordinateurs de la planète justifie de plus en
       plus une approche de type grappe (dans ce cas on parle même de
       grille [grid]).
     * Les besoins en capacité de calcul vont beacoup plus vite que
       l'accroissement de la vitesse des processeurs dans tous les
       domaines : physique, biologie/génétique, intelligence
       artificielle, météo, animations, recherche, ...
     * La croissance du traffic sur internet est de de 100% tous les six
       mois. Cette croissance est à comparer à la loi de Moore qui
       indique que la puissance des processeurs double tous les 18 mois.
       L'approche ordinateur unique (et gigantesque) est donc dépassée
       pour les projets d'envergure.

   Dans ce premier article nous allons voir ce qu'est une grappe
   d'ordinateurs et quels services elle peut rendre.

                    Qu'est-ce qu'une grappe d'ordinateurs ?

   S'il est important d'essayer de définir précisément ce qu'est une
   grappe d'ordinateur, ce n'est pas chose facile : les experts en
   parralélisme et les experts en calcul distribué ne parviennent pas à
   se mettre d'accord aussi n'entrerons nous pas dans cette guerre de
   clocher plutôt stérile.

   La définition la plus générale est la suivante : c'est un groupe
   d'ordinateur reliés entre eux présentant, sous certains conditions,
   l'apparence d'une ressource informatique unique.

Haute Performance - [High Performance (HA)]

   Ce premier type de grappe est le plus ancien. L'idée ici est de relier
   des ordinateurs entre eux afin de bénéficier d'une puissance de calcul
   accrue. Un logiciel de gestion de travaux [q]ueuing system donne à
   l'utilisateur l'impression d'utiliser un ordinateur unique.

   Il est ainsi possible de traiter des problèmes complexes, à condition
   qu'ils soit possible de les fractionner en petites parties s'exécutant
   sur un des noeuds de la grappe de calcul. Voici quelques applications
   de ce premier type de grappe : la prédiction du temps (météo), la
   cryptographie (briser un code), des éléments finis (calcul de
   structure, mouvement des plaques tectoniques, astronomie, ...),
   physique du solide, ...

Équilibrage de charge - [Load Balancing]

   Ici, l'idée est d'utiliser plusieurs ordinateurs pour équilibrer la
   charge sur l'ensemble des ordinateurs de la grappe. Ceci permet
   d'avoir des temps de réponse et une capacité de gérer un grand nombre
   de requètes par seconde bien plus importante qu'un serveur unique. Ce
   type de grappe est d'un intérêt majeur pour les sites ayant un traffic
   très important.

   Des exemples concrets incluent le moteur de recherche google
   (www.google.com) qui sert plus de 150 millions de pages par jour
   (desservies par plus de 10.000 PC Linux ;-).

Haute Disponibilité - [High Disponibility (HA)]

   L'idée ici est de fournir un service 24h/24h et ce tout le temps. Dans
   le jargon informatique on appelle cela le temps de fontionnement sans
   panne [uptime]. Dans le milieu des télécommunications par exemple, il
   est nécessaire d'être en état de marche 99.999999% du temps soit moins
   de 0.3 seconde de panne par an.

   Un cluster permet de réaliser cela en multipliant le nombre de
   machines capables de rendre le service souhaité et en développant un
   mécanisme de détection de panne qui permet à une machine ``valide'' de
   remplacer une machine en panne en un temps très court (de l'ordre de
   la ms en général).

   L'utilisateur n'a alors absolument pas conscience que le service lui
   est rendu depuis une autre machine et encore moins que c'est une
   grappe qui lui a répondu.

                         Historique : Pourquoi Linux !

   Avant d'essayer de répondre à cette question, nous allons nous
   concentrer sur un type précis de grappe.

Qu'est-ce qu'une grappe de type Beowulf

   En fait, les grappes de calcul dont je vais parler sont de type
   "Beowulf". Bien qu'il n'y ait pas de définition précise de ce qu'est
   exactement une grappe Beowulf, on peut tout de même dire qu'une grappe
   est dite de type Beowulf si elle n'utilise que des composants standard
   [Components Of The Shelf (COTS)] c'est à dire des équipements qui
   seraient à leur place dans des PC de bureau au moment de leur achat.

   Cette définition est donc très variable au cours du temps.

Historique des Beowulf

   Un petit historique des Beowulfs s'impose. La ``preuve de concept''
   des machines de type Beowulf a été réalisé en 1994 par Thomas Sterling
   et Donald Becker. Leur cluster, baptisé Wiglaf, avait 16 noeuds qui
   étaient constitués d'un 80486 à 100MHz, 16 Mb de RAM et d'un disque
   dur de 540 Mb à 1 Gb chacuns. Chaque noeud était un PC "de bureau"
   tout à fait classique incluant la boite métallique. Les noeuds
   communiquaient entre eux à l'aide de cartes ethernet 10 Mb et, presque
   naturellement, leur système d'exploitation était ... Linux (RedHat
   5.0).

   Le point d'engorgement du système était constitué par le réseau. Des
   cartes ethernet ont donc été rajoutées à chaque machine pour faire de
   l'agrégat de bande passante [Channel Bonding] afin de contourner cette
   limitation ``physique'' et ainsi augmenter drastiquement les
   performances du cluster.

Linux partout ?

   Le reigne des superordinateurs semble terminé et il suffit de
   consulter les sites de référence comme top500.org. Les plus puissants
   ordinateurs au monde sont des grappes (ordinateurs de type SP de IBM)
   et cela ne va pas changer tout de suite. Il ne s'agit pas de grappes
   de type Beowulf mais à priori rien ne s'oppose à ce que les Beowulf
   deviennent dans un avenir prôche les plus puissantes machines au
   monde : se sont eux qui offrent le meilleur rapport puissance sur
   prix.

   Devant cette véritable révolution, un autre outil d'analyse (et un
   autre classement donc) réservé aux grappes Beowulf a été créé :
   clusters.top500.org Sur les 50 Beowulf les plus puissantes on retrouve
   45 grappes utilisant Linux ce qui représente 90% des 50 Beowulf les
   plus puissantes au monde !

   Ainsi, Linux s'est imposé comme le standard de facto pour réaliser des
   grappes.

Pourquoi Linux

   La première raison est le prix. En effet, réaliser une grappe où
   chaque composante logiciel est payante est quasiment impossible.
   Imaginez payer 1000 licences windows pour simplement avoir le droit de
   faire marcher votre super-ordinateur !

   La seconde est la position de Linux dans le mileu informatique. Linux
   est issu du monde des serveurs et il supporte donc une myriade de
   protocoles obscurs et complexes ce qui lui permet de se comporter très
   efficacement dans un environnement comme celui des grappes
   d'ordinateurs. Le système (Linux donc!) se doit d'être un joint très
   versatile qui permet de relier facilement et efficacement tous les
   noeuds de la grappe afin de présenter à l'usager et aux
   administrateurs l'image d'un système unique (Single System Image)

   La troisième est lié au fait que Linux est constitué d'un ensemble de
   logiciels libres et ou à sources ouvertes. Cet aspect est capital car
   les Beowulf étant révolutionnaires lors de leur invention ils
   nécessitaient (et nécessitent toujours !) de créer des logiciels de
   très bas niveau. Il est impossible de créer ces logiciels spécialisés
   ``par dessus'' un système d'exploitation dont les sources sont
   inconnues.

   Enfin, Linux est bien positionné dans le monde académique. Le concept
   même de grappe Beowulf étant issu de ce mileu, Linux a été utilisé
   comme base pour le développement des grappes. Ceci fait qu'il existe
   aujourd'hui une base très solide de développeurs et d'utilisateurs de
   logiciels pour les grappes Linux.

                                  Conclusion

   Nous avons vu quels services pouvaient rendre une grappe d'ordinateurs
   (Haute Performance, Équilibrage de Charge et Haute Disponiblité) ainsi
   que l'historique des grappes de type Bewoulf.

   Linux est le système de référence pour ces superordinateurs du futur.
   Beowulf, héros mythique des saga scandinave était le neveu de Hygelac
   roi de la tribu des Geats. Il a défait le monstre cannibale Grendel
   qui menaçait d'anéantir cette tribu.

   Nul doute que Linux et les grappes de type Beowulf sauront défaire
   d'ici quelques années superordinateurs au cours d'une saga qui ne
   manquera ni d'héroïsme ni de combats !

   Les raisons sont financières et technologiques : le coût de
   développement des microprocesseurs est tel qu'il ne restera plus, à
   moyen terme, qu'une famille de microprocesseur (les autres éyant
   cantonnée à un marché de niche) ce qui va faciliter la création de
   grappes Beowulf en diminuant encore leur rapport puissance sur prix.

</PRE>




See more files for this project here

Gulus

Groupe d\'Utilisateurs de Linux de l\'Universit? de Sherbrooke. http://www.gulus.org/

Project homepage: http://sourceforge.net/projects/gulus
Programming language(s): PHP,Shell Script
License: other

  acces_securitaire_grappes.html
  beowulf.html
  cadrejuridique.html
  cross_compiler.html
  digests_net.html
  lexyacc.html
  metadatafs.html
  qubits.html