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